在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,如下:
![](http://img.blog.csdn.net/20131121213638218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFvX3N1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里使用了3台设备,其中准备用myseu作为master,myseu2和myseu3作为slave
2.三台设备建立统一的Hadoop用户,即用户名均为同样的名字,这里均使用 well 作为用户名
#useradd well
注意,创建用户后需要设置密码后才能登陆该用户,使用如下命令
#passwd well
3.配置SSH免密码登录
CentOS默认情况下是安装有SSH服务的,因此避免了SSH的安装步骤。这里直接介绍如何进行设置免密码登录。
生成密钥并配置SSH无密码登录本机,在终端依次输入如下两条命令:
可以使用如下命令拷贝文件到两台slave主机:
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配置如下:(这个文件配置
![](file:///C:\Users\IBM\AppData\LocalLow\Baidu\BAIDUP~1\Account\swwol\CUSTOM~1\Recent\30EA86~1.GIF)
的是master节点)
hdfs-site.xml配置如下:(这个文件配置的是slave节点的数量)
mapred-site.xml配置如下:(这里还是配置的是master节点的作业跟踪器,注意value的取值)
hadoop-env.sh配置如下:
然后,还需要修改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
![](http://img.blog.csdn.net/20131122000826812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFvX3N1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
成功启动后,可以使用jps命令检查几个进程是否都成功启动了。如上图下半部分所示。
9.检查hadoop是否安装成功
使用浏览器访问 myseu:50070 查看namenode 的运行状况
![](http://img.blog.csdn.net/20131122001020859?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFvX3N1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
访问myseu:50030查看Map/Reduce管理界面
![](http://img.blog.csdn.net/20131122001134046?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFvX3N1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
至此,整个完全分布的hadoop集群安装完毕,若要增加节点的话,只需更改slave节点的数量,并相应的修改几个文件即可,这里不再赘述。
准备工作: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节点的数量,并相应的修改几个文件即可,这里不再赘述。
相关文章推荐
- Centos中Hadoop多节点集群配置 & Zookeeper安装
- 在centos6.6上安装hadoop完全分布式集群并运行第一个程序
- CentOS 6+Hadoop 2.6.0分布式集群安装
- CentOS 7下安装集群Hadoop-2.7.3
- Hadoop集群(第1期)_CentOS安装配置
- 在CentOS上安装Hadoop 2.x 集群
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
- Hadoop集群(第1期)_CentOS安装配置
- CentOS6.4配置Hadoop-2.6.0集群配置安装指南(经过实战演练)
- Hadoop集群(第1期)_CentOS安装配置
- hadoop2.7.1在centos6.5下集群安装配置
- CentOS系统下Hadoop 2.4.1集群安装配置(简易版)
- Ubuntu与Centos的Hadoop安装以及编译运行MapReduce,Hadoop集群安装配置教程
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
- centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)
- [原创] Centos 安装部署 Hadoop 集群和 hive
- 图文讲解基于centos虚拟机的Hadoop集群安装,并且使用Mahout实现贝叶斯分类实例 (6)
- CentOS下Hadoop-2.2.0集群安装配置
- hadoop集群环境安装过程及centos上网的解决办法
- CentOS 6.5安装Hadoop+HBase+ZooKeeper集群