本文源码:GitHub·点这里 || GitEE·点这里
一、基础环境配置
1、三台服务
准备三台Centos7服务,基础环境从伪分布式环境克隆过来。
133 hop01,134 hop02,136 hop03
2、设置主机名
## 设置名称hostnamectl set-hostname hop01## 重启reboot -f
3、主机名通信
vim /etc/hosts# 添加服务节点192.168.37.133 hop01192.168.37.134 hop02192.168.37.136 hop03
4、SSH免密登录
配置三台服务SSH免密登录。
[root@hop01 ~]# ssh-keygen -t rsa...一路回车结束[root@hop01 ~]# cd .ssh...权限分配到指定集群服务[root@hop01 .ssh]# ssh-copy-id hop01[root@hop01 .ssh]# ssh-copy-id hop02[root@hop01 .ssh]# ssh-copy-id hop03...在hop01免密登录到hop02[root@hop01 ~]# ssh hop02
这里针对hop01服务,在hop02和hop03服务都要执行该操作。
5、同步时间
ntp组件安装
# 安装yum install ntpdate ntp -y# 查看rpm -qa|grep ntp
基础管理命令
# 查看状态service ntpd status# 启动service ntpd start# 开机启动chkconfig ntpd on
修改时间服务hop01
# 修改ntp配置vim /etc/ntp.conf# 添加内容restrict 192.168.0.0 mask 255.255.255.0 nomodify notrapserver 127.0.0.1fudge 127.0.0.1 stratum 10
修改hop02\hop03时间机制,从hop01同步时间,并注销网络获取时间的机制。
server 192.168.37.133# server 0.centos.pool.ntp.org iburst# server 1.centos.pool.ntp.org iburst# server 2.centos.pool.ntp.org iburst# server 3.centos.pool.ntp.org iburst
编写定时任务
[root@hop02 ~]# crontab -e*/10 * * * * /usr/sbin/ntpdate hop01
修改hop02和hop03服务时间
# 指定时间date -s "2018-05-20 13:14:55"# 查看时间date
这样时间会基于hop01服务的时间不断的更正或同步。
6、环境清理
从伪分布式环境虚拟机克隆三台Centos7服务,删除原来hadoop环境配置的data和log文件夹。
[root@hop02 hadoop2.7]# rm -rf data/ logs/
二、集群环境搭建
1、集群配置概览
服务列表
HDFS文件
YARN调度
单服务
hop01
DataNode
NodeManager
NameNode
hop02
DataNode
NodeManager
ResourceManager
hop03
DataNode
NodeManager
SecondaryNameNode
2、修改配置
vim core-site.
<property> <name>fs.defaultFS</name> <value>hdfs://hop01:9000</value></property>
这里三台服务都需要分别指定当前主机名称。
vim hdfs-site.
<property> <name>dfs.replication</name> <value>3</value></property><property> <name>dfs.namenode.secondary.http-address</name> <value>hop03:50090</value></property>
这里修改副本数为3,并指定SecondaryNameNode服务,三台服务同样修改指定SecondaryNameNode在hop03服务上。
vim yarn-site.
<property> <name>yarn.resourcemanager.hostname</name> <value>hop.........