MapReduce
思想
任务的分解Map(拉取数据、分组、排序),结果的汇总Reduce
原理
实例
环境搭建
环境搭建具体步骤
1.打开虚拟机和连接工具secureCRT,将所有进程都停掉,找到cd $HADOOP_HOME其下的/etc/hadoop
2.cp mapred-site.xml.template mapred-site.xml然后在 mapred-site.xml里面做更改
3.vi mapred-site.xml;在configuration里面增加并保存
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.vi yarn-site.xml;在configuration里面增加并保存
<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>
5.分发这两个文件给node02~node04;scp mapred-site.xml yarn-site.xml node02:pwd
6.实现node03,node04互相免密钥。在node03产生密钥文件:ssh-keygen -t rsa,此时在.ssh里面就出现了公钥和私钥。先给自己免密钥,追加到authorized_keys:cat id_rsa.pub >> authorized_keys。将公钥文件发送给node04:scp id_rsa.pub node04:pwd
/node03.pub。在node04的node03.pub追加到authorized_keys认证文件当中。
7.启动node02、node03、04中的zookeeper:zkServer.sh start;启动node01中的hdfs:start-dfs.sh;启动node01中的mapReduce:start-yarn.sh只能开启nodemanager;启动yarn:yarn-daemon.sh start resourcemanager
分析实例
1.在node01中,cd 编写hello.txt并上传:hdfs dfs -put hello.txt /user/root
2.查看一下该文件:hdfs dfs -cat /user/root/hello.txt
3.cd $HADOOP_HOME;cd share/hadoop/mapreduce/
4.使用已存在的统计单词的jar文件执行统计单词的任务:hadoop jar hadoop-mapreduce-examples-2.7.5.jar wordcount /user/root/hello.txt /output1
5.查看输出结果:hdfs dfs -ls /output1;hdfs dfs -cat /output1/*