上1篇blog我们完成了Hadoop伪散布式环境的搭建,伪散布式模式也叫单节点集群模式, NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker所有的守护进程全部运行在K-Master节点之上。在本篇blog我们将搭建完全散布式环境,运行NameNode、SecondaryNameNode、JobTracker守护进程在主节点上,运行DataNode、TaskTracker在从节点上。特别注意:在搭建Hadoop完全散布式环境前请确保完成了【Hadoop基础教程】1、Hadoop之服务器基础环境搭建 。
硬件环境:Centos 6.5 服务器4台(1台为Master节点,3台为Slave节点)
软件环境:Java 1.7.0_45、hadoop⑴.2.1
我们使用4台机器来搭建Hadoop完全散布式环境,4台机器的拓扑图以下图所示:
Hadoop集群中每一个节点的角色以下表所示:
下面以配置K-Master启动SSH服务为例进行演示,用户需参照下面步骤完成KVMSlave1~KVMSlave33台子节点机器的SSH服务启动;
1)以hadoop用户远程登录K-Master服务器,启动SSH服务;
[hadoop@K-Master hadoop]$ sudo /etc/init.d/sshd start
2)设置开机启动:
[hadoop@K-Master hadoop]$ sudo chkconfig sshd on
下面以配置K-Master本机无密码登录为例进行讲授,用户需参照下面步骤完成KVMSlave1~KVMSlave33台子节点机器的本机无密码登录;
1)以hadoop用户远程登录K-Master服务器,在K-Master服务器上生成公钥和私钥密码对,密钥默许存储在”/home/hadoop/.ssh”目录下,生成公钥和私钥密码对时,无需输入密码,直接回车便可。
#切换到hadoop用户,不能使用root用户生成密钥
[hadoop@K-Master hadoop]$ su hadoop
[hadoop@K-Master hadoop]$ cd /home/hadoop/
[hadoop@K-Master hadoop]$ ssh-keygen -t rsa -P ""
2)将公钥追加到”authorized_keys”文件
[hadoop@K-Master hadoop]$ cd /home/hadoop/
[hadoop@K-Master hadoop]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
3)赋予权限
[hadoop@K-Master hadoop]$ chmod 600 .ssh/authorized_keys
4)验证本性能无密码访问
[hadoop@K-Master hadoop]$ ssh K-Master
下面以K-Master无密码登录KVMSlave1为例进行讲授,用户需参照下面步骤完成K-Master无密码登录KVMSlave2~KVMSlave3。
1)以hadoop用户远程登录KVMSlave1服务器,复制K-Master服务器的公钥”id_rsa.pub”到KVMSlave1服务器的”/home/hadoop/”目录下。
[hadoop@KVMSlave1 hadoop]$ cd /home/hadoop/
[hadoop@KVMSlave1 hadoop]$ scp hadoop@K-Master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/
2)将K-Master的公钥(/home/hadoop/id_rsa.pub)追加到KVMSlave1的authorized_keys中。
[hadoop@KVMSlave1 hadoop]$ cd /home/hadoop
[hadoop@KVMSlave1 hadoop]$ cat id_rsa.pub >> .ssh/authorized_keys
[hadoop@KVMSlave1 hadoop]$ rm -r /home/hadoop/id_rsa.pub
3)另外开启1个终端,远程登录K-Master服务器,在K-Master服务器测试通过SSH无密码登录KVMSlave1。
[hadoop@K-Master hadoop]$ ssh KVMSlave1
下面以KVMSlave1无密码登录K-Master为例进行讲授,用户需参照下面步骤完成KVMSlave2~KVMSlave3无密码登录K-Master。
1)以hadoop用户远程登录K-Master,复制KVMSlave1服务器的公钥”id_rsa.pub”到KVMSlave1服务器的”/home/hadoop/”目录下。
[hadoop@K-Master hadoop]$ scp hadoop@KVMSlave1:/home/hadoop/.ssh/id_rsa.pub /home/hadoop
2)将KVMSlave1的公钥(/home/hadoop/id_rsa.pub)追加到K-Master的authorized_keys中。
[hadoop@K-Master hadoop]$ cd /home/hadoop
[hadoop@K-Master hadoop]$ cat id_rsa.pub >> .ssh/authorized_keys
[hadoop@K-Master hadoop]$ rm
上一篇 iOS 优化内存(八)持久化