更新时间:2022-11-22 GMT+08:00
未安装客户端时编译并运行程序
操作场景
HDFS应用程序支持在未安装HDFS客户端的Linux环境中运行。在程序代码完成开发后,可以上传Jar包至Linux环境中运行应用。
前提条件
- Linux环境已安装JDK,版本号需要和IDEA导出Jar包使用的JDK版本一致。
- 当Linux环境所在主机不是集群中的节点时,需要在Linux环境所在节点的hosts文件中设置主机名和IP地址映射。主机名和IP地址请保持一一对应。
操作步骤
- 进入工程本地根目录,在Windows命令提示符窗口中执行下面命令进行打包。
mvn -s "{maven_setting_path}" clean package
- 上述打包命令中的{maven_setting_path}为本地Maven的“settings.xml”文件路径。
- 打包成功之后,在工程根目录的target子目录下获取打好的jar包。
- 将导出的Jar包拷贝上传至Linux运行环境的任意目录下,例如“/optclient”。
- 将工程中的“lib”文件夹和“conf”文件夹上传至和Jar包相同的Linux运行环境目录下,例如“/opt/client”(其中“lib”目录汇总包含了工程中依赖的所有的Jar包,“conf”目录包含运行jar包所需的集群相关配置文件,请参考准备运行环境)。
- 运行此样例代码需要设置运行用户,设置运行用户有两种方式,添加环境变量HADOOP_USER_NAME或者修改代码设置运行用户。若在没有修改代码的场景下,执行以下语句添加环境变量:
export HADOOP_USER_NAME=test
用户可向管理员咨询运行用户。test在这里只是举例,若需运行Colocation相关操作的样例代码,则此用户需属supergroup用户组。
- 执行如下命令运行Jar包。
java -cp HDFSTest-XXX.jar:conf/:lib/* com.huawei.bigdata.hdfs.examples.HdfsExample
java -cp HDFSTest-XXX.jar:conf/:lib/* com.huawei.bigdata.hdfs.examples.ColocationExample
在运行com.huawei.bigdata.hdfs.examples.ColocationExample:时,HDFS的配置项“fs.defaultFS”不能配置为“viewfs://ClusterX”。
父主题: 在Linux中调测程序