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


操作场景

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

前提条件

  • 已安装1.7或1.8版本的JDK。
  • 当Linux环境所在主机不是集群中的节点时,需要在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. 导出HDFS应用可执行包。右键选择工程,选择“Export”,如图1所示。 图1导出jar包

  3. 选择导出“JAR file”,如图2所示。 图2选择JAR file

  4. 选择包的导出路径,然后单击“Next”。在弹出的页面再单击“Next”。

    • 导出“hdfs-example.jar”时,只需选择src文件夹即可,如图3所示。 图3选择导出路径
    • (可选)如果使用SmallFS小文件样例代码,导出“smallfs-example.jar”包时,只需选择src文件夹即可,如图4所示。 图4选择导出路径
    • 导出“colocation-example.jar”时,只需选择src文件夹即可,如图5所示。 图5选择导出路径
  5. 选择main函数入口类。

    • 导出“hdfs-example.jar”包时,选择HdfsMain,如图6所示。 图6选择main函数类
    • (可选)如果使用SmallFS小文件样例代码,导出“smallfs-example.jar”包时,选择HdfsMain,如图6所示。
    • 导出“colocation-example.jar”包时,选择ColocationExample,如图7所示。 图7选择main函数类
  6. 将导出的Jar包拷贝上传至Linux运行环境的任意目录下,例如“/opt/hadoop_client”。

  7. 将工程中的“lib”文件夹和“conf”文件夹上传至和Jar包相同的Linux运行环境目录下,例如“/opt/hadoop_client”。
  8. (可选)如果运行SmallFS小文件样例,打开上传的“conf”文件夹,将“core-site.xml”文件中的配置项“fs.defaultFS”由“hdfs://hacluster”改成“sfs://hacluster”。
  9. 执行如下命令运行Jar包。
    java -cphdfs-example.jar:conf/:lib/* com.huawei.bigdata.hdfs.examples.HdfsMain
    java -cpcolocation-example.jar:conf/:lib/* com.huawei.bigdata.hdfs.examples.ColocationExample
    (可选)java -cpsmallfs-example.jar:conf/:lib/* com.huawei.bigdata.hdfs.examples.HdfsMain
    

results matching ""

    No results matching ""