MrTitan 2014-01-04
有了上面的前提条件之后,我们接下来就可以进行安装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无密码登陆
在本博客里面已经介绍了如何安装SSH(《Linux平台下安装SSH》),和怎么设置SSH无密码登陆(《Ubuntu和CentOS如何配置SSH使得无密码登陆》),这里主要是想说一下需要注意的事项,首先在master主机上面设置好了SSH无密码登陆之后,然后将生成的id_dsa.pub文件拷贝到node和node1上面去,可以运行下面的命令:
[linuxidc@localhost ~]$ cat /home/linuxidc/.ssh/id_dsa.pub | \ ssh
[email protected] 'cat - >> ~/.ssh/authorized_keys'
要确保192.168.142.139主机的SSH服务是运行的。[email protected]的linuxidc是你需要登录192.168.142.139主机的用户名。同样,你也可以用上面类似的命令将id_dsa.pub拷贝到192.168.142.140主机上面去。
当然,你也可以用scp命令将文件拷贝到相应的主机:
[linuxidc@master Documents]$ scp /home/linuxidc/.ssh/id_dsa.pub \
[email protected]:~/.ssh/authorized_keys
检验是否可以从master无密码登录node和node1,可以用下面的命令:
[linuxidc@master Documents]$ ssh node The authenticity of host 'node
(192.168.142.139)' can't be established. RSA key fingerprint is
ae:99:43:f0:cf:c6:a9:82:6c:93:a1:65:54:70:a6:97. Are you sure you want
to continue connecting (yes/no)? yes Warning: Permanently added
'node,192.168.142.139' (RSA) to the list of known hosts. Last login: Wed
Nov 6 14:54:55 2013 from master [linuxidc@node ~]$
第一次运行上面的命令会出现上述信息。上面[linuxidc@node
~]已经暗示了我们成功从master无密码登录node;如果在登陆过程中出现了需要输入密码才能登录node,说明SSH无密码登录没成功,一般都是文件权限的问题,解决方法请参照《Ubuntu和CentOS如何配置SSH使得无密码登陆》。
5、下载好Hadoop,这里用到的是hadoop-2.2.0.tar.gz,你可以用下面的命令去下载:
下面的操作都是在master机器上进行的。
[linuxidc@linuxidc /home]$ mkdir /home/linuxidc/Downloads/hadoop [linuxidc@linuxidc /home]$ cd
/home/linuxidc/Downloads/hadoop [linuxidc@linuxidc hadoop]$ wget \
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
运行完上面的命令之后,hadoop-2.2.0.tar.gz文件将会保存在/home/linuxidc/Downloads/hadoop里面,请解压它
[linuxidc@linuxidc hadoop]$ tar- zxvf hadoop-2.2.0.tar.gz
之后将会在hadoop文件夹下面生成hadoop-2.2.0文件夹,运行下面的命令
[linuxidc@linuxidc hadoop]$ cd hadoop-2.2.0 [linuxidc@linuxidc hadoop-2.2.0]$ ls -l total 56
drwxr-xr-x. 2 linuxidc linuxidc 4096 Oct 7 14:38 bin drwxr-xr-x. 3 linuxidc linuxidc 4096
Oct 7 14:38 etc drwxr-xr-x. 2 linuxidc linuxidc 4096 Oct 7 14:38 include
drwxr-xr-x. 3 linuxidc linuxidc 4096 Oct 7 14:38 lib drwxr-xr-x. 2 linuxidc linuxidc 4096
Oct 7 14:38 libexec -rw-r--r--. 1 linuxidc linuxidc 15164 Oct 7 14:46 LICENSE.txt
drwxrwxr-x. 3 linuxidc linuxidc 4096 Oct 28 14:38 logs -rw-r--r--. 1 linuxidc linuxidc 101
Oct 7 14:46 NOTICE.txt -rw-r--r--. 1 linuxidc linuxidc 1366 Oct 7 14:46 README.txt
drwxr-xr-x. 2 linuxidc linuxidc 4096 Oct 28 12:37 sbin drwxr-xr-x. 4 linuxidc linuxidc 4096
Oct 7 14:38 share
显示出刚刚解压文件的文件夹。
相关阅读: