① hadoop運行 jar包的時候,怎麼設置
首先我們要打包程序,,打包完畢,我們該如何運行
首先顯示一個比較簡單的:
上面命令:hadoop jar x.jar 是運行包的一種方式,完成的方式為
hadoop jar x.jar ×××.MainClassName inputPath outputPath
同時解釋一下:
x.jar為包的名稱,包括路徑,直接寫包名稱,則為默認路徑
×××.MainClassName為運行的類名稱
inputPath為輸入路徑
outputPath為輸出路徑。
② hadoop的jar包在hadoop的哪裡
在hadoop包下的share/hadoop下的各個目錄都有,功能各不相同
③ 怎樣將作業提交到hadoop上,比如說現在將一個Music的工程打包成一個jar包,怎樣提交到hadoop上運行
可以通過ftp上傳到hadoop集群中的節點上,如果在linux環境下可以通過scp 到節點上,然後
hadoop jar xxx.jar 包名+類名
④ 怎麼樣把hadoop包含的jar包加到classpath中
1、把具體的編譯不成功的異常提示貼出來一下。
2、看你的java library配置是沒問題的,我認為是你的jdk估計路徑有問題,建議你先用javac -version看下是不是jdk1.7.0_17。因為linux默認也帶一個jre的,估計是沒找對jdk的編譯的版本。
再看下吧
⑤ hadoop再執行jar包 時候 hadoop jar 後面要不要跟上類名
hadoop 中運行jar文件,可執行map/rece 效果,你的jar文件確保已經拷貝到hadoop中, 由hadoop能夠進行訪問? /home/tina/TestHadoop.jar 這樣的目錄結構感覺你沒有拷貝進hadoop 如果我的回答沒幫助到您,請繼續追問。 ?希望以上信息可以幫到您!
⑥ Hadoop怎樣提交多個第三方jar包
方案1:把所有的第三方jar和自己的class打成一個大的jar包,這種方案顯然笨拙,而且更新升級比較繁瑣。
方案2:在你的project裡面建立一個lib文件夾,然後把所有的第三方jar包放到裡面去,
Hadoop會自動載入lib依賴裡面的jar。注意最後一段:
如果我的回答沒幫助到您,請繼續追問。
希望以上信息可以幫到您!
⑦ hadoop jar 與 java -jar 的區別
java -jar 實在本機運行可執行的jar包
hadoop jar 是jar包上傳到hadoop環境中 在 hadoop 環境中運行 job任務
⑧ 在本地上運行可以,將JAR包放在HADOOP平台上運行的時候執行失敗是什麼原因
發生這個異常後,找了很多帖子都沒有解答,也有很多人遇到了類似的情況。其實這一般並不是java包有問題,問題也簡單的可笑,就是上面的命令行中
cc.jar 路徑不完整造成的,需要注意一下命令行當前的位置,
你是不是還沒到hadoop的目錄就jar了
⑨ 我使用emaprece hadoop jar依賴的jar怎麼上傳
主要有4個方式:
1、把引用的所有的第三方jar包打到一個jar包內,形成一個超大包。
優點:簡單,執行相對比較簡單
缺點:一些版本升級較為麻煩,需要重新升級包
例如在maven可以添加以下配置項:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<outputFile>${project.build.directory}/shaded/examples-${project.version}-shaded.jar</outputFile>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
2、把引用到所有第三方包放到Hadoop的lib目錄下
優點:執行運行即可。
缺點:需要重新啟動集群,不容易維護
不推薦
3、把引用到所有第三方包放到集群中固定的一台機器上,使用libjars命令載入第三方jar
優點:只需要維護hadoop集群中的一台機器上的lib庫,易於系統的維護;
缺點:只能在存放jar的機器上去執行hadoop jar 命令執行程序,且執行命令較復雜;
個人對這種方式還可以接受,不過並不是我最喜歡的方式。
在這里,我進行了測試,WordCount的代碼不變,打成WordCount_libjarscmd.jar,注意在打包的過程中不要選擇lib中的jar文件,然後把OperateHDFS.jar放到集群中的一台機器上面,執行的命令如下所示:
hadoop jar WordCount_libjarscmd.jar com.hadoop.examples.WordCount -libjars OperateHDFS.jar input libjarscmdoutput
4、把jar包放在HDFS或者OSS上,動態載入第三方jar包
優點:程序可以方便的在集群上的任何一個節點運行,且執行命令的機器沒有限制;
執行命令:
jar ossref://yourBucket/yourPath/wordcoun