Eclipse中安装HBASE集群并本地调试

举报
Lettle whale 发表于 2020/06/30 18:55:53 2020/06/30
【摘要】 在Eclipse中安装HBASE集群并本地调试

在Eclipse中安装HBASE集群并本地调试

 

 

软件

说明

JDK 1.8.0

尽量保持和生产环境使用的JDK一致

Apache Maven   3.5.2

版本可选

Eclipse

尽量高版本

hadoop   winutils

HBasewindows上需要的一个工具

msys2

可选软件,windows上类linux环境

Git

可选软件

 

1.1 JDK安装配置向导

安装

下载并安装 OpenJDK

配置

添加系统环境变量JAVA_HOME

OpenJDK


OpenJDK默认安装路径为C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.121-1

测试

打开cmd,输入Java -version测试OpenJDK安装是否成功

 

 

1.2 Apache Maven安装配置向导

Apache Maven 3.3.9下载并按照

安装

解压apache-maven-3.3.9-bin.zip到目录。

配置

Path环境变量中添加maven/bin目录


测试

cmd输入mvn -version测试apache maven

 

1.3 HBase下载与编译

下载hbase源码

可以从开源社区下载https://hbase.apache.org/

配置maven仓库

编译hbase源码

mvn clean compile -DskipTests

 

1.4 Hadoop下载并安装winutil

下载hadoop二进制包

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

配置HADOOP_HOME

在环境变量中配置HADOOP_HOMEhadoop二进制包部署地址

PATH中添加%HADOOP_HOME%/bin

下载hadoop winutil

https://github.com/steveloughran/winutils

winutils-master\hadoop-2.7.1\bin中的所有内容拷贝到hadoop/bin目录中

 

2 HBase集成开发环境

将代码importeclipse,运行eclipse,菜单File->Import,选择Maven->Existing Maven ProjectsNextBrowse,选择源码目录

修改Eclipse中的Maven配置

菜单Window->Preferences->Maven->Installations,点击Add, 设置外部Maven


菜单Window->Preferences->Maven->User Settings,点击Browse,选择maven仓库配置文件


 

2 Eclipse中运行HBase集群

配置hmaster启动参数

打开hbase-server\src\main\java\org\apache\hadoop\hbase\master\HMaster.java


右键菜单Run As->Java Application运行HMaster需要对该Java application进行设置,菜单Run->Run Configuration,选择Java Application->HMaster


选择Arguments,在Program arguments中输入

start

 

VM arguments中输入

-Dproc_master -XX:OnOutOfMemoryError="kill -9 %p" -XX:+UseConcMarkSweepGC -XX:PermSize=128m -XX:MaxPermSize=128m -Dhbase.log.dir=D:\WorkSpace\HBase_1.3\source\logs -Dhbase.log.file=hbase-root-master.log -Dhbase.home.dir=D:\WorkSpace\HBase_1.3\source\bin\. -Dhbase.id.str=root -Dhbase.root.logger=INFO,console

 

注意对上面路径中hbase-1.3.0之前的路径进行修改

Classpath列表中选择User Entries,点击Advance,选择Add Folders,选择hbase-1.3.0/hbase/conf


 

修改hbase-1.3.0/hbase/conf中的hbase-site.xml

<configuration>

  <property>

    <name>hbase.default.for.version.skip</name>

         <value>true</value>

  </property>

  <property>

    <name>hbase.rootdir</name>

         <value>file:///D:/WorkSpace/HBase_1.3/source/hbase_data</value>

  </property>

  <property>

    <name>hbase.zookeeper.property.dataDir</name>

         <value>D:/WorkSpace/HBase_1.3/source/zookeeper_data</value>

  </property>

</configuration>

 

验证

run


 

注:如果出现报错信息参见ISSUE1~5进行修复

2 Eclipse中运行HBase命令行

配置

菜单Run->Run Configuration,选择Java Application

右键点击Java Application->New,新建一个Java Application

MainProject中选择hbase-shell,在Main里输入org.jruby.Main


选择Arguments,在Program arguments中输入,注意修改路径

-X+O D:\WorkSpace\HBase_1.3\source\bin\..\bin\hirb.rb

 

VM arguments中输入,注意修改路径

-Dproc_master -XX:OnOutOfMemoryError="kill -9 %p" -XX:+UseConcMarkSweepGC -XX:PermSize=128m -XX:MaxPermSize=128m -Dhbase.log.dir=D:\WorkSpace\HBase_1.3\source\logs -Dhbase.log.file=hbase-root-master.log -Dhbase.home.dir=D:\WorkSpace\HBase_1.3\source\bin\. -Dhbase.id.str=root -Dhbase.root.logger=INFO,console -Dhbase.ruby.sources=D:\WorkSpace\HBase_1.3\source\hbase-shell\src\main\ruby

 

Classpath列表中选择User Entries,点击Advance,选择Add Folders,选择hbase-1.3.0/hbase/conf

 

验证

Run


 

ISSUE 1

Plugin execution not covered by lifecycle configuration:

org.codehaus.mojo:build-helper-maven-plugin:1.9.1:add-source (execution: jspcSource-packageInfo-source, phase: generate-sources)

 

解决方法:<plugins>标签需要全部作为pluginManagement的子标签

<build>

    <pluginManagement>

        <plugins>

            <plugin> ... </plugin>

            <plugin> ... </plugin>

                  ....

        </plugins>

    </pluginManagement>

</build>

 

示例参考:hbase-server中的pom.xml修改后样例

ISSUE 2


MasterStatusTmpl.java报错class not found

 

解决方法:将D:\WorkSpace\HBase_1.3\source\hbase-server\target\generated-jamon\org\apache\hadoop\hbase中的tmpl文件夹整体拷贝到D:\WorkSpace\HBase_1.3\source\hbase-server\src\main\java\org\apache\hadoop\hbase

 

ISSUE 3

无法解析导入 org.apache.hadoop.hbase.Version

 

解决方法:将D:\WorkSpace\HBase_1.3\source\hbase-common\target\generated-sources\java\org\apache\hadoop\hbase中的Version.java拷贝到hbase-common中的org.apache.hadoop.hbase包中


 

ISSUE 4

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-remote-resources-plugin:1.5:bundle (execution: build-hbase-resource-bundle, phase: generate-resources)   

 

解决方法:删除pom.xml中的下面这一段

<plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-remote-resources-plugin</artifactId>

        <executions>

          <execution>

            <id>build-hbase-resource-bundle</id>

            <goals>

              <goal>bundle</goal>

            </goals>

            <configuration>

              <includes>

                <include>META-INF/LICENSE.vm</include>

                <include>META-INF/NOTICE.vm</include>

              </includes>

            </configuration>

          </execution>

        </executions>

      </plugin>

 

ISSUE 5

java.lang.ClassNotFoundException: org.apache.hadoop.hbase.generated.master.table_jsp

 

解决方法:D:\WorkSpace\HBase_1.3\source\hbase-server\target\generated-sources\java\org\apache\hadoop\hbase中的generated文件拷贝到D:\WorkSpace\HBase_1.3\source\hbase-server\src\main\java\org\apache\hadoop\hbase文件夹中


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。