MapReduce学习02-环境搭建

10 篇文章 0 订阅
7 篇文章 0 订阅

MapReduce学习02-环境搭建

在hadoop2.x中,mapreduce使用的yarn模型,也就是mapreduce on yarn来实现了计算系统的解耦。
本次搭建的节点如下所示,除了HDFS的节点外,我们分别在2,3,4搭建NodeManager,在3,4搭建ResourceManager

	架构:
		RM
		NM
	搭建:
				   NN	NN	JN	ZKFC	ZK	DN	RM	NM
		node01	    *		 * 	 *
		node02	         *	 *	 *	     *   *	    *
		node03			     *		     *	 *	 *	*
		node04					         *	 *	 *	*
	
	hadoop	1.x		2.x			3.x
	hdfs:	no ha		ha(向前兼容,没有过多的改NN,二是通过新增了角色 zkfc)
	yarn	no yarn		yarn  (不是新增角色,二是直接在RM进程中增加了HA的模块)

现在我们开始

node01:
cd $HADOOP_HOME/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

	    <property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
		    </property>

vi yarn-site.xml

//shuffle  洗牌  M  -shuffle>  R
		    <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.zk-address</name>
		   <value>node02:2181,node03:2181,node04:2181</value>
		 </property>

		 <property>
		   <name>yarn.resourcemanager.cluster-id</name>
		   <value>mashibing</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>
			scp mapred-site.xml yarn-site.xml    node02:`pwd`
			scp mapred-site.xml yarn-site.xml    node03:`pwd`
			scp mapred-site.xml yarn-site.xml    node04:`pwd`
			vi slaves  //可以不用管,搭建hdfs时候已经改过了。。。
			start-yarn.sh
			运行上述后,发现NN已经在各集群启动,但RM并没有,因此还需要手动在3,4启动
		node03~04:
			yarn-daemon.sh start resourcemanager

至此,mapreduce的环境就已经搭建完毕,启动浏览器输入地址,观察
http://node03:8088
http://node04:8088
This is standby RM. Redirecting to the current active RM: http://node03:8088/
发现node03为主节点,访问node04的时候自动跳转到了03。

为了实验一下,我们可以使用MR 官方案例 wc
实战:MR ON YARN 的运行方式:

		for i in `seq 100000`;do echo "hello hadoop $i" >> data.txt ;done
		hdfs dfs -mkdir -p   /data/wc/input
		hdfs dfs -D dfs.blocksize=1048576  -put data.txt  /data/wc/input
		cd  $HADOOP_HOME
		cd share/hadoop/mapreduce
		启动计算程序:
		hadoop jar  hadoop-mapreduce-examples-2.6.5.jar   wordcount   /data/wc/input   /data/wc/output
		观察计算后的输出路径:
		hdfs dfs -ls /data/wc/output
			-rw-r--r--   2 root supergroup          0 2019-06-22 11:37 /data/wc/output/_SUCCESS  //标志成功的文件
			-rw-r--r--   2 root supergroup     788922 2019-06-22 11:37 /data/wc/output/part-r-00000  //数据文件
				part-r-00000
				part-m-00000
					这里,文件名如果带r的是指这个文件经过了“map+reduce ”,而如果是带m的,说明只经过了map
		进行观察:			
		hdfs dfs -cat  /data/wc/output/part-r-00000
		hdfs dfs -get  /data/wc/output/part-r-00000  ./
抛出一个问题:
	data.txt 上传会切割成2个block 计算完,发现数据是对的~!~?后边看源码分析~!~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值