我想知道是否有可能在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 –