一、克隆出第二台虚拟机,配置slave节点。
下面我们要进行克隆第二台和第三台虚拟机进行剩下的集群搭建:
第一台虚拟机我们已经配置好jdk和Hadoop,克隆以后我们只需改ssh和配置网卡IP,三台虚拟机的免密就OK了。
同理克隆第二台
1、配置两个节点的免密登录和时间同步机制。
编辑各节点 vim /etc/hosts
添加:
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
2.配置SSH无密码登录
(1)使用ssh-keygen产生公钥与私钥对。
输入命令“ssh-keygen -t rsa”,接着按三次Enter键,生成私有密钥id_rsa和公有密钥id_rsa.pub两个文件。
(2)用ssh-copy-id将公钥复制到远程机器中
ssh-copy-id -i /root/.ssh/id_rsa.pub master //并且依次输入yes,123456(root用户的密码)
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
(3)验证是否设置无密码登录
依次输入
ssh slave1
ssh slave2
3. 配置时间同步机制,分别在各个节点进行安装NTP服务
(1)安装NTP服务。在各节点:
yum -y install ntp
(2)设置master节点为NTP服务主节点,
使用命令“vim /etc/ntp.conf”打开/etc/ntp.conf文件,注释掉以server开头的行,并添加:
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(3)在所有slave节点中配置NTP,同样修改/etc/ntp.conf文件,注释掉server开头的行,并添加:
server master
(4)执行命令“service iptables stop & chkconfig iptables off”永久性关闭防火墙,主节点和从节点都要关闭。
(5)启动之前更正时间。
修改centos的时间,解决时间比本地实际时间快了8小时:
vi /etc/sysconfig/clock #编辑文件
ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false
#linux的时区设置为上海
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#对准时间
ntpdate 1.cn.pool.ntp.org
#设置硬件时间和系统时间一致并校准
/sbin/hwclock --systohc
使用date命令查看时间
(6)启动NTP服务。
① 在master节点执行命令
service ntpd start & chkconfig ntpd on
② 在slave1、slave2、slave3上执行命令“ntpdate master”即可同步时间
③ 在slave1、slave2、slave3上分别执行“service ntpd start & chkconfig ntpd on”即可启动并永久启动NTP服务。
(7). 格式化NameNode每个节点都需要使用该命令
进入目录
cd /usr/local/hadoop-2.7.4/bin
执行格式化
./hdfs namenode -format
(8).启动集群
进入目录
cd /usr/local/hadoop-2.7.4/sbin
执行启动:
./start-all.sh
使用jps,查看进程
至此我们搭建Hadoop完全分布式集群的初级教程就到此结束了!
感谢大家的陪伴!@script boy下的所有小可爱。