在CentOS6.9上配置Hadoop集群(一)
一、Centos的系统配置
1、配置网络环境
master和slave必须在同一网段下才能实现连接。
网络安装命令:setup
重新启动网络服务命令:service network restart
网络连接命令:ifup eth0
2、配置系统时钟同步
a.配置自动时钟同步:crontab -e
插入一下内容:0 1 *** /usr/sbin/ntpadate us.pool.ntp.org
b.手动同步时钟:ntpdate us.pool.ntp.org
3、配置主机名称
4、关闭防火墙
命令:setup
5、配置hosts列表
192.168.6.129 master
192.168.6.128 slave01
注意:可以用ifconfig查看ip
验证:ping master
ping slave01
可以按ctrl+C取消
用同样的办法配置slave01,还可以从主节点并hosts
复制到slave01下,用命令:
scp /etc/hosts slave01:/etc/hosts
在slave01下进行验证:
ping master
ping slave01
二、在CentOS上安装JDK
(1)验证有没有安装java,命令:java –version
(2)下载安装包:jdk-7u80-linux-x64.tar.gz 版本:1.7
(3)安装:a.找到目录/usr , 建立一个文件夹java ; 命令:mkdir java
1.使用winSCP上传到虚拟机的指定位置
2.解压文件:tar zxvf jdk-7u80-linux-x64.tar.gz
3.配置JDK环境变量:使用su切换至root用户,用vim编辑.bash_profile ,命令:vim /home/gznc/.bash_profile
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=.:$JAVA_HOME/bin:$PATH
ps:注意等号两边不能有空格,否则报错
使用source命令在当前的bash环境下生效:
source /home/gznc-hadoop/.bash_profile
验证:java –version
4.将上面的配置从主节点(master)分发到所有从节点(slave):
scp -r /usr/java/ slave01:/usr/java/
scp /home/gznc/.bash_profile root@slave01:/home/gznc/.bash_profile
在从节点上使用命令:
source /home/gznc/.bash_profile
验证
java -version
三、SSH免密登陆
1.SSH(Secure Shell):是一种协议,专为远程登录会话和其他网络的协议。
(1)基于口令的安全验证。
(2)基于秘钥的安全验证。
2.配置master SSH免密登录:
(1)进入master,切换到gznc-hadoop@master用户:
(2)输入指令:
ssh-keygen -t rsa
然后回三次车,出现如下界面
(3)进入.ssh文件夹:使用scp指令将id_rsa.pub拷贝到slave01
scp -r /home/gznc-hadoop/.ssh/id_rsa.pub gznc-hadoop@slave01:/home/gznc-hadoop/.ssh
效果如下
然后切换到gznc-hadoop@slave01用户查看,再执行命令:
touch /home/gznc-hadoop/.ssh/authorized_keys
chmod 600 /home/gznc-hadoop/.ssh/authorized_keys
cat /home/gznc-hadoop/.ssh/id_rsa.pub >> /home/gznc-hadoop/.ssh/authorized_keys
(4)测试免密登录:
ssh gznc-hadoop@slave01
这里可以看到不需要输入密码就可以连接成功了
时钟同步报错:ntpdate[3227]: no server suitable for synchronization found
解决办法:[root@localhost Desktop]# ntpdate -u ntp.sjtu.edu.cn