Hadoop集群环境搭建

1、环境介绍

linux系统:CentOS 7.0 (64位)
内存:4G
Hadoop版本:2.7.0(仅供学习使用,暂不建议生产使用)
面向人群:Hadoop初学者

2、Hadoop集群官方文档

http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-common/ClusterSetup.html

3、Hadoop基础环境搭建

详见:http://blog.csdn.net/hyx1990/article/details/50170485

4、Hadoop集群结构说明

4.1 集群结构

IP主机名Hadoop角色Hadoop jps结果
192.168.1.130hadoop01masterNamerNode/ResourceManager
192.168.1.131hadoop02slavesDataNode/NodeManager/SecondaryNameNode
192.168.1.132hadoop03slavesDataNode/NodeManager

4.2 hosts文件配置

$ vi /etc/hosts
192.168.1.130 hadoop01
192.168.1.131 hadoop02
192.168.1.132 hadoop03

5、Hadoop集群配置

Hadoop需要通过SSH来启动Slave列表中主机的Hadoop守护进程,对于分布式,Hadoop会依次启动/etc/hadoop/savle文件中配置的主机进程。下面的所有操作都在hadoop用户下执行。

5.1、配置SSH免密码登录:

登陆到hadoop01,并在hadoop用户的home目录下执行以下命令:

$ssh-keygen  -t  dsa  -P  ''  -f  ~/.ssh/id_dsa

(注解:ssh-keygen表示生成密钥;-t指定密钥类型;-P 提供密语;-f生成的密钥文件)
其中:~表示当前目录,此处为/home/hadoop,”单引号之间没有空格。执行命令后,会在在/home/hadoop目录下创建.ssh目录,并在.ssh目录下生成id_dsa及id_dsa.pub 文件。这是SSH的一对私钥和公钥。

把id_dsa.pub(公钥)追加到授权的key中,并修改key的权限

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

将hadoop01的.ssh目录拷贝到hadoop02、hadoop03,并验证是否可以免密码登陆,第一次可能需要输入密码:

[hadoop01@master .ssh]$ ssh hadoop02
Last login: Sat Dec 20 14:53:48 2014 from 192.168.1.130

出现这样的信息,表示SSH配置成功。

注:上述免密码登录是为了方便操作,直接复制.ssh目录,所以三台机子私钥和公钥都一样,从而实现面密码登录;如果三台机器分别生成一对私钥和公钥,则需要将三台机子的公钥分别追加到每台机器的授权key中,并修改key权限。

5.2、Hadoop分布式集群配置:

Hadoop的分布式安装过程非常简单,只需要将Hadoop安装包解压到指定的目录就可以了,接下来对Hadoop的主要配置文件进行配置。

将Hadoop安装包解压到/hadoop 目录下:

$tar –zxvf hadoop-2.7.0.tar.gz -C /hadoop

然后针对/hadoop/hadoop-2.7.0/etc/hadoop目录下几个主要文件进行配置:
hadoop-env.sh、yarn-env.sh 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves

5.2.1、配置hadoop-env.sh

编辑hadoop-env.sh,找到JAVA_HOME指定JDK的安装配置

$vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_45

5.2.2、配置yarn-env.sh

编辑yarn-env.sh,找到JAVA_HOME指定JDK的安装配置

$vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_45

5.2.3、配置core-site.xml

$vi core-site.xml

<configuration>
    <property> 
        <name>fs.defaultFS</name>
         <!--hadoop01为主机名-->
        <value>hdfs://hadoop01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
       <value>file:/data/hadoop/tmp</value>
        <description>Abase for othertemporary directories.</description>
    </property>
</configuration>

5.2.4、配置hdfs-site.xml

Hadoop中的HDFS配置,主要配置备份方式,及NameNode、DataNode、NameSecondary存储地址。
$vi hdfs-site.xml

<configuration>
    <property>
       <name>dfs.replication</name>
       <value>1</value>
    </property>
    <property>
       <name>dfs.namenode.name.dir</name>
       <value>file:/data/hadoop/dfs/name</value>
    </property>
    <property>
       <name>dfs.datanode.data.dir</name>
       <value>file:/data/hadoop/dfs/data</value>
    </property>
     <property>
       <name>dfs.namenode.checkpoint.dir</name>
       <value>file:/data/hadoop/dfs/namesecondary</value>
    </property>   
</configuration>

5.2.5、配置mapred-site.xml

Hadoop的MapReduce框架配置,配置MapReduce框架名称
$vi mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>yarn.app.mapreduce.am.staging-dir</name>
                <value>/tmp/hadoop-yarn/staging</value>
        </property>
</configuration>

5.2.6、配置yarn-site.xml

$vi yarn-site.xml

<configuration>
    <property> 
       <name>yarn.nodemanager.aux-services</name> 
       <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
       <name>yarn.resourcemanager.hostname</name> 
        <value>hadoop01</value> 
    </property> 
</configuration>

5.2.7、配置slaves节点列表

对于分布式安装,该文件中需要配置从节点机器名。

$vi slaves
hadoop02
hadoop03

(注解:slaves节点配置列表,伪分布式配置为:localhost)

5.2.8、配置Hadoop环境变量

这是一个可选步骤,为了方便执行Hadoop命令,可以在hadoop用户的环境变量中添加Hadoop环境变量。切换到hadoop用户的home目录,编辑.bash_profile文件,添加以下内容:
$vi .bash_profile

export  HADOOP_HOME=/hadoop/hadoop-2.7.0
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export  PATH=$HADOOP_HOME/bin:$PATH

使用source命令,使其立即生效:source .bash_profile,到此,整个Hadoop伪分布式安装完毕,接下来就可以格式HDFS文件系统,并启动Hadoop系统。

5.3、格式化hdfs文件系统

在启动Hadoop系统之前,需要格式化Hadoop的HDFS文件系统。注意,只有首次启动Hadoop系统时,才需要格式化HDFS文件系统,执行hdfs命令格式HDFS文件系统:

$hdfs namenode –format

出现以下信息,说明格式化HDFS文件系统成功:

14/12/21 14:25:34 INFO util.ExitUtil: Exiting with status 0
14/12/21 14:25:34 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop01/192.168.10.1
************************************************************/

5.4、启动Hadoop系统

Hadoop安装目录的sbin目录下,封装了启动Hadoop系统的脚本。那么就进入安装Hadoop安装目录的sbin目录,启动Hadoop,验证是否安装成功!

5.4.1、启动HDFS文件系统:

$ cd /hadoop/hadoop-2.7.0/sbin/ 
$ ./start-dfs.sh

如果没报任何错误,则使用java的jps命令,在Master(hadoop01)中查看HDFS文件系统是否启动成功!

$ jps
7049 Jps
6504 NameNode

在salve(hadoop02)中查看SecondaryNameNode是否启动成功:

$ jps
7659 DataNode
7876 SecondaryNameNode
7348 Jps

5.4.2、启动YARN资源管理器

$ cd /hadoop/hadoop-2.7.0/sbin/ 
$ ./start-yarn.sh

如果没报任何错误,则使用java的jps命令,在Master(hadoop01)查看YARN资源管理器是否启动成功!

$ jps
7303 Jps
6504 NameNode
7108 ResourceManager

在salve(hadoop02)通过jps命令查看:

$ jps
7659 DataNode
7876 SecondaryNameNode
7348 Jps
3691 NodeManager

在salve(hadoop03)通过jps命令查看:

$ jps
4619 DataNode
3261 Jps
3725 NodeManager

细心的朋友可能已经发现Master节点多了一个ResourceManager进程。
这时,打开浏览器,输入:
http://192.168.1.130:50070/
如果能够查看信息说明Hadoop安装成功了

也可以使用./start-all.sh脚本启动Hadoop系统,start-all.sh脚本封装了start-dfs.sh脚本和start-yarn.sh脚本。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值