我想知道是否有可能在Hadoop中運行非mapreduce作業,比如說打印「hello word」的java程序。如果是這樣,請給我一個例子嗎? 非常感謝。在Hadoop中運行非mapreduce工作
回答
你可以創建一個罐子,用hadoop jar
運行:
[[email protected] hellworld]# cat HelloWorld.java
public class HelloWorld {
public static void main(String[] args) throws Exception {
System.out.println("Hello World!");
}}
[[email protected] hellworld]# javac HelloWorld.java
[[email protected] hellworld]# jar cvf helloworld.jar HelloWorld.class
[[email protected] hellworld]# ~/Downloads/hadoop-2.1.0-beta/bin/hadoop jar helloworld.jar HelloWorld
Hello World!
它的工作原理!非常感謝你~~ – user3034824
由於這個答案被我的接受,我假設所有OP都想要將hadoop jar添加到classpath中。我認爲這個問題是關於如何在hadoop中進行分佈式計算,而不是MapReduce工作流。 –
使用Hadoop 1.x和之前版本是不可能的。但是,這正是YARN所設計的。 MapReduce 2.0建立在YARN之上。
YARN是分佈式資源管理的抽象。檢查出來here
編輯:其實我說謊,在Hadoop的1.x和之前仍然有些可能做到非MapReduce作業一些兩輪牛車。如果您看到Apache Giraph的實現方式,他們會掛鉤到MapReduce框架中來執行任務分配。 Mapper只是成爲他們啓動真實代碼的容器。但在我看來,這不是一個優雅的解決方案。自YARN發佈以來,YARN上還有一個Giraph的實現(再次,恕我直言)更加優雅。
的基本示例非常感謝。讓我先試試它。 – user3034824
- 1. 在hadoop中運行非mapreduce程序
- 2. 無法在Hadoop上運行MapReduce作業
- 3. 運行的Hadoop MapReduce工作在WildFly Servlet的
- 4. Hadoop:無法運行MapReduce作業(python)
- 5. hadoop mapreduce如何在雲中工作?
- 6. 在hadoop中鏈接mapreduce工作
- 7. Hadoop mapreduce - reducer未運行
- 8. 在hadoop和mapreduce上運行R腳本
- 9. 在Hadoop集羣上運行mapreduce jar
- 10. MapReduce的Hadoop中2.2.0不工作
- 11. 運行mapreduce hadoop工作時,應用程序在yarn UI中沒有顯示?
- 12. 的運行Hadoop的工作
- 13. 爲什麼hadoop yarn mapreduce卡住或掛在正在運行的工作狀態?
- 14. 在HBase上運行Hadoop MapReduce作業時出現NoServerForRegionException
- 15. MapReduce Hadoop運行時字符串異常
- 16. 如何運行Hbase和Hadoop mapreduce
- 17. 使用Hadoop Streaming API運行java MapReduce
- 18. 錯誤運行的hadoop MapReduce的例子
- 19. 的Hadoop MapReduce的數據流不運行
- 20. Hadoop mapreduce運行速度很慢
- 21. ClassNotFoundException的運行的Hadoop/MapReduce的
- 22. Hadoop/Mapreduce Reducer無法正常工作
- 23. 在僞分佈式hadoop中並行運行的Mapreduce任務
- 24. Hadoop中的MapReduce
- 25. 在hadoop mapreduce
- 26. 在Hadoop中鏈接多個MapReduce作業
- 27. 在Hadoop mapreduce作業中重用JVM
- 28. 使用Hadoop MapReduce進行連接操作
- 29. 在Hadoop中向Cassandra輸出一行Mapreduce
- 30. hadoop mapreduce
嗯Hadoop是一個數據庫......這不是一個操作系統 – Pepe
但我們可以提交MapReduce的工作吧,對。我在網上看到了一些例子:conf.setMapperClass(Map.class); conf.setCombinerClass(Reduce.class); conf.setReducerClass(Reduce.class);但是,如果它是一個簡單的java,則不會有Map或Reduce類。它只有一個主要功能 – user3034824
map-reduce的基本思想是將任務分解爲子任務並且並行處理它們。當你向Hadoop提交一份工作時,它會讀取輸入並將其拆分並將每個拆分傳遞給映射器,然後將結果傳遞給reducer。 'hello word'並不是hadoop背後的想法,這就是爲什麼我們有'字數'作爲hadoop –