安装客户端时编译并运行HBase应用
HBase应用程序支持在安装HBase客户端的Linux环境中运行。在程序代码完成开发后,您可以上传Jar包至Linux环境中运行应用。
前提条件
- 已安装HBase客户端。
- Linux环境已安装JDK,版本号需要和Eclipse导出Jar包使用的JDK版本一致。
- 当客户端所在主机不是集群中的节点时,需要在客户端所在节点的hosts文件中设置主机名和IP地址映射。主机名和IP地址请保持一一对应。
操作步骤
- 修改样例代码。
- 当前样例代码中操作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-------------------"); }
- 在调用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版本中已移除,需注意当前集群版本。
- 当前样例代码中操作HBase的接口有三种,分别是普通接口,HFS接口(MRS 1.9.x版本不再支持该接口),REST接口。调试不同API接口操作HBase时可以注释其他接口调用。这里以使用普通接口操作HBase为例,main方法中只包含如下代码段。
- 执行mvn package生成jar包,在工程目录target目录下获取,比如:hbase-examples-mrs-2.0.jar,将获取的包上传到/opt/client/HBase/hbase/lib目录下。
- 执行Jar包。
- 在Linux客户端下执行Jar包的时候,需要用安装用户切换到客户端目录:
cd $BIGDATA_CLIENT_HOME/HBase/hbase
“$BIGDATA_CLIENT_HOME”指的是客户端安装目录。
- 然后执行:
source $BIGDATA_CLIENT_HOME/bigdata_env
启用多实例功能后,为其他HBase服务实例进行应用程序开发时还需执行以下命令,切换指定服务实例的客户端。 例如HBase2:source /opt/client/HBase2/component_env。
- 将2中生成的Jar包和从准备HBase应用开发用户中获取的krb5.conf和user.keytab文件拷贝上传至客户端运行环境的Hbase/hbase/conf目录下,例如“/opt/client/HBase/hbase/conf”。然后在“/opt/client/HBase/hbase/conf”目录下,如果不存在则创建hbaseclient.properties文件,文件中user.name对应新建的用户hbaseuser,userKeytabName和krb5ConfName值对应从准备HBase应用开发用户中获取的认证相关文件名称,如下(未开启Kerberos认证集群可跳过此步):
user.name=hbaseuser userKeytabName=user.keytab krb5ConfName=krb5.conf
- 运行如下命令执行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。
- 在Linux客户端下执行Jar包的时候,需要用安装用户切换到客户端目录: