阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop2.2.0完全分布式集群平台安装与设置

156次阅读
没有评论

共计 17769 个字符,预计需要花费 45 分钟才能阅读完成。

前提条件:
(1)、首先在每台 Linux 电脑上面安装好 JDK6 或其以上版本,并设置好 JAVA_HOME 等,测试一下 java、javac、jps 等命令是否可以在终端使用,如何配置 JDK 这里就不说了;
(2)、在每台 Linux 上安装好 SSH,如何安装请参加《Linux 平台下安装 SSH》http://www.linuxidc.com/Linux/2014-01/94793.htm。后面会说如何配置 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 无密码登陆

在本博客里面已经介绍了如何安装 SSH(《Linux 平台下安装 SSH》),和怎么设置 SSH 无密码登陆(《Ubuntu 和 CentOS 如何配置 SSH 使得无密码登陆》),这里主要是想说一下需要注意的事项,首先在 master 主机上面设置好了 SSH 无密码登陆之后,然后将生成的 id_dsa.pub 文件拷贝到 node 和 node1 上面去,可以运行下面的命令:
[linuxidc@localhost ~]$ cat /home/linuxidc/.ssh/id_dsa.pub | \ ssh
linuxidc@192.168.142.139 ‘cat – >> ~/.ssh/authorized_keys’
要确保 192.168.142.139 主机的 SSH 服务是运行的。linuxidc@192.168.142.139 的 linuxidc 是你需要登录 192.168.142.139 主机的用户名。同样,你也可以用上面类似的命令将 id_dsa.pub 拷贝到 192.168.142.140 主机上面去。
当然,你也可以用 scp 命令将文件拷贝到相应的主机:

[linuxidc@master Documents]$ scp /home/linuxidc/.ssh/id_dsa.pub \
linuxidc@192.168.142.139:~/.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
显示出刚刚解压文件的文件夹。

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

6、配置 Hadoop 的环境变量
[linuxidc@linuxidc hadoop]$ sudo vim /etc/profile 在 /etc/profile 文件的末尾加上以下配置 export
HADOOP_DEV_HOME=/home/linuxidc/Downloads/hadoop/hadoop-2.2.0 export
PATH=$PATH:$HADOOP_DEV_HOME/bin export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME} export
HADOOP_COMMON_HOME=${HADOOP_DEV_HOME} export
HADOOP_HDFS_HOME=${HADOOP_DEV_HOME} export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
然后按:wq 保存。为了让刚刚的设置生效,运行下面的命令
 [linuxidc@linuxidc hadoop]$ sudo source /etc/profile
在终端输入 hadoop 命令查看 Hadoop 的环境变量是否生效:
[linuxidc@node ~]$ hadoop Usage: hadoop [–config confdir] COMMAND where
COMMAND is one of: fs run a generic filesystem user client version print
the version jar <jar> run a jar file checknative [-a|-h] check native
hadoop and compression libraries availability distcp <srcurl> <desturl>
copy file or directories recursively archive -archiveName NAME -p
<parent path> <src>* <dest> create a hadoop archive classpath prints the
class path needed to get the Hadoop jar and the required libraries
daemonlog get/set the log level for each daemon or CLASSNAME run the
class named CLASSNAME Most commands print help when invoked w/o
parameters. [linuxidc@node ~]$
如果显示上面的信息,说明环境变量生效了,如果显示不了,重启一下电脑再试试。

7、修改 Hadoop 的配置文件

修改 Hadoop 的 hadoop-env.sh 配置文件,设置 jdk 所在的路径:
[linuxidc@linuxidc hadoop]$ vim etc/hadoop/hadoop-env.sh
在里面找到 JAVA_HOME,并将它的值设置为你电脑 jdk 所在的绝对路径 # The java implementation to use.
export JAVA_HOME=/home/linuxidc/Downloads/jdk1.7.0_45
依次修改 core-site.xml、yarn-site.xml、mapred-site.xml 和 hdfs-site.xml 配置文件
—————-core-site.xml <property> <name>fs.default.name</name>
<value>hdfs://master:8020</value> <final>true</final> </property>
<property> <name>hadoop.tmp.dir</name>
<value>/home/linuxidc/cloud/tmp/hadoop2.0</value> </property>
————————- yarn-site.xml <property>
<name>yarn.nodemanager.aux-services</name> <value>mapreduce</value>
</property> <property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
———————— mapred-site.xml <property>
<name>mapreduce.framework.name</name> <value>yarn</value> </property>
<property> <name>mapred.system.dir</name>
<value>file:/opt/cloud/hadoop_space/mapred/system</value>
<final>true</final> </property> <property> <name>mapred.local.dir</name>
<value>file:/opt/cloud/hadoop_space/mapred/local</value>
<final>true</final> </property> ———– hdfs-site.xml <property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/cloud/hadoop_space/dfs/name</value> <final>true</final>
</property> <property> <name>dfs.datanode.data.dir</name>
<value>file:/opt/cloud/hadoop_space/dfs/data</value>
<description>Determines where on the local filesystem an DFS data node
should store its blocks. If this is a comma-delimited list of
directories, then data will be stored in all named directories,
typically on different devices. Directories that do not exist are
ignored. </description> <final>true</final> </property> <property>
<name>dfs.replication</name> <value>1</value> </property> <property>
<name>dfs.permissions</name> <value>false</value> </property>
配置好 Hadoop 的相关东西之后,请将 hadoop-2.2.0 整个文件夹分别拷贝到 node 和 node1 主机上面去,设置都不需要改!

8、关掉 master、node 和 node1 的防火墙

如果在 node 上启动 nodemanager,遇到 java.net.NoRouteToHostException 异常
java.net.NoRouteToHostException: No Route to Host from
localhost.localdomain/192.168.142.139 to 192.168.142.138:8031 failed on
socket timeout exception: java.net.NoRouteToHostException: No route to
host; For more details see: http://wiki.apache.org/hadoop/NoRouteToHost
……………… 省略了好多东西 Caused by: java.net.NoRouteToHostException: No
route to host at sun.nio.ch.SocketChannelImpl.checkConnect(Native
Method) ……………… 省略了好多东西 at
org.apache.hadoop.ipc.Client.getConnection(Client.java:1399) at
org.apache.hadoop.ipc.Client.call(Client.java:1318) … 19 more
说明了没有关闭防火墙,各个 linux 平台关闭防火墙的方法不一样,这里也分享一下:
(1)、对于 Ubuntu 关闭防火墙

 可以运行:ufw disable 如果你要防火墙可以运行:apt-get remove iptables
(2)、对于 Fedora 关闭防火墙可以运行:
[linuxidc@linuxidc hadoop]$ sudo systemctl stop firewalld.service [linuxidc@linuxidc
hadoop]$ sudo systemctl disable firewalld.service
9、查看 Hadoop 是否运行成功

首先在 master 上面格式化一下 HDFS, 如下命令
[linuxidc@linuxidc hadoop]$ cd $hadoop_home [linuxidc@linuxidc hadoop-2.2.0]$ hdfs namenode
-format 13/10/28 16:47:33 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
………….. 此处省略好多文字 ………………….
************************************************************/ 13/10/28
16:47:33 INFO namenode.NameNode: registered UNIX signal handlers for
[TERM, HUP, INT] Formatting using clusterid:
CID-9931f367-92d3-4693-a706-d83e120cacd6 13/10/28 16:47:34 INFO
namenode.HostFileManager: read includes: HostSet() 13/10/28 16:47:34
INFO namenode.HostFileManager: read excludes: HostSet()
………….. 此处也省略好多文字 …………………. 13/10/28 16:47:38 INFO
util.ExitUtil: Exiting with status 0 13/10/28 16:47:38 INFO
namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at linuxidc/192.168.142.138
************************************************************/ [linuxidc@linuxidc
hadoop-2.2.0]$
在 master 中启动 namenode 和 resourcemanager
[linuxidc@linuxidc hadoop-2.2.0]$ sbin/hadoop-daemon.sh start namenode [linuxidc@linuxidc
hadoop-2.2.0]$ sbin/yarn-daemon.sh start resourcemanager
在 node 和 node1 中启动 datanode 和 nodemanager
[linuxidc@linuxidc hadoop-2.2.0]$ sbin/hadoop-daemon.sh start datanode [linuxidc@linuxidc
hadoop-2.2.0]$ sbin/yarn-daemon.sh start nodemanager
检查 Hadoop 集群是否安装好了,在 master 上面运行 jps,如果有 NameNode、SecondaryNameNode 和 ResourceManager 三个进程,说明 master 安装好了。
[linuxidc@master hadoop]$ jps 2016 NameNode 2386 SecondaryNameNode 2602
ResourceManager
在 node(node1)上面运行 jps,如果有 DataNode、NodeManager 二个进程,说明 node(node1)安装好了。
 [linuxidc@node network-scripts]$ jps 7889 DataNode 7979 NodeManager

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

前提条件:
(1)、首先在每台 Linux 电脑上面安装好 JDK6 或其以上版本,并设置好 JAVA_HOME 等,测试一下 java、javac、jps 等命令是否可以在终端使用,如何配置 JDK 这里就不说了;
(2)、在每台 Linux 上安装好 SSH,如何安装请参加《Linux 平台下安装 SSH》http://www.linuxidc.com/Linux/2014-01/94793.htm。后面会说如何配置 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 无密码登陆

在本博客里面已经介绍了如何安装 SSH(《Linux 平台下安装 SSH》),和怎么设置 SSH 无密码登陆(《Ubuntu 和 CentOS 如何配置 SSH 使得无密码登陆》),这里主要是想说一下需要注意的事项,首先在 master 主机上面设置好了 SSH 无密码登陆之后,然后将生成的 id_dsa.pub 文件拷贝到 node 和 node1 上面去,可以运行下面的命令:
[linuxidc@localhost ~]$ cat /home/linuxidc/.ssh/id_dsa.pub | \ ssh
linuxidc@192.168.142.139 ‘cat – >> ~/.ssh/authorized_keys’
要确保 192.168.142.139 主机的 SSH 服务是运行的。linuxidc@192.168.142.139 的 linuxidc 是你需要登录 192.168.142.139 主机的用户名。同样,你也可以用上面类似的命令将 id_dsa.pub 拷贝到 192.168.142.140 主机上面去。
当然,你也可以用 scp 命令将文件拷贝到相应的主机:

[linuxidc@master Documents]$ scp /home/linuxidc/.ssh/id_dsa.pub \
linuxidc@192.168.142.139:~/.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
显示出刚刚解压文件的文件夹。

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计17769字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中