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


操作场景

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

前提条件

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

操作步骤

1、可选)如果使用IBM JDK,需要进行如下配置。

  • krb5.conf文件的[libdefaults]下增加如下配置。
    default_tkt_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    default_tgs_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    permitted_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    krb5.conf文件一般在客户端的“./KrbClient/kerberos/var/krb5kdc/krb5.conf”目录下。配置举例:
    [libdefaults]
    default_realm = HADOOP.COM
    kdc_timeout = 2500
    clockskew = 300
    use_dns_lookup = 0
    udp_preference_limit = 1465
    max_retries = 3
    dns_lookup_kdc = false
    dns_lookup_realm = false
    renewable = false
    forwardable = false
    renew_lifetime = 0m
    max_renewable_life = 30m
    default_tkt_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    default_tgs_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    permitted_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    
  • 配置jaas.conf文件。

    com.ibm.security.auth.module.Krb5LoginModule required
    useKeytab="file:///opt/huawei/Bigdata/etc/1_13_RegionServer/hbase.keytab"
    principal="hbase/[email protected]"
    credsType="both";
    

    其中,useKeytab和principal客户需要根据实际使用的keytab和keytab中对应的principal来配置。

    请在客户端目录下查找所有组件的“jaas.conf”文件进行配置。

2、导出Jar包。

  1. 右击样例工程,选择导出。 图1导出jar包
  2. 选择JAR file,单击“Next”。 图2选择JAR file
  3. 勾选“src”和“conf”目录,导出Jar包到指定位置。单击两次“Next”。 图3选择导出路径
  4. 单击“Browse”,选择Main class,并单击“OK”。 图4选择main函数类
  5. 单击“Finish”,完成导出Jar包。

3、准备依赖的Jar包和配置文件。

  1. 在Linux环境新建目录,例如“/opt/test”,并创建子目录“lib”和“conf”。将样例工程中“lib”的Jar包,以及步骤 2导出的Jar包上传到Linux的“lib”目录。将样例工程中“conf”的配置文件上传到Linux中“conf”目录。
  2. 在“/opt/test”根目录新建脚本“run.sh”,修改内容如下并保存:

    !/bin/sh

    BASEDIR=cd $(dirname $0);pwd cd ${BASEDIR} for file in ${BASEDIR}/lib/.jar do i_cp=$i_cp:$file echo "$file" done for file in ${BASEDIR}/conf/ do i_cp=$i_cp:$file done java -cp .${i_cp} com.huawei.bigdata.hbase.examples.TestMain

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

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

sh run.sh

results matching ""

    No results matching ""