MR作业提交时指定第三方依赖jar
生活随笔
收集整理的這篇文章主要介紹了
MR作业提交时指定第三方依赖jar
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
前言
在提交MR作業時,如何將第三方依賴的jar追加運行環境
解決方法
首先構建一個項目基本架構,包括bin、lib等文件夾,,如下:
[lqz@test app]$ tree . . ├── bin │?? └── startup.sh └── lib├── aopalliance-1.0.jar├── ......├── hbase-load-0.0.1-SNAPSHOT.jar├── ......└── zookeeper-3.4.10.jar2 directories, 139 files [lqz@test app]$一般需要將MR提交封裝成腳本(startup.sh)中,以便進行啟動,例如如下腳本:
#!/bin/shINPUT_PATH=$1 OUTPUT_PATH=$2 HBASE_TABLE=$3echo "============INPUT_PATH: $INPUT_PATH =============" echo "============OUTPUT_PATH: $OUTPUT_PATH =============" echo "============HBASE_TABLE: $HBASE_TABLE ============="for JAR in `ls ../lib/*.jar` doLIBJARS=$JAR,$LIBJARSHADOOPCLASSPATH=$JAR:$HADOOPCLASSPATH doneexport LIBJARS=$LIBJARSexport HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOPCLASSPATHyarn jar ../lib/hbase-load-0.0.1-SNAPSHOT.jar "${INPUT_PATH}" "${OUTPUT_PATH}" "${HBASE_TABLE}" \ -libjars $LIBJARS注意事項
針對封裝到腳本中的命令:yarn jar hbase-load-0.0.1-SNAPSHOT.jar [arguments] ,如果在進行打包的時候,已經將程序入口類寫在了MANIFEST.MF里面,?那么jar包后邊不要再指定程序入口類,如下截圖:
如果沒在MANIFEST.MF指定程序入口類,那么就需要在命令指定,即,yarn jar hbase-load-0.0.1-SNAPSHOT.jar com.lqz.hbase.load.Main [arguments] 。
轉載于:https://my.oschina.net/qzhli/blog/3022535
總結
以上是生活随笔為你收集整理的MR作业提交时指定第三方依赖jar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白鹭引擎开发飞机大战详尽教程(四控制飞机
- 下一篇: 个人作业1-数组(续1)