最近要用CentOS6.5搭建Hadoop集群环境,发现有很多问题,花了很久时间才勉强搭好。这里把一些要注意的问题整理下,供大家参考。
具体步骤可移步Linux公社的一篇文章http://www.linuxidc.com/Linux/2015-11/124800.htm。我是参考这篇文章的。这里默认你已经配置好网络了,即可以ping通网络。如果你网络都还没弄好,那就要先百度相关内容弄好。
1、首先要准备3台CentOS 6.5。我是用虚拟机VMware来实现的。如果你安装好了一个CentOS系统,可以直接克隆另外两个系统,即右击CentOS,看到“管理”,再点击“克隆”,关于克隆的具体细节可以问度娘,此处不再赘述。
用ifconfig查看ip地址,我的主机即CentOS的ip为192.168.142.129,两台从机的ip分别为
CentOS2 192.168.142.133
CentOS3 192.168.142.134
2、设置静态ip
(1)VMWare顶部的“编辑”,看到“虚拟网络编辑器”
“添加网络...”添加VMnet8。然后右击CentOS,进入设置----》虚拟机设置,在“网络连接”那里选“自定义”,再选VMnet8。
(2)在终端编辑ifcfg-eth0,即vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改后结果是:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:57:93:A4
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID=47086c92-86b2-4503-92b8-2c37aae858cd
DNS1=222.246.129.80
DNS2=8.8.8.8
IPADDR=192.168.142.132
NETMASK:255.255.255.0
GATEWAY=192.168.142.2
(没有的内容添加上,千万不要照抄,IPADDR是你自己的ip地址,DNS选你们地区的DNS,我这个DNS是深圳的,GATEWAY是你网络的网关,最后一定要三台CentOS都要设置好静态ip)
3、解决IP冲突。
在两个从机中(我是CentOS2和CentOS3)分别编辑vim /etc/udev/rules.d/70-persistent-net.rules,然后把NAME=“eth0”的那行整行删除,再把NAME=“eth1”的那行将eth1改为eth0
4、修改主机名vim /etc/sysconfig/network
三台都修改一下,比如主机名为master,从机名分别为node1、node2。
再通过service network restart重启网络服务。
5、设置ssh无密码登录。我这里比较简单,直接ssh-keygen -t rsa,一路回车,最终生成(id_rsa,id_rsa.pub两个文件)。然后将公钥添加到认证文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys。这时进入.ssh,可以看到
authorized_keys id_rsa id_rsa.pub known_hosts这几个文件:
将这些文件复制到两个从机中:
scp ~/.ssh/authorized_keys ~/.ssh/id_rsa ~/.ssh/id_rsa.pub root@node1:~/.ssh
scp ~/.ssh/authorized_keys ~/.ssh/id_rsa ~/.ssh/id_rsa.pub root@node2:~/.ssh
这样就可以ssh免密登录了,可以试试ssh node1,不需要密码就说明成功了。
之后的内容移步Linux公社的文章http://www.linuxidc.com/Linux/2015-11/124800.htm吧,这里够详细了。但是配置环境变量的时候记得Hadoop也要配置。
时间有限,就写这么多了。如有错误之处,欢迎大家指正哈!