第1章 集群规划
| Hadoop100 | Hadoop101 | Hadoop102 |
NameNode | √ |
|
|
DataNode | √ | √ | √ |
SecondaryNameNode |
|
| √ |
ResourceManager |
| √ |
|
NodeManager | √ | √ | √ |
第2章 下载安装
到官网下载文件,解压到服务器上,此处略。
第3章 准备环境
3.1 配置ssh无密登录
在/home/zihao/.ssh目录下(即~/.ssh)执行
ssh-keygen -t rsa
连续三下回车,生产公钥私钥
拷贝公钥至其他服务器或本机服务器
ssh-copy-id hadoop100
本机和其他机器全部copy
注意:namenode节点和resourcemanage节点需要访问其他机器,所以需要在着2个机器上生成密钥,并拷贝公钥至其他节点。
Root用户也需要配置。
3.2 配置集群间文件拷贝
3.2.1 安装rsync文件拷贝
服务器执行命令
yum install rsync -y
scap完全拷贝,复制所有文件
rsync只拷贝差异化内容,只对差异文件做更新
rsync -rvl README.txt root@hadoop101:/opt/software/
3.2.2 编写xsync集群分发脚本
配置脚本
在/home/zihao/bin目录下建立脚本文件xsync
mkdir bin
cd bin/
touch xsync
vi xsync
脚本文件内容如下:
#! /bin/bash
#1获取输入参数的个数,如果没有参数直接退出
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname='basename $p1'
echo fname=$fname
#3 获取上级目录到绝对路径
pdir='cd -p $(dirname $p1);pwd'
echo pdir=$pdir
#4 获取当前用户的名称
user='whoami'
#5循环
for((host=103;host<105;host++));do
echo -----------hadoop$host-----------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
如果没有权限,自行修改脚本xsync具有执行权限
调用脚本xsync,即可将文件分发到集群中其他机器上(脚本配置的机器)
xsync /home/zihao/bin
第4章 配置文件
4.1 配置hadoop-env.sh
配置 /etc/hadoop/hadoop-env.sh JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_221
4.2 配置core-site.xml
配置/etc/hadoop/core-site.xml
<!--指定HDFS中NameNode的地址-->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:9000</value>
</property>
<!--指定Hadoop运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.2/data/tmp</value>
</property>
</configuration>
4.3 配置hdfs-site.xml
配置/etc/hadoop/hdfs-site.xml :
<configuration>
<!--指定HDFS地址 -->
<property>
<name>dfs.http.address</name>
<value>hadoop100:50070</value>
</property>
<!--指定HDFS副本数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--指定HDFS中辅助名称节点secondary节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop102:50090</value>
</property>
</configuration>
4.4 配置yarn-env.sh
配置 /etc/hadoop/yarn-env.sh JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_221
4.5 配置yarn-site.xml
配置 /etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</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>
</configuration>
4.6 配置mapred-env.sh
配置 etc/hadoop/yarn-env.sh JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_221
4.7 配置mapred-site.xml
配置 etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
4.8 配置workers(旧版本hadoop文件名为slaves)
修改/etc/Hadoop/workers
填写主机名或IP,不允许有多余空格和空行,内容如下:
hadoop100
hadoop101
hadoop102
所有配置文件修改完后分发至集群其他机器
第5章 历史服务器
5.1 配置mapred-site.xml
修改/etc/hadoop/mapred-site.xml,添加如下内容
<configuration>
<!--历史服务器地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!--历史服务器web端地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
</configuration>
并分发到所有hadoop集群
5.2 配置日志聚集
修改/etc/hadoop/yarn-site.xml,添加如下内容
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
并分发到所有hadoop集群
5.3 启动历史服务器
在hadoop102上启动
$ sbin/mr-jobhistory-daemon.sh start historyserver
进程:
12730 JobHistoryServer
可打开浏览器访问历史服务器web
http://hadoop102:19888/jobhistory/
第6章 集群群起
6.1 启动/停止HSDFS
包括:namenode、datanode、secondarynamenode
sbin/start-dfs.sh
sbin/stop-dfs.sh
6.2 启动/停止YARN
包括:rescourcemanager、datamanager
*必须在配置rescourcemanager节点所在的机器上启动
sbin/start-yarn.sh
sbin/stop-yarn.sh
第7章 检查部署情况
7.1 HDFS访问地址
7.2 Hadoop集群访问地址
HA高可用请参考下一篇文章:大数据实操篇 No.3-Hadoop HA高可用集群搭建