更新时间:2023-08-03 GMT+08:00
分享

编译并运行程序

操作场景

在程序代码完成开发后,您可以在Linux环境中运行应用。

前提条件

操作步骤

  1. 进入样例工程本地根目录,在Windows命令提示符窗口中执行下面命令进行打包。

    mvn -s "{maven_setting_path}" clean package

    • 上述打包命令中的{maven_setting_path}为本地Maven的settings.xml文件路径。
    • 打包成功之后,在工程根目录的“target”子目录下获取打好的jar包,例如“MRTest-XXX.jar”,jar包名称以实际打包结果为准。

  2. 上传生成的应用包“MRTest-XXX.jar”到Linux客户端上,例如“/opt/client/conf”,与配置文件位于同一目录下。
  3. 在Linux环境下运行样例工程。

    • 对于MapReduce统计样例程序,执行如下命令。

      yarn jar MRTest-XXX.jar com.huawei.bigdata.mapreduce.examples.FemaleInfoCollector <inputPath> <outputPath>

      此命令包含了设置参数和提交job的操作,其中<inputPath>指HDFS文件系统中input的路径,<outputPath>指HDFS文件系统中output的路径。

      • 在执行yarn jar MRTest-XXX.jar com.huawei.bigdata.mapreduce.examples.FemaleInfoCollector <inputPath> <outputPath>命令之前,<outputPath>目录必须不存在,否则会报错。
      • 在MapReduce任务运行过程中禁止重启HDFS服务,否则可能会导致任务失败。
    • 对于MapReduce访问多组件样例程序,操作步骤如下。
      1. 在“/opt/client/conf”文件夹中创建文件“jaas_mr.conf”,文件内容如下:
        Client {
        com.sun.security.auth.module.Krb5LoginModule required
        useKeyTab=true
        keyTab="user.keytab"
        principal="test@<系统域名>"
        useTicketCache=false
        storeKey=true
        debug=true;
        };
        • test:为准备集群认证用户信息创建的用户名称,例如developuser
        • 系统域名:登录FusionInsight Manager后,选择“系统 > 权限 > 域和互信”,查看“本端域”参数,即为当前系统域名。
      2. 在Linux环境中添加样例工程运行所需的classpath,例如:

        export YARN_USER_CLASSPATH=/opt/client/conf:/opt/client/HBase/hbase/lib/*:/opt/client/HBase/hbase/lib/client-facing-thirdparty/*:/opt/client/Hive/Beeline/lib/*

      3. 提交MapReduce任务,执行如下命令,运行样例工程。

        yarn jar MRTest-XXX.jar com.huawei.bigdata.mapreduce.examples.MultiComponentExample

分享:

    相关文档

    相关产品