更新时间:2022-07-14 GMT+08:00
编译并运行程序
操作场景
在程序代码完成开发后,可以在Linux环境中运行应用。
操作步骤
- 进入样例工程本地根目录,在Windows命令提示符窗口中执行下面命令进行打包。
mvn -s "{maven_setting_path}" clean package
- 上述打包命令中的{maven_setting_path}为本地Maven的setting.xml文件路径。
- 打包成功之后,在工程根目录的target子目录下获取打好的jar包,例如“MRTest-XXX.jar”,jar包名称以实际打包结果为准。
- 上传生成的应用包“MRTest-XXX.jar”到Linux客户端上,例如/opt/client/conf,与配置文件位于同一目录下。
- 在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>命令之前,需要把log1.txt和log2.txt这两个文件上传到HDFS的<inputPath>目录下。参考典型场景说明。
- 在执行yarn jar MRTest-XXX.jar com.huawei.bigdata.mapreduce.examples.FemaleInfoCollector <inputPath> <outputPath>命令之前,<outputPath>目录必须不存在,否则会报错。
- 在MapReduce任务运行过程中禁止重启HDFS服务,否则可能会导致任务失败。
- 对于MapReduce访问多组件样例程序,操作步骤如下。
- 获取“hbase-site.xml”、“hiveclient.properties”和“hive-site.xml”这三个配置文件,并在Linux环境上创建文件夹保存这三个配置文件,例如“/opt/client/conf”。
“hbase-site.xml”从HBase客户端获取,“hiveclient.properties”和“hive-site.xml”从Hive客户端获取。
- 在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/*
- 提交MapReduce任务,执行如下命令,运行样例工程。
yarn jar MRTest-XXX.jar com.huawei.bigdata.mapreduce.examples.MultiComponentExample
- 获取“hbase-site.xml”、“hiveclient.properties”和“hive-site.xml”这三个配置文件,并在Linux环境上创建文件夹保存这三个配置文件,例如“/opt/client/conf”。
- 对于MapReduce统计样例程序,执行如下命令。
父主题: 在Linux环境中运行程序