Linux下Hadoop2.7.1集群环境的搭建(超详细版)

本文旨在提供最基本的,可以用于在生产环境进行Hadoop、HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用。

一、基础环境

在Linux上安装Hadoop之前,需要先安装两个程序:

1.1 安装说明

1. JDK 1.6或更高版本(本文所提到的安装的是jdk1.7);

2. SSH(安全外壳协议),推荐安装OpenSSH。

下面简述一下安装这两个程序的原因:

1. Hadoop是用Java开发的,Hadoop的编译及MapReduce的运行都需要使用JDK。

2. Hadoop需要通过SSH来启动salve列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/slaves中记载的主机上的进程,只不过伪分布式中salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH一样是必须的。

1.1 JDK的安装与配置

1、上传压缩包

我这里使用的是WinScp工具 上传jdk-7u76-linux-x64.tar.gz压缩包

2、解压压缩包

tar -zxvf jdk-7u76-linux-x64.tar.gz

3、将解压的目录移动到/usr/local目录下

mv /lutong/jdk1.7.0_76/ /usr/local/

4、配置环境变量

vim /etc/profile

5、重新加载/etc/profile,使配置生效

source /etc/profile

6、查看配置是否生效

echo $PATH

java -version

出现如上信息表示已经配置好了。

二、Host配置

由于我搭建Hadoop集群包含三台机器,所以需要修改调整各台机器的hosts文件配置,命令如下:

vim /etc/hosts

如果没有足够的权限,可以切换用户为root。

三台机器的内容统一增加以下host配置:

可以通过hostname来修改服务器名称为master、slave1、slave2

hostname master

三、Hadoop的安装与配置

3.1 创建文件目录

为了便于管理,给Master的hdfs的NameNode、DataNode及临时文件,在用户目录下创建目录:

/data/hdfs/name

/data/hdfs/data

/data/hdfs/tmp

然后将这些目录通过scp命令拷贝到Slave1和Slave2的相同目录下。

3.2 下载

首先到Apache官网(http://www.apache.org/dyn/closer.cgi/hadoop/common/)下载Hadoop,从中选择推荐的下载镜像(http://mirrors.hust.edu.cn/apache/hadoop/common/),我选择hadoop-2.6.0的版本,并使用以下命令下载到Master机器的

/data目录:

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

然后使用以下命令将hadoop-2.7.1.tar.gz 解压缩到/data目录

tar -zxvf hadoop-2.7.1.tar.gz

3.3 配置环境变量

回到/data目录,配置hadoop环境变量,命令如下:

vim /etc/profile

在/etc/profile添加如下内容

立刻让hadoop环境变量生效,执行如下命令:

source /etc/profile

再使用hadoop命令,发现可以有提示了,则表示配置生效了。

3.4 Hadoop的配置

进入hadoop-2.7.1的配置目录:

cd /data/hadoop-2.7.1/etc/hadoop

依次修改core-site.xml、hdfs-site.xml、mapred-site.xml及yarn-site.xml文件。

3.4.1 修改core-site.xml

vim core-site.xml

3.4.2 修改vim hdfs-site.xml

vim hdfs-site.xml

3.4.3 修改vim mapred-site.xml

vim  mapred-site.xml

3.4.4 修改vim yarn-site.xml

vim  yarn-site.xml

由于我们已经配置了JAVA_HOME的环境变量,所以hadoop-env.sh与yarn-env.sh这两个文件不用修改,因为里面的配置是:

export JAVA_HOME=${JAVA_HOME}

最后,将整个hadoop-2.7.1文件夹及其子文件夹使用scp复制到slave1和slave2的相同目录中:

scp -r /data/hadoop-2.7.1 [email protected]:/data

scp -r /data/hadoop-2.7.1 [email protected]:/data

五、运行Hadoop

5.1 格式化NameNode

执行命令:

hadoop namenode -format

执行过程如下图:

最后的执行结果如下图:

5.2 启动NameNode

执行命令如下:

/data/hadoop-2.7.1/sbin/hadoop-daemon.sh start namenode

在Master上执行jps命令,得到如下结果:

5.3 启动DataNode

执行命令如下:

/data/hadoop-2.7.1/sbin/hadoop-daemons.sh start datanode

执行结果如下:

master

slave1

slave2

说明Slave1和Slave2上的DataNode运行正常。

以上启动NameNode和DataNode的方式,可以用start-dfs.sh脚本替代:

5.4 运行YARN

运行Yarn也有与运行HDFS类似的方式。启动ResourceManager使用以下命令:

以上方式我们就不赘述了,来看看使用start-yarn.sh的简洁的启动方式:

在Master上执行jps:

说明ResourceManager运行正常。

在两台Slave上执行jps,也会看到NodeManager运行正常,如下图:

六、测试hadoop

6.1 测试HDFS

最后测试下亲手搭建的Hadoop集群是否执行正常,测试的命令如下图所示:

6.2 测试YARN

可以访问YARN的管理界面,验证YARN,如下图所示:

6.3 测试mapreduce

不想编写mapreduce代码。幸好Hadoop安装包里提供了现成的例子,在Hadoop的share/hadoop/mapreduce目录下。运行例子:

七、配置运行Hadoop中遇见的问题

7.1 JAVA_HOME未设置?

启动的时候报:

则需要/data/hadoop-2.7.1/etc/hadoop/hadoop-env.sh,添加JAVA_HOME路径

7.2 ncompatible clusterIDs

由于配置Hadoop集群不是一蹴而就的,所以往往伴随着配置——>运行——>。。。——>配置——>运行的过程,所以DataNode启动不了时,往往会在查看日志后,发现以下问题:

此问题是由于每次启动Hadoop集群时,会有不同的集群ID,所以需要清理启动失败节点上data目录(比如我创建的/home/jiaan.gja/hdfs/data)中的数据。

7.3 NativeCodeLoader的警告

在测试Hadoop时,细心的人可能看到截图中的警告信息:

时间: 2024-10-09 16:48:26

Linux下Hadoop2.7.1集群环境的搭建(超详细版)的相关文章

基于原生态Hadoop2.6 HA集群环境的搭建

hadoop2.6  HA平台搭建   一.条件准备 软件条件: Ubuntu14.04 64位操作系统, jdk1.7 64位,Hadoop 2.6.0,  zookeeper 3.4.6 硬件条件: 1台主节点机器,配置:cpu 8个,内存32G,硬盘200G 5台从节点机器,配置均为:cpu 4个,内存16G,硬盘200G 各个节点IP如下: 服务器名字 Ip地址 备注(为方便操作将hostname改为如下) Hd-Name Node 192.168.0.10 master Hd-Data

Ubuntu14.04下Hadoop2.2.0集群搭建

系统版本: master: Ubuntu 14.04  salve1: Ubuntu 14.04 hadoop: hadoop 2.2.0 1.系统配置以及安装SSH无密码登陆环境(master&slaves): 修改本机(master)和子节点(slaveN)机器名:打开/etc/hostname文件 sudo gedit /etc/hostname (修改后需重启才能生效) 修改host文件(映射各个节点IP): sudo gedit /etc/hosts 在后面添加内容为: 172.22.

redis集群环境的搭建和错误分析

redis集群环境的搭建和错误分析 redis集群时,出现的几个异常问题

Storm集群安装部署步骤【详细版】

作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出. 1. Storm集群组件 Storm集群中包含两

Linux下Hadoop集群环境的搭建

本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http://www.oracle.com/)寻找JDK7的安装包不太容易,因为现在官方推荐JDK8.找了半天才找到JDK下载列表页的地址(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html).因

Linux下Redis集群环境的搭建

一.安装redis(使用redis3.0版本) 1.需要gcc环境,如果没有执行命令安装gcc yum install gcc-c++ 2.下载redis3.0的源码包并上传至服务器 3.解压源码包 tar -zxvf redis-3.0.0.tar.gz 4.进入解压目录编译 make 5.安装redis make install PREFIX=/usr/local/redis 二.启动redis 1.从redis-3.0.0文件中复制redis-conf到redis的安装目录中 2.然后修改

linux下安装zookeeper(集群版)

在linux下安装zookeeper(单机版)中已经介绍了如何在linux中搭建单机版本的zookeeper,本篇将基于上一篇的基础上继续搭建集群版的zookeeper. 在原来的基础上再准备两台虚拟机: 我的虚拟机ip分别是:192.168.174.132,192.168.174.130,192.168.174.131 对应的hostname分别是:master,slave1,slave2 hostname可自行查看和修改:http://jingyan.baidu.com/article/57

Linux下Solr单机版、集群版安装与配置

一.安装 1.需要的安装包有apache-tomcat-7.0.47.tar.gz.solr-4.10.3.tgz.tgz(jdk自行安装) 这里默认大家已经安装好jdk与tomcat,所以在这里不做说明,jdk安装点击这里,tomcat直接解使用. 2.解压solr的安装包,把tar -zxvf solr-4.10.3.tgz.tgz解压 [[email protected] local]# tar -zxvf solr-4.10.3.tgz.tgz 3.进入solr-4.10.3/dist下

Hadoop2.0分布式集群的平台搭建

一.Hadoop集群安装前的准备基础环境 四台Centos6.5 IP地址: 192.168.174.128 192.168.174.129 192.168.174.130 192.168.174.131 四台主机新建hadoop用户并实现ssh免密登陆 iptables关闭和selinux为disabled 1.修改主机名和ip地址映射为了后面操作方便,修改主机名分别为hadoop01.hadoop02.hadoop03.hadoop04.修改主机名只需修改/etc/sysconfig/net