RedHat Linux AS6上搭建Hadoop集群总结

在家里的两台电脑上用VMware+RedHat Linux AS6 + Hadoop-0.21.0上搭建了一个3节点的Hadoop集群,虽说是原来已经搭建过类似的集群了,也跑过JavaAPI来操作HDFS与Map/reduce,但是这一次依然是受到挑战了,好些小细节,稍有遗漏就会有如坐过山车一般大起大落。故此,记下本次的操作的几个步骤,以供后续参考。

1、建3个VM的虚拟机,保证互联互通

IP address:192.168.43.201   hostname :zhangzk01
IP address:192.168.43.202   hostname :zhangzk02
IP address:192.168.43.203   hostname :zhangzk03

以zhangzk01为namenode节点,zhangzk02与zhangzk03为datanode。

zhangzk01机器的/etc/hosts文件内容修改为如下形式:

127.0.0.1       localhost       localhost.localdomain   localhost
192.168.43.201  zhangzk01       zhangzk01.localdomain   zhangzk01
192.168.43.202  zhangzk02
192.168.43.203  zhangzk03

zhangzk02机器的/etc/hosts文件内容修改为如下形式:

127.0.0.1       localhost       localhost.localdomain   localhost
192.168.43.202  zhangzk02       zhangzk02.localdomain   zhangzk02
192.168.43.201  zhangzk01

192.168.43.203  zhangzk03

zhangzk03机器的/etc/hosts文件内容修改为如下形式:

127.0.0.1       localhost       localhost.localdomain   localhost
192.168.43.203  zhangzk03       zhangzk03.localdomain   zhangzk03
192.168.43.201  zhangzk01

192.168.43.202  zhangzk02

2、保证Master/Slave机器之间可以通过SSH无密钥互相访问

在3台机器上建立一个相同的用户,zhangzk,家目录为/home/zhangzk。

zhangzk01:

以用户zhangzk登录zhangzk01,在家目录下执行下述命令:

ssh-keygen -t rsa

一路回车下去即可在目录/home/zhangzk/.ssh/下建立两个文件 id_rsa.pub和id_rsa。

接下来,需要进入/home/zhangzk/.ssh目录,执行如下命令:

cd .ssh

再把is_rsa.pub文件复制到zhangzk02和zhangzk03机器上去。

scp -r id_rsa.pub zhangzk@zhangzk03:/home/zhangzk/.ssh/authorized_keys_zhangzk01
scp -r id_rsa.pub zhangzk@zhangzk02:/home/zhangzk/.ssh/authorized_keys_zhangzk01

zhangzk02:

以用户zhangzk登录zhangzk02,在目录下执行命令:

ssh-keygen -t rsa

一路回车下去即可在目录/home/zhangzk/.ssh/下建立两个文件 id_rsa.pub和id_rsa。

接下来,需要进入/home/zhangzk/.ssh目录,执行如下命令:

cd .ssh

再把is_rsa.pub文件复制到zhangzk01机器上去。

scp -r id_rsa.pub zhangzk@zhangzk01:/home/zhangzk/.ssh/authorized_keys_zhangzk02

zhangzk03:

以用户zhangzk登录zhangzk03,在目录下执行命令:

ssh-keygen -t rsa

一路回车下去即可在目录/home/zhangzk/.ssh/下建立两个文件 id_rsa.pub和id_rsa。

接下来,需要进入/home/zhangzk/.ssh目录,执行如下命令:

cd .ssh

再把is_rsa.pub文件复制到zhangzk01机器上去。

scp -r id_rsa.pub zhangzk@zhangzk01:/home/zhangzk/.ssh/authorized_keys_zhangzk03

*******************************************************************************

上述方式分别为zhangzk01\zhangzk02\zhangzk03机器生成了rsa密钥,并且把zhangzk01的id_rsa.pub复制到zhangzk02\zhangzk03上去了,而把zhangzk02和zhangzk03上的id_rsa.pub复制到zhangzk01上去了。

接下来还要完成如下步骤:

zhangzk01:

以zhangzk用户登录zhangzk01,并且进入目录/home/zhangzk/.ssh下,执行如下命令:

cat id_rsa.pub >> authorized_keys
cat authorized_keys_zhangzk02 >> authorized_keys
cat authorized_keys_zhangzk03 >> authorized_keys
chmod 644 authorized_keys

zhangzk02:

以zhangzk用户登录zhangzk02,并且进入目录/home/zhangzk/.ssh下,执行如下命令:

cat id_rsa.pub >> authorized_keys
cat authorized_keys_zhangzk01 >> authorized_keys
chmod 644 authorized_keys

zhangzk03:

以zhangzk用户登录zhangzk03,并且进入目录/home/zhangzk/.ssh下,执行如下命令:

cat id_rsa.pub >> authorized_keys
cat authorized_keys_zhangzk01 >> authorized_keys
chmod 644 authorized_keys

通过上述配置,现在以用户zhangzk登录zhangzk01即可以无密钥认证方式访问zhangzk02和zhangzk03了,同样也可以在zhangzk02和zhangzk03上以ssh zhangzk01方式连接到zhangzk01上进行访问了。

相关推荐