例子:单词统计例子
注意map处理为key-value,value不能为基本数据类型,String-->Text int-->IntWritable
MR1.0架构(配合HDFS1.0)
Client分配任务给Job Tracker, Job Tracker调度任务给DataNode,在调度任务之前DataNode上的TaskTracker进程会监控该DataNode资源占用情况,TaskTracker与Job Tracker保持心跳汇报当前资源使用情况和咨询Job Tracker本节点的新任务是什么。
MR2.X架构:
在之前搭建完成的HDFS2.X的基础上搭建MR2.X:
1、ResourceManager主备免秘钥:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa产生秘钥。追加到自身验证文件cat id_dsa.pub >> authorized_keys。传送给目标scp id_dsa.pub node04:`pwd`/node03.pub。将秘钥追加至验证文件cat node03.pub >> authorized_keys
2、hadoop/etc/hadoop/ 下面修改配置文件名字:mv mapred-site.xml.template mapred-site.xml。并添加内容:
3、修改yarn-site.xml:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>node03</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>node04</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>node02:2181,node03:2181,node04:2181</value>
</property>
4、将本节点修改的配置文件分发至其他节点:scp yarn-site.xml mapred-site.xml node02:`pwd`
5、启动zookeeper+启动hdfs+启动yarn(start-yarn.sh)
注意启动yarn后,nodeManager进程会启动但是RM进程不会,在每个RM上需要手动启动。yarn-daemon.sh start resourcemanager
6、使用自带计算程序,完成单词统计例子:
自带计算程序所在位置:hadoop/share/hadoop/
执行:hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /user/root/test.txt /wordcount
完成计算:查看结果hdfs dfs -cat /wordcount/part-r-00000 e(在hdfs前段该目录下看到名字)。
关闭:1、关闭resourcemanager:yarn-daemon.sh stop resourcemanager
2、关闭框架服务:stop-yarn.sh
3、hdfs关闭:stop-dfs.sh
4、zookeeper关闭:zkServer.sh stop