您的位置:首页 > 运维架构

Hadoop全分布式集群模式的搭建实验

2013-05-02 17:52 423 查看

1、实验环境:

操作系统:CentOS6.3 x86_64 desktop

主机名称

IP地址

实验角色

备注

master

192.168.1.85

Namenode-first

slave

192.168.1.81

Namenode-second

Node1

192.168.1.88

Datanode

Node2

192.168.1.89

Datanode

Node3

192.168.1.90

Datanode

用于集群维护节点添加实验

注意:使用cloudstack基本资源域模式创建CentOS6.3 x86_64 DeskTop模式,操作系统的安装过了就不再叙述了

2、前期准备:

准备需要的软件(hadoop)





3、开始安装(需要在所有的机器上以root执行)

第一步、关闭防火墙IPtables

[root@localhost ~]# service iptables stop

第二步、更改主机名称

()
HOSTNAME=master #主机 192.168.1.85

HOSTNAME=slave #主机 192.168.1.81

HOSTNAME=node1 #主机 192.168.1.88

HOSTNAME=node2 #主机 192.168.1.89

[root@localhost ~]#注意:都有[root@ ~]#
vi /etc/hosts

删除原有的添加以下内容)

192.168.1.85 master

192.168.1.81 slave

192.168.1.88 node1

192.168.1.89 node2

:wq #保存退出

第四步、名称解析及联通性测试

#slave主机上测试master主机

PING master (192.168.80.128) 56(84) bytes of data.

64 bytes from master (192.168.80.128): icmp_seq=1 ttl=64 time=1.88 ms

#master主机上测试slave主机

PING slave (192.168.80.131) 56(84) bytes of data.

64 bytes from slave (192.168.80.131): icmp_seq=1 ttl=64 time=0.753 ms

4、openssh和rsync的安装

注意:CentOS6.3 x86_64系统默认安装了openssh和rsync,此处我们只是为了验证,可以不用执行下面的操作

[root@master ~]# service sshd status
openssh-daemon (pid 1717) 正在运行...

[root@master ~]# rpm -qa | grep rsync
rsync-3.0.6-9.el6.x86_64

5、创建Hadoop使用账号(所有节点上都需要创建该账号,并提升权限为root)

[root@master ~]# passwd hadoop

更改用户 hadoop 的密码 。

新的 密码:

无效的密码: 它基于字典单词

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。

[root@master ~]# vi /etc/ssh/ssh_config

打开下面47、48、49行首的注释:
RSAAuthentication yes #启用RSA认证

PubkeyAuthentication yes #启用公用和私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys #所有目标主机公用文件路径

:wq 保存,退出

2、重新启动ssh服务

[root@master ~]# su - hadoop

4、创建ssh密钥([hadoop@master
~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.

Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):

Created directory '/home/hadoop/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/hadoop/.ssh/id_rsa.

Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.

The key fingerprint is:

48:f4:29:86:4a:15:13:2b:24:c0:eb:02:db:41:1b:78 hadoop@master

The key's randomart image is:

+--[ RSA 2048]----+

|=.. =o. |

|.+E. = . . |

| o+oo + o |

|.ooo o o |

|oo.. . S |

|o.. |

|. |

| |

| |

+-----------------+

密钥生成完成以后,master主机的公钥到其他节点上, 能访问其它[root@slave
~]# vim /etc/ssh/sshd_config

(打开如下47、48、49行的注释)
RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

:wq 保存退出

2、重新启动ssh服务

[@slave ~]# ssh slave
Last login: Fri Apr 12 21:00:30 2013 from slave

备注:其他节点(node1、node2)的操作同上,使之能够无需验证登陆本机和其他所有节点。

7、安装Sun JDK (JAVA环境)

[root@master ~]# java -version
java version "1.6.0_24"

OpenJDK Runtime Environment (IcedTea6 1.11.11) (rhel-1.61.1.11.11.el6_4-x86_64)

OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

② CentOS6.3 x86_64默认安装了jdk

[root@master ~]# rpm -e java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64 --nodeps

④ 上传并安装sun版本的jdk
[root@master ~]# java -version
java version "1.7.0_17"

Java(TM) SE Runtime Environment (build 1.7.0_17-b02)

Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

注意:JAVA家目录备注:上传到目录 /home/hadoop 中,此处我们使用hadoop的tar.gz软件包

[root@master hadoop]# ls
[root@master hadoop]# chown hadoop.hadoop -R hadoop-1.1.2 #更改目录属主

注意:软件包的上传,我们使用的是SecureCRT自带的工具

9、配置Hadoop

此处我们配置[root@master ~]# mkdir -p /usr/hadoop/tmp[root@master
~]# chmod /usr/hadoop/tmp[root@master hadoop]# chown hadoop.hadoop -R /usr/hadoop/

2、配置masters文件,指定备用namenode节点

[root@master hadoop]# vi [root@master conf]# vi slaves

192.168.1.88 #node1

192.168.1.89 #node2

:wq 退出并保存

注意:slave文件中用于指定集群中datanode节点成员

4、设置core-site.xml文件

/usr/hadoop/tmp</value>
</property>

<!-- file system properties -->

<property>

<name>fs.default.name</name>

<value>master[root@master conf]# vi hdfs-site.xml

注意:配置的备份方式默认是3,这里只有两个datanode(slave),所以数据最大复制2份
<configuration>

<property>

<name>dfs.replication</name>

<value>[root@master conf]# vi mapred-site.xml

修改后内容如下:
<configuration>

<property>

<name>mapred.job.tracker</name>

<value>:9001</value>

</property>

</configuration>

[root@master conf]# vi hadoop-env.sh

export JAVA_HOME=[root@master ~]# service iptables 使用hadoop的用户进行操作(备注:只需要操作一次,下次启动就不需要了)

[hadoop@master ~]$ hadoop-1.1.2/bin/hadoop namenode -format
13/04/26 11:13:11 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

STARTUP_MSG: Starting NameNode

STARTUP_MSG: host = master/192.168.1.85

STARTUP_MSG: args = [-format]

STARTUP_MSG: version = 1.1.2

STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.1 -r 1440782; compiled by 'hortonfo' on Thu Jan 31 02:03:24 UTC 2013

************************************************************/

13/04/26 11:13:11 INFO util.GSet: VM type = 64-bit

13/04/26 11:13:11 INFO util.GSet: 2% max memory = 19.33375 MB

13/04/26 11:13:11 INFO util.GSet: capacity = 2^21 = 2097152 entries

13/04/26 11:13:11 INFO util.GSet: recommended=2097152, actual=2097152

13/04/26 11:13:12 INFO namenode.FSNamesystem: fsOwner=hadoop

13/04/26 11:13:12 INFO namenode.FSNamesystem: supergroup=supergroup

13/04/26 11:13:12 INFO namenode.FSNamesystem: isPermissionEnabled=true

13/04/26 11:13:12 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100

13/04/26 11:13:12 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)

13/04/26 11:13:12 INFO namenode.NameNode: Caching file names occuring more than 10 times

13/04/26 11:13:12 INFO common.Storage: Image file of size 112 saved in 0 seconds.

13/04/26 11:13:12 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/usr/hadoop/tmp/dfs/name/current/edits

13/04/26 11:13:12 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/usr/hadoop/tmp/dfs/name/current/edits

13/04/26 11:13:12 INFO common.Storage: Storage directory /usr/hadoop/tmp/dfs/name has been successfully formatted.

13/04/26 11:13:12 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at master/192.168.1.85

************************************************************/

10.3启动hadoop
namenode, logging to /home/hadoop/hadoop-1.1.2/libexec/../logs/hadoop-hadoop-namenode-master.out
192.168.1.89: starting datanode, logging to /home/hadoop/hadoop-1.1.2/libexec/../logs/hadoop-hadoop-datanode-node1.out

192.168.1.81: starting jobtracker, logging to /home/hadoop/hadoop-1.1.2/libexec/../logs/hadoop-hadoop-jobtracker-master.out

192.168.1.89: starting tasktracker, logging to /home/hadoop/hadoop-1.1.2/libexec/../logs/hadoop-hadoop-tasktracker-node1.out

,启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 mapred
文件夹。
[root@node1 hadoop]# ll /usr/hadoop/tmp/
总用量 8

drwxrwxr-x. 3 hadoop hadoop 4096 4月 26 11:16 dfs

drwxrwxr-x. 3 hadoop hadoop 4096 4月 26 11:16 mapred

10.5验证方式二:

1、 <span
color:="" rgb(51,102,255);="" font-size:="" 10.5pt;="" font-weight:="" normal;="" mso-spacerun:="" 'yes';="" mso-shading:="" rgb(255,255,255)"="" style="padding: 0px; margin: 0px; font-family: Verdana;">"http:192.168.:50030"





访问"1.85"





12、停止 hadoop集群

stopping jobtracker

192.168.1.85: stopping tasktracker

192.168.1.89: stopping tasktracker

stopping namenode

192.168.1.85: stopping datanode

192.168.1.89: stopping datanode

192.168.1.81: stopping secondarynamenode

------至此,hadoop全分布式集群搭建完毕

转自:http://hongxin.blog.51cto.com/2464891/1189499
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: