更新时间:2024-08-03 GMT+08:00

未安装客户端时编译并运行HBase应用

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

前提条件

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

操作步骤

  1. 安装客户端时编译并运行HBase应用中的方式修改样例。
  2. 执行mvn package生成jar包,在工程目录target目录下获取,比如:hbase-examples-2.0.jar。
  3. 准备依赖的Jar包和配置文件。

    1. 在Linux环境新建目录,例如“/opt/test”,并创建子目录“lib”“conf”。将集群中任一master节点“/opt/client/HBase/hbase/lib”目录下的jar包,以及2中导出的Jar包,上传到当前Linux环境新建目录“/opt/test”“lib”目录下。将集群中任一master节点“/opt/client/HBase/hbase/conf”目录下的hbase-site.xml,hdfs-site.xml,core-site.xml文件拷贝到“/opt/test”“conf”目录下。
    2. 准备HBase应用开发用户中获取的krb5.conf和user.keytab文件拷贝上传至“/opt/test/conf”目录中,并新建hbaseclient.properties文件,文件中user.name对应新建的用户hbaseuser,userKeytabName和krb5ConfName路径对应从准备HBase应用开发用户中获取的认证相关文件名称(未开启Kerberos认证集群可跳过此步)。
      user.name=hbaseuser
      userKeytabName=user.keytab
      krb5ConfName=krb5.conf
    3. “/opt/test”根目录新建脚本“run.sh”,修改内容如下并保存:
      当前以com.huawei.bigdata.hbase.examples.TestMain为举例,具体以实际样例代码为准。
      #!/bin/sh
      BASEDIR=`pwd`
      cd ${BASEDIR}
      for file in ${BASEDIR}/lib/*.jar
      do
      i_cp=$i_cp:$file
      echo "$file"
      done
      if [ -d ${BASEDIR}/lib/client-facing-thirdparty ]; then
      for file in ${BASEDIR}/lib/client-facing-thirdparty/*.jar
      do
      i_cp=$i_cp:$file
      done
      fi
      java -cp ${BASEDIR}/conf:${i_cp} com.huawei.bigdata.hbase.examples.TestMain

  4. 切换到“/opt/test”,执行以下命令,运行Jar包。

    sh run.sh