环境
jdk 1.8.0_144
maven 3.5.4
hbase 0.98.6
hadoop 2.6.0 (需要在环境变量设置hadoop home,以及放置winutils.exe到hadoop bin目录下)
开始
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<surefire.version>2.12-TRUNK-HBASE-2</surefire.version>
修改为:
<surefire.version>2.18.1</surefire.version>
-
在hbase client模块修改org.apache.hadoop.hbase.util.PoolMap类,注释掉如下红色部分。
-
在idea中选择maven package
-
如果出现类似错误(实际情况日志不是这样,我记不清具体是啥了)可以参考如下处理
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project xxx: There are test failures.
在对应pom.xml文件中配置跳过测试,如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.defaults.for.version.skip</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>D:/hbaseApp/hbase-0.98/root</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>D:/hbaseApp/hbase-0.98/tmp</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>D:/hbaseApp/hbase-0.98/zkDir</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>100001</value>
</property>
<property>
<name>zookeeper.session.timeout.localHBaseCluster</name>
<value>100002</value>
</property>
<property>
<name>hbase.zookeeper.property.maxSessionTimeout</name>
<value>500000</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60010</value><!--Hbase的Master的端口.默认: 60000-->
</property>
<property>
<name>hbase.regionserver.port</name>
<value>60020</value><!--HBase RegionServer绑定的端口,默认: 60020-->
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>60030</value><!--HBase RegionServer web 界面绑定的端口-->
</property>
</configuration>
-
将源码下的conf目录拷贝一份放到hbase-server模块src/main下,并设置为resource目录。idea中可以选中目录右键 mark derictory as
-
准备在idea中启动HMaster,先idea界面最上栏选择run-->edit configurations-->+-->application配置如下:
然后再选择run -->run hmaster,然后看日志是否有问题(如果出现Error:java:JDK isn't specified for module "XXXX"提示,需要将.idea文件夹删除,然后重新import源码到idea)启动成功之后访问localhost:60010就可以看到熟悉的master界面
-
参考第10步再设置hbase shell
vm options:-Dhbase.ruby.sources=D:/dev/ideaC2018.3/sourcecode/hbase-rel-0.98.6/hbase-shell/src/main/ruby -Dlog4j.configuration=file:D:/dev/ideaC2018.3/sourcecode/hbase-rel-0.98.6/conf/log4j.properties
同样执行run-->run shell
就可以开始输入命令执行了。
后面就可以自己打断点进行debug了。。。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。