`
punishzhou
  • 浏览: 141341 次
社区版块
存档分类
最新评论

HBase编译过程中碰到的问题

阅读更多

测试环境上hbase采用maven编译,只要安装了maven就行.

在hbase目录下mvn package -Dmaven.test.skip.exec=true编译好的jar放在target

目录下,将jia包替换以后。

1.重启集群发现一个问题:HMaster启动了,但是Regionserver没有起来

 

后来分析maven编译之前时候会把依赖都下到.m2/目录下,Hbase集群在启动的时候会首先从该目录下寻找jar包,而其中的一个hadoop的core jar包与集群的hbase版本冲突,因此编译以后不能启动。

 

解决方法:对maven不了解不知道怎么去修改寻找路劲,所以采取了一个笨方法,编译结束以后删除.m2文件夹。就可以顺利启动集群了。

 

2.eclipse下maven编译hbase

 

还是maven的问题:从svn上下载下来的maven工程,直接编译报错:No goals have been specified for this build
网上查了一下,eclipse在使用maven 插件的时候需要配置defaultgoal

于是在pom.xml的build下添加<defaultgoal>install</defaultgoal>
再编译提示Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run (generate) on project hbase: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "sh":

找到<exec executable="sh"><arg line="${basedir}/src/saveVersion.sh ${project.version} ${generated.sources}" /></exec>

将其注释掉,而后执行maven build skip test,顺利编译。

copy到环境上发现hbase master起来了,而regionserver没有启动。

hbase-site.xml配置的是0.90.3而编译后的版本是0.90.2以为版本不兼容,故把hbase-site.xml修改,重启报错,启动的时候报错,default.xml 版本高于0.90.2。在代码中把验证版本的代码注释掉,而后重新编译jar,部署到环境上,base-site.xml为0.90.3此时hbase成功启动。

 

另外ms如果不对代码进行修改,直接编译的话target目录下面是不会有jar生成的,很是蛋疼

 

环境配置真是烦人啊~~~

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics