在CentOS上安装Hadoop集群
Hadoop是Apache组织的一个顶级项目,它是一个分布式系统架构。Hadoop实现了一个分布式文件系统(HDFS),易于部署在低廉的硬件设备上,并且极易扩充。Hadoop的核心是HDFS和MapReduce。本篇文章主要介绍如何安装Hadoop集群,伪分布模式的安装应该是简单的,因此这里旨在在3台互通的centOS平台上安装完全分布模式的Hadoop集群。准备工作:3台装有cent
Hadoop是Apache组织的一个顶级项目,它是一个分布式系统架构。Hadoop实现了一个分布式文件系统(HDFS),易于部署在低廉的硬件设备上,并且极易扩充。Hadoop的核心是HDFS和MapReduce。本篇文章主要介绍如何安装Hadoop集群,伪分布模式的安装应该是简单的,因此这里旨在在3台互通的centOS平台上安装完全分布模式的Hadoop集群。
准备工作:3台装有centOS的机器(可以使用虚拟机模拟)
Hadoop版本:0.20.2 (这里使用的是低版本,很小,高版本的安装是基本相似的)
JDK的安装:see http://blog.csdn.net/tao_sun/article/details/16870097
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>
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节点的数量,并相应的修改几个文件即可,这里不再赘述。
更多推荐
所有评论(0)