程序员人生 网站导航

[置顶] 【Hadoop基础教程】4、Hadoop之完全分布式环境搭建

栏目:服务器时间:2015-03-30 08:57:20

上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

1、 集群拓扑图


我们使用4台机器来搭建Hadoop完全散布式环境,4台机器的拓扑图以下图所示:

集群拓扑图

Hadoop集群中每一个节点的角色以下表所示:

Hadoop集群中每个节点的角色表示

2、 配置SSH


  • 环境准备

下面以配置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本机无密码登录

下面以配置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~KVMSlave3

下面以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~KVMSlave3本机无密码登录K-Master

下面以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  
    
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐