
# 在本地Windows环境中调测HBase应用
#### 操作场景
在程序代码完成开发后，您可以在Windows开发环境中运行应用。本地和集群业务平面网络互通时，您可以直接在本地进行调测。
![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 如果Windows开发环境中使用IBM JDK，不支持在Windows环境中直接运行应用程序。
- 需要在运行样例代码的本机**hosts**文件中设置访问节点的主机名和公网IP地址映射，主机名和公网IP地址请保持一一对应。
 
#### 在本地Windows环境中调测HBase应用
1. 单击IDEA右边Maven窗口的"Reimport All Maven Projects"，进行maven项目依赖import。 
   图1reimport projects   
   ![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0284015480.png)
   
   
2. 编译运行程序。 
   放置好配置文件，并修改代码匹配登录用户后，文件列表如[图2]所示。
   图2hbase-example待编译目录列表   
   ![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0284015481.png)
   1. 编译方式有以下两种。
      - 方法一 选择"Maven \> *样例工程名称*\> Lifecycle \> clean"，双击"clean"运行maven的clean命令。
        选择"Maven \> *样例工程名称* \> Lifecycle \> compile"，双击"compile"运行maven的compile命令。
        图3maven工具 clean和compile   
        ![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0284015482.png) 
      
      - 方法二
        在IDEA的下方Terminal窗口进入"pom.xml"所在目录，手动输入**mvn clean compile** 命令进行编译。
        图4idea termial输入"mvn clean compile"   
        ![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0284015483.png)
        编译完成，打印"Build Success"，生成target目录。
        图5编译完成   
        ![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0284015484.png) 
       
   
   2. 运行程序。 右键"TestMain.java"文件，选择"Run 'TestMain.main() "
      图6运行程序   
      ![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0284015485.png) 
   
   
   
   
 
#### 查看Windows调测结果
HBase应用程序运行完成后，可通过如下方式查看运行情况。
- 通过IntelliJ IDEA运行结果查看应用程序运行情况。
- 通过HBase日志获取应用程序运行情况。
- 登录HBase WebUI查看应用程序运行情况。可参见"更多信息 \> 对外接口 \> Web UI "。
- 通过HBase shell命令查看应用程序运行情况。可参见"更多信息 \> 对外接口 \> 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: Multi 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.
  ```
  ![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
  在Windows环境运行样例代码时会出现下面的异常，但是不影响业务：
  java.io.IOException: Could not locate executable null\\bin\\winutils.exe in the Hadoop binaries.
  

- 日志说明 日志级别默认为INFO，可以通过调整日志打印级别（DEBUG，INFO，WARN，ERROR，FATAL）来显示更详细的信息。可以通过修改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
  ...
  ```
  
 
