前提条件:
(1)、首先在每台Linux电脑上面安装好JDK6或其以上版本,并设置好JAVA_HOME等,测试一下java、javac、jps等命令是否可以在终端使用,如何配置JDK这里就不说了;
(2)、在每台Linux上安装好SSH,如何安装请参加《Linux平台下安装SSH》 。后面会说如何配置SSH无密码登录。
有了上面的前提条件之后,我们接下来就可以进行安装Hadoop分布式平台了。步骤如下:
1、先设定电脑的IP为静态地址:
由于各个Linux发行版本静态IP的设置不一样,这里将介绍CentOS、Ubunt、Fedora 19静态IP的设置步骤:
(1)、CentOS静态IP地址设置步骤如下:
[linuxidc@linuxidc hadoop]$ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
在里面添加下面语句: IPADDR=192.168.142.139 NETMASK=255.255.255.0
NETWORK=192.168.0.0
里面的IPADDR地址设置你想要的,我这里是192.168.142.139。
设置好后,需要让IP地址生效,运行下面命令:
[linuxidc@linuxidc hadoop]$ sudo service network restart Shutting down interface
eth0: Device state: 3 (disconnected) [ OK ] Shutting down loopback
interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up
interface eth0: Active connection state: activated Active connection
path: /org/freedesktop/NetworkManager/ActiveConnection/7 [ OK ] [linuxidc@linuxidc
hadoop]$
然后运行ifconfig检验一下设置是否生效:
[linuxidc@linuxidc hadoop]$ ifconfig eth0 Link encap:Ethernet HWaddr
00:0C:29:9F:FB:C0 inet addr:192.168.142.139 Bcast:192.168.142.255
Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe9f:fbc0/64 Scope:Link UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:389330 errors:0
dropped:0 overruns:0 frame:0 TX packets:171679 errors:0 dropped:0
overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:473612019
(451.6 MiB) TX bytes:30110196 (28.7 MiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP
LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:80221 errors:0 dropped:0
overruns:0 frame:0 TX packets:80221 errors:0 dropped:0 overruns:0
carrier:0 collisions:0 txqueuelen:0 RX bytes:1051174395 (1002.4 MiB) TX
bytes:1051174395 (1002.4 MiB) [linuxidc@linuxidc hadoop]$
可见IP地址已经设置为192.168.142.139了!
(2)、Ubuntu静态IP地址设置步骤如下:
linuxidc@node1:~$ sudo vim /etc/network/interfaces 在里面添加: auto eth0 iface
eth0 inet static address 192.168.142.140 netmask 255.255.255.0 gateway
192.168.142.1
同样需要让IP地址生效:
linuxidc@node1:~$ sudo /etc/init.d/networking restart
同样也是输入ifconfig来检验IP设置是否生效,这里就不说了。
(3)、Fedora 19静态IP地址设置步骤如下(Fedora其他版本的静态IP设置和19版本不一样,这里就不给出了):
[linuxidc@linuxidc network-scripts]$ sudo vim
/etc/sysconfig/network-scripts/ifcfg-ens33 在里面添加:
IPADDR0=192.168.142.138 NETMASK0=255.255.255.0 GATEWAY0=192.168.142.0
设置好后,需要让IP地址生效,运行下面命令:
[linuxidc@linuxidc network-scripts]$ sudo service network restart Restarting
network (via systemctl): [ 确定 ]
同样也是输入ifconfig来检验IP设置是否生效,这里就不说了。
2、设置各个主机的hostname
在步骤1中,我分别配置了CentOS、Ubuntu以及Fedora三台主机,我打算用它们作为集群中的电脑,其中Fedora主机作为master,其余的两台电脑作为slave。这步将说说如何修改这三台电脑的hostname:
(1)、Fedora19 设置hostname步骤如下:
[linuxidc@linuxidc network-scripts]$ sudo hostnamectl set-hostname master
查看设置是否生效,运行下面命令 [linuxidc@linuxidc network-scripts]$ hostname master
(2)、Ubuntu设置hostname步骤如下:
linuxidc@node1:~$ sudo vim /etc/hostname 在里面添加自己需要取的hostname,我这里是取node1。
查看设置是否生效,运行下面命令 linuxidc@node1:~$ hostname node1
(3)、CentOS设置hostname步骤如下:
[linuxidc@node network-scripts]$ sudo vim /etc/sysconfig/network
将里面的HOSTNAME修改为你想要的hostname,我这里是取node HOSTNAME=node 查看设置是否生效,运行下面命令
[linuxidc@node network-scripts]$ hostname node
3、在以上三台电脑的/etc/hosts添加以下配置:
[linuxidc@master ~]$ sudo vim /etc/hosts 在里面添加以下语句 192.168.142.138 master
192.168.142.139 node 192.168.142.140 node1
其实就是上面三台电脑的静态IP地址和其hostname的对应关系。检验是否修改生效,可以用ping来查看:
[linuxidc@master ~]$ ping node PING node (192.168.142.139) 56(84) bytes of
data. 64 bytes from node (192.168.142.139): icmp_seq=1 ttl=64 time=0.541
ms 64 bytes from node (192.168.142.139): icmp_seq=2 ttl=64 time=0.220 ms
^C --- node ping statistics --- 2 packets transmitted, 2 received, 0%
packet loss, time 1000ms rtt min/avg/max/mdev = 0.220/0.380/0.541/0.161
ms [linuxidc@master ~]$
如果上面的命令可以ping通,说明设置生效了。
4、设置SSH无密码登陆