Hadoop集群安装与配置

本文介绍Hadoop在两个节点上的安装与配置即一个master和一个slave,安装版本为2.2.0,该版本及以上版本的安装方式几乎一致。需要注意的是hadoop使用Java语言编写,所以在安装Hadoop之前需要在机器上安装好Java运行环境(JDK),配置好环境变量。此外,每个节点都需要配置好静态ip地址以及设置好主机名,并将主机名写入hosts文件中。以及设置防火墙,或者直接关闭防火墙。

一、安装JDK

本例中使用的是JDK1.7,读者可以点击这里下载。可以根据自己的系统下载32位或者64位的安装包。安装文件以tar.gz结尾。将压缩包上传至linux系统,cd到文件所在目录,执行:

tar  -zxvf jdk-7u79-linux-x64.tar.gz -C /cloud/
将文件解压至/cloud/目录,注意:将jdk-7u79-linux-x64.tar.gz 替换成你自己下载的文件名。然后输入以下命令:

sudo vim /etc/profile

如果要输入密码,输入即可。在文件末尾添加以下代码:

export  JAVA_HOME=/cloud/jdk1.7.0_80
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

保存退出
source /etc/profile使配置生效

二、下载解压Hadoop

用户可以从这个站点下载Hadoop所有版本的安装包,如果下载预编译版本,需要与机器位数和操作系统相匹配。也可以自己下载源码包自行编译。
将下载的 hadoop-2.2.0.tar.gz安装包上传至linux系统中,cd至文件所在目录,进行解压:
tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/

将安装包解压至根目录下的cloud文件夹中。注意这里的-C为大写。

三、配置文件

将Hadoop解压后,cd /cloud/hadoop-2.2.0/etc/hadoop

1、配置hadoop-env.sh 

运行命令:vim hadoop-env.sh  
在第一行添加:
export JAVA_HOME=/cloud/jdk1.7.0_80
wq保存退出

2、配置core-site.xml

添加:
<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/cloud/hadoop-2.2.0/tmp</value>
    <description>Abase for other temporary directories.</description>
</property>
</configuration>
其中master是主节点的主机名,这两个字段分别是为了记录主节点地址和临时文件存放路径。

3、配置hdfs-site.xml

添加:
<configuration>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:50090</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/cloud/hadoop-2.2.0/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/cloud/hadoop-2.2.0/tmp/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
</configuration>
这几个字段分别制定:hdfs的主节点的通信地址、namenode的临时文件存放路径、datanode的文件存放路径、每个文件存放的副本数量。

4、配置mapred-site.xml

目录中没有这个文件,可以cp mapred-site.xml.template mapred-site.xml复制一份过来。
添加:
<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>

5、配置yarn-site.xml

添加:
<configuration>

<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
</configuration>

6、配置slaves

由于本次示例是双节点配置即一个master和一个slave,所以在该文件中只需要添加从节点的主机名:
slave1

四、添加环境变量

在/etc/profile文件中添加:

export HADOOP_HOME=/cloud/hadoop-2.2.0
export HADOOP_CONF_DIR=/cloud/hadoop-2.2.0/etc/hadoop
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存退出

source /etc/profile使配置生效

五、配置ssh免登陆

cd ~,进入到我的home目录
cd .ssh/
ssh-keygen -t rsa (按四下回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id -i slave1
这样master节点就可以直接启动slave节点上的hadoop进程了。
更多关于ssh免登陆可以参考:

六、配置slave节点

在master节点安装完毕后可以将整个/cloud文件夹拷贝至slave节点的根目录
scp -r /cloud user@slave1:/
user换成自己的用户名,slave1换成自己的从节点名或者ip地址。然后将slave节点的 /etc/profile/ 文件和master节点一样配置即可。
最后记得:source /etc/profile 添加的环境变量才能生效。
如果有多个slave节点,可以参考 http://blog.csdn.net/u013468917/article/details/50977666进行批量操作。总之Hadoop所有节点的安装都是一样的。

七、启动hadoop

先格式化HDFS(namenode)第一次使用时要格式化。
hdfs namenode -format

启动hadoop
先启动HDFS,在master上:
sbin/start-dfs.sh

再启动YARN,在master上:
sbin/start-yarn.sh

用jps查看进程:
master上:
5231 NameNode
5933 ResourceManager
31510 Jps
5667 SecondaryNameNode
在slave上:
2822 DataNode
6737 Jps
3052 NodeManager
至此配置成功!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值