在本地Windows环境中调测HBase应用
操作场景
在程序代码完成开发后,您可以在Windows开发环境中运行应用。本地和集群业务平面网络互通时,您可以直接在本地进行调测。
![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 如果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数据读写样例运行成功会有如下信息:
2016-07-13 14:36:12,736 INFO [main] basic.CreateTableSample: Create table sampleNameSpace:sampleTable successful! 2016-07-13 14:36:15,426 INFO [main] basic.ModifyTableSample: Modify table sampleNameSpace:sampleTable successfully. 2016-07-13 14:36:16,708 INFO [main] basic.MultiSplitSample: Mmulti split table sampleNameSpace:sampleTable successfully. 2016-07-13 14:36:17,299 INFO [main] basic.PutDataSample: Successfully put 9 items data into sampleNameSpace:sampleTable. 2016-07-13 14:36:18,992 INFO [main] basic.ScanSample: Scan data successfully. 2016-07-13 14:36:20,532 INFO [main] basic.DeletaDataSample: Successfully delete data from table sampleNameSpace:sampleTable. 2016-07-13 14:36:21,006 INFO [main] acl.AclSample: Grant ACL for table sampleNameSpace:sampleTable successfully. 2016-07-13 14:36:27,836 INFO [main] index.CreateIndexSample: Successfully add index for table sampleNameSpace:sampleTable.
在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 ...