首先在每台Linux电脑上面安装好JDK6或其以上版本,并设置好JAVA_HOME等,测试一下java、javac、jps等命令是否可以在终端使用,具体可参考《Linux中单机配置Hadoop》 中的配置过程
二、设置静态IP
注:如果是在虚拟中建立分布式环境,这一步就可以跳过了。
(1)CentOS静态IP地址设置:
$sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
$sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0在里面添加下面语句:
IPADDR=192.168.1.108
NETMASK=255.255.255.0
NETWORK=192.168.1.1
IPADDR=192.168.1.108 NETMASK=255.255.255.0 NETWORK=192.168.1.1其中,IPADDR为你想要设置的静态IP地址。设置完成后,输入如下命令重启网络服务。
$ sudo service network restart
$ sudo service network restart如果命令输入后结果一直都是OK,则证明重启正常。输入如下命令测试一下,如果结果为你之前设置的IP地址。证明设置正确。
$ ifconfig
$ ifconfig(2)、Ubuntu静态IP地址设置步骤如下:
$ sudo vim /etc/network/interfaces
$ sudo vim /etc/network/interfaces在里面添加:
auto eth0
iface eth0 inet static
address 192.168.1.108
netmask 255.255.255.0
gateway 192.168.1.1
auto eth0 iface eth0 inet static address 192.168.1.108 netmask 255.255.255.0 gateway 192.168.1.1同样需要让IP地址生效,输入
$ sudo /etc/init.d/networking restart
$ sudo /etc/init.d/networking restart再输入ifconfig来检验IP设置是否生效。
三、设置hostname
(1)Ubuntu设置hostname:
$ sudo vim /etc/hostname
$ sudo vim /etc/hostname在里面添加自己需要取的hostname,假设设置为master。
查看设置是否生效,运行下面命令:
$ hostname
$ hostname如果输出master,说明配置生效。
(2)CentOS设置hostname:
$ sudo vim /etc/sysconfig/network
$ sudo vim /etc/sysconfig/network将里面的HOSTNAME修改为你想要的hostname,假设设置为master
HOSTNAME=master
查看设置是否生效,运行下面命令
$ hostname
$ hostname
如果输出master,说明配置生效。
四、设置/etc/hosts
这一步是为了让各机器都能使用hostname通信,而不是用IP地址。我安装了三台CentOS虚拟机。IP地址分别为192.168.1.108、192.168.1.110、192.168.1.111,对应的hostname分别设置为master、node、slave。在各台机器上分别运行如下命令(ubuntu和centos一样):
$ sudo vim /etc/hosts
$ sudo vim /etc/hosts在里面添加以下语句
192.168.1.108 master
192.168.1.110 node
192.168.1.111 slave
192.168.1.108 master 192.168.1.110 node 192.168.1.111 slave注,如果发现hosts文件中有127.0.1.1或者除了127.0.0.1之外的其他内容,将他们删除,否则之后的hadoop操作有可能会出现错误(比如:Hadoop Datanodes cannot find NameNode)。
在每个机器上使用ping命令看能否ping通其他机器。如果能ping通,则证明配置正确。
相关阅读:
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)