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

在CentOS上安装Hadoop集群

2013-11-22 00:14 344 查看
Hadoop是Apache组织的一个顶级项目,它是一个分布式系统架构。Hadoop实现了一个分布式文件系统(HDFS),易于部署在低廉的硬件设备上,并且极易扩充。Hadoop的核心是HDFS和MapReduce。本篇文章主要介绍如何安装Hadoop集群,伪分布模式的安装应该是简单的,因此这里旨在在3台互通的centOS平台上安装完全分布模式的Hadoop集群。

准备工作:3台装有centOS的机器(可以使用虚拟机模拟)

Hadoop版本:0.20.2 (这里使用的是低版本,很小,高版本的安装是基本相似的)

JDK的安装:see /article/10616371.html

1.修改所有节点的 /etc/hosts 文件,使彼此之间都能把主机名解析为IP,如下:



这里使用了3台设备,其中准备用myseu作为master,myseu2和myseu3作为slave

2.三台设备建立统一的Hadoop用户,即用户名均为同样的名字,这里均使用 well 作为用户名

#useradd well

注意,创建用户后需要设置密码后才能登陆该用户,使用如下命令

#passwd well

3.配置SSH免密码登录

CentOS默认情况下是安装有SSH服务的,因此避免了SSH的安装步骤。这里直接介绍如何进行设置免密码登录。

生成密钥并配置SSH无密码登录本机,在终端依次输入如下两条命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
注意,三台机器都需要配置免密码登录,并将生成的 authorized_keys文件互相追加,合并成一个大文件。

可以使用如下命令拷贝文件到两台slave主机:

scp authorized_keys well@myseu2:/home/well/.ssh/
scp authorized_keys well@myseu3:/home/well/.ssh/
最后,需要在每台机器上更改权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
测试是否可以使用免密码登录SSH,可以在任意机器上使用以下命令:

ssh myseu
ssh myseu2
ssh myseu3
第一次登录可能要输入yes确认,以后就可以直接登录了。

4.在master(这里选择的是myseu这台机器)上解压缩hadoop(这里使用的是hadoop-0.20.2.tar.gz文件)

将hadoop解压缩在well用户的home目录下(即/home/well/ 目录中)

#tar -xzvf hadoop-0.20.2.tar.gz

5.在master上配置hadoop

这里需要修改4个文件。core-site.xml,hdfs-site.xml,mapred-site.xml以及hadoop-env.sh文件。这几个文件都位于hadoop文件夹中的conf文件夹下。

core-site.xml配置如下:(这个文件配置

的是master节点)

<configuration>
<property>
<name>fs.default.namename>
<value>hdfs://myseu:9000</value>
</property>


hdfs-site.xml配置如下:(这个文件配置的是slave节点的数量)

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>


mapred-site.xml配置如下:(这里还是配置的是master节点的作业跟踪器,注意value的取值)

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>myseu:9001</value>
</property>
</configuration>


hadoop-env.sh配置如下:

export JAVA_HOME=“你的Java安装地址”


然后,还需要修改masters和slaves文件

#vim masters 添加如下内容

myseu

#vim slaves 添加如下内容

myseu2

myseu3

这样,主节点的hadoop就配置好了。

6.向各节点复制hadoop

其他节点可以使用scp命令直接将主节点的hadoop文件拷贝到其他节点中。(so easy,爸爸再也不用担心集群数量的增加啦)

#scp -r ./hadoop-0.20.2 myseu2:/home/well

#scp -r ./hadoop-0.20.2 myseu3:/home/well

(无论多少节点,只要修改一个常数就能全部拷贝)

7.格式化分布式文件系统(这个操作只需要在master节点进行)

#bin/hadoop namenode -format

8.启动守护进程

#bin/start-all.sh



成功启动后,可以使用jps命令检查几个进程是否都成功启动了。如上图下半部分所示。

9.检查hadoop是否安装成功

使用浏览器访问 myseu:50070 查看namenode 的运行状况



访问myseu:50030查看Map/Reduce管理界面



至此,整个完全分布的hadoop集群安装完毕,若要增加节点的话,只需更改slave节点的数量,并相应的修改几个文件即可,这里不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: