MapReduce运行模式

本地模式

在本机运行MapReduce。在本机使用多线程的方式来运行多个Task。

$HADOOP_HOME/etc/hadoop/mapred-site.xml文件中设置相关配置(默认就是该配置)。

<property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

</property>

在YARN上运行

将MapReduce提交给YARN,由YARN将Job中的多个task分配到多台机器中,启动container运行task。运行需要启动YARN,YARN由ResourceManager和NodeManager两组进程组成。

1、修改 $HADOOP_HOME/etc/hadoop/mapred-site.xml文件。

<property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

</property>

2、修改$HADOOP_HOME/etc/hadoop/yarn-site.xml文件。

<!-- 配置ResourceManager在哪个机器启动 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>主机名</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

3、启动ResourceManager和NodeManager。

启动ResourceManager:yarn-daemon.sh start resourcemanager。

启动NodeManager:yarn-daemon.sh start nodemanager。

4、查看。

通过jps命令查看ResourceManager和NodeManager进程是否已经开启。也可以访问http://ResourceManager所运行的机器主机名/ip:8088来查看运行情况。

使用方法

可以通过命令:hadoop jar jar包 主类名 参数{多个输入目录,一个输出目录}来提交任务。例如:hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /wc2 /wc3(统计wc2文件夹中文件内容的单词个数,并将结果放到wc3文件夹下)。

需要注意的是,参数中输入目录下的内容必须全部是文件,输出目录必须不存在。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。