更新时间:2023-09-14 GMT+08:00

安装客户端时编译并运行程序

HBase应用程序支持在安装HBase客户端的Linux环境中运行。在程序代码完成开发后,您可以上传Jar包至Linux环境中运行应用。

前提条件

  • 已安装HBase客户端。
  • Linux环境已安装JDK,版本号需要和Eclipse导出Jar包使用的JDK版本一致。
  • 当客户端所在主机不是集群中的节点时,需要在客户端所在节点的hosts文件中设置主机名和IP地址映射。主机名和IP地址请保持一一对应。

操作步骤

  1. 修改样例代码。

    1. 当前样例代码中操作HBase的接口有三种,分别是普通接口,HFS接口(MRS 1.9.x版本不再支持该接口),REST接口。调试不同API接口操作HBase时可以注释其他接口调用。这里以使用普通接口操作HBase为例,main方法中只包含如下代码段。
      public static void main(String[] args) {
        try {
          init();
          login();
        } catch (IOException e) {
            LOG.error("Failed to login because ", e);
            return;
        }
        // getDefaultConfiguration();
        conf = HBaseConfiguration.create();
        // test hbase API
        HBaseExample oneSample;
        try {
          oneSample = new HBaseExample(conf);
          oneSample.test();
        } catch (Exception e) {
          LOG.error("Failed to test HBase because ", e);
        }
        LOG.info("-----------finish HBase-------------------");
      }
    2. 在调用HFS接口(MRS 1.9.x版本不再支持该接口),REST接口时需要把样例工程src\main\resources下hbaseclient.properties文件拷贝到客户端(客户端目录以/opt/client为例)的HBase/hbase/conf目录下,并修改hbaseclient.properties文件。userKeytabName,krb5ConfName对应于从2获取的文件的地址。若使用REST接口时需修改rest.server.info,使其对应于rest server的ip:port(port默认为21309)。
      rest.server.info=10.10.10.10:21309
      user.name=hbaseuser
      userKeytabName=user.keytab
      krb5ConfName=krb5.conf

      HFSSample样例工程在MRS 1.9.x版本中已移除,需注意当前集群版本。

  2. 执行mvn package生成jar包,在工程目录target目录下获取,比如:hbase-examples-mrs-2.0.jar,将获取的包上传到/opt/client/HBase/hbase/lib目录下。
  3. 执行Jar包。

    1. 在Linux客户端下执行Jar包的时候,需要用安装用户切换到客户端目录:

      cd $BIGDATA_CLIENT_HOME/HBase/hbase

      “$BIGDATA_CLIENT_HOME”指的是客户端安装目录。

    2. 然后执行:

      source $BIGDATA_CLIENT_HOME/bigdata_env

      启用多实例功能后,为其他HBase服务实例进行应用程序开发时还需执行以下命令,切换指定服务实例的客户端。 例如HBase2:source /opt/client/HBase2/component_env

    3. 2中生成的Jar包和从准备开发用户中获取的krb5.conf和user.keytab文件拷贝上传至客户端运行环境的Hbase/hbase/conf目录下,例如“/opt/client/HBase/hbase/conf”。然后在“/opt/client/HBase/hbase/conf”目录下,如果不存在则创建hbaseclient.properties文件,文件中user.name对应新建的用户hbaseuser,userKeytabName和krb5ConfName值对应从准备开发用户中获取的认证相关文件名称,如下(未开启Kerberos认证集群可跳过此步):
      user.name=hbaseuser
      userKeytabName=user.keytab
      krb5ConfName=krb5.conf
    4. 运行如下命令执行Jar包。

      hbase com.huawei.bigdata.hbase.examples.TestMain /opt/client/HBase/hbase/conf

      其中,com.huawei.bigdata.hbase.examples.TestMain为举例,具体以实际样例代码为准。

      “/opt/client/HBase/hbase/conf”对应于上述中user.keytab、krb5.conf等文件路径。

      针对MRS 1.9.2及以后版本请执行hbase com.huawei.bigdata.hbase.examples.TestMain /opt/client/HBase/hbase/conf