在本地Windows环境中调测HBase应用
操作场景
在程序代码完成开发后,您可以在Windows开发环境中运行应用。本地和集群业务平面网络互通时,您可以直接在本地进行调测。
- 如果Windows开发环境中使用IBM JDK,不支持在Windows环境中直接运行应用程序。
- 需要在运行样例代码的本机hosts文件中设置访问节点的主机名和IP地址映射,主机名和IP地址请保持一一对应。
在本地Windows环境中调测HBase应用
- 单击IDEA右边Maven窗口的“Reimport All Maven Projects”,进行maven项目依赖import。
图1 reimport projects
- 编译运行程序。
放置好配置文件,并修改代码匹配登录用户后,文件列表如图2所示。
查看Windows调测结果
HBase应用程序运行完成后,可通过如下方式查看运行情况。
- 通过IntelliJ IDEA运行结果查看应用程序运行情况。
- 通过HBase日志获取应用程序运行情况。
- 登录HBase WebUI查看应用程序运行情况。可参见 。
- 通过HBase shell命令查看应用程序运行情况。可参见 。
各样例程序运结果如下:
- HBase数据读写样例运行成功会有如下信息:
... 2020-09-09 22:11:48,496 INFO [main] example.TestMain: Entering testCreateTable. 2020-09-09 22:11:48,894 INFO [main] example.TestMain: Creating table... 2020-09-09 22:11:50,545 INFO [main] example.TestMain: Master: 10-1-131-140,16000,1441784082485 Number of backup masters: 1 10-1-131-130,16000,1441784098969 Number of live region servers: 3 10-1-131-150,16020,1441784158435 10-1-131-130,16020,1441784126506 10-1-131-140,16020,1441784118303 Number of dead region servers: 0 Average load: 1.0 Number of requests: 0 Number of regions: 3 Number of regions in transition: 0 2020-09-09 22:11:50,562 INFO [main] example.TestMain: Lorg.apache.hadoop.hbase.NamespaceDescriptor;@11c6af6 2020-09-09 22:11:50,562 INFO [main] example.TestMain: Table created successfully. 2020-09-09 22:11:50,563 INFO [main] example.TestMain: Exiting testCreateTable. 2020-09-09 22:11:50,563 INFO [main] example.TestMain: Entering testMultiSplit. 2020-09-09 22:11:50,630 INFO [main] example.TestMain: MultiSplit successfully. 2020-09-09 22:11:50,630 INFO [main] example.TestMain: Exiting testMultiSplit. 2020-09-09 22:11:50,630 INFO [main] example.TestMain: Entering testPut. 2020-09-09 22:11:51,148 INFO [main] example.TestMain: Put successfully. 2020-09-09 22:11:51,148 INFO [main] example.TestMain: Exiting testPut. 2020-09-09 22:11:51,148 INFO [main] example.TestMain: Entering createIndex. ...
在Windows环境运行样例代码时会出现下面的异常,但是不影响业务:
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- HBase/Phoenix对接SpringBoot运行结果
在浏览器中访问链接“http://样例运行节点IP地址:8080/hbase/HBaseDemo”和“http://样例运行节点IP地址:8080/hbase/PhoenixDemo”,IDEA正常打印日志,请求返回“finish HBase”和“finish Phoenix",如下图所示:
图7 返回“finish HBase”
图8 返回“finish Phoenix"
- 日志说明
日志级别默认为INFO,可以通过调整日志打印级别(DEBUG,INFO,WARN,ERROR,FATL)来显示更详细的信息。可以通过修改“log4j.properties”文件来实现,如:
hbase.root.logger=INFO,console ... log4j.logger.org.apache.zookeeper=INFO #log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG log4j.logger.org.apache.hadoop.hbase=INFO # Make these two classes DEBUG-level. Make them DEBUG to see more zk debug. log4j.logger.org.apache.hadoop.hbase.zookeeper.ZKUtil=INFO log4j.logger.org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher=INFO ...