Hadoop集群

第五章 集群配置(一)

一、集群部署规划

由于NameNode、SencondaryNameNode、ResourceManager都非常消耗内存,所以它们不要安装在同一台机器上,至少需要三台虚拟机。

hadoop102 hadoop103 hadoop104
hdfs NameNode DataNode DataNode SecondaryNameNode DataNode
yarn NodeManager ResourceManager NodeManager NodeManager

需要配置的文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml

二、配置core-site.xml

打开core-site.xml文件:

vim /software/hadoop-3.1.3/etc/hadoop/core-site.xml

在 configuration 标签中添加如下内容:

<!-- 指定 NameNode 的地址 -->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop102:8020</value>
</property>

<!-- 指定 hadoop 数据的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/software/hadoop-3.1.3/data</value>
</property>

<!-- 配置 HDFS 网页登录的静态用户 -->
<property>
	<name>hadoop.http.staticuser.user</name>
	<value>root</value>
</property>

三、配置hdfs-site.xml

打开hdfs-site.xml文件:

vim /software/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

在 configuration 标签中添加如下内容:

<!-- NameNode web 端访问地址-->
<property>
	<name>dfs.namenode.http-address</name>
	<value>hadoop102:9870</value>
</property>

<!-- SecondaryNameNode web 端访问地址-->
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hadoop104:9868</value>
</property>

四、配置yarn-site.xml

打开yarn-site.xml文件:

vim /software/hadoop-3.1.3/etc/hadoop/yarn-site.xml

在 configuration 标签中添加如下内容:

<!-- 指定 MR 走 shuffle -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

<!-- 指定 ResourceManager 的地址-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop103</value>
</property>

<!-- 环境变量的继承 -->
<property>
	<name>yarn.nodemanager.env-whitelist</name>
	<value>
		JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,
		CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
	</value>
</property>

五、配置mapred-site.xml

打开mapred-site.xml文件:

vim /software/hadoop-3.1.3/etc/hadoop/mapred-site.xml

在 configuration 标签中添加如下内容:

<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

六、分发文件

通过 xsync 脚本分发文件。

1、脚本作用:向其他主机分发文件,方便操作,减少命令输入,以及错误。
2、主要代码

1)进入用户 bin 目录,创建 xsync 文件

vim xsync

2)编写xsync文件

#!/bin/bash

#遍历集群所有机器
for host in 主机名1 主机名2 主机名3
do
	echo =========$host=========
	
	#遍历所有目录,挨个发送
	for file in $@
	do
		if [ -e $file ]
			then
				#获取父目录
				pdir=$(cd -P $(dirname $file); pwd)
				
				#获取当前文件的名称
				fname=$(basename $file)
				ssh $host "mkdir -p $pdir"
				rsync -av $pdir/$fname $host:$pdir
			else
				echo $file does not exist!
		fi
	done
done

3)为文件添加可执行的权限

chmod +x xsync

4)为hadoop103、hadoop104分发四个配置文件

xsync /software/hadoop-3.1.3/etc/hadoop/core-site.xml
xsync /software/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
xsync /software/hadoop-3.1.3/etc/hadoop/yarn-site.xml
xsync /software/hadoop-3.1.3/etc/hadoop/mapred-site.xml
加入小猿QQ群:947117563,一起玩转大数据!!

版权声明:本文为qgb-xy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qgb-xy/p/14590055.html