Hadoop 2.2.0集群安装

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)

1. 网络设置

禁用防火墙

service iptables stop

禁用IPv6

打开/etc/modprobe.d/dist.conf,添加:

alias net-pf-10 off

alias ipv6 off

重新系统之后,可以通过命令:

lsmod|grep ipv6

查看ipv6模块是否已经不再加载

2. 安装与配置

2.1 安装前的准备

在安装hadoop前需要安装ssh,配置各节点间的基于密钥的免密码登录,安装jdk1.7并配置JAVA_HOME,关于这些操作请参考其他文档,本文不做赘述,只给出/etc/profile中关于JAVA_HOME和HADOOP_HOME的配置参考:

JAVA_HOME=/usr/java/jdk1.7.0_51
HADOOP_HOME=/usr/local/hadoop
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME HADOOP_HOME PATH

注:为了方便起见,我们将$HADOOP_HOME/sbin也加入到了PATH中,同时为了在输入命令时避免同名cmd文件的干扰,可以使用rm -f $HADOOP_HOME/bin/*.cmd;rm -f $HADOOP_HOME/sbin/*.cmd;删除cmd文件。

2.2 配置必要的环境变量

本文安装基于这样一个约定或者说偏好:安装程序位于/usr/local(或者/opt),生成的文件和相关数据文件集中放置于/var/hadoop,将发行包解压至/usr/local(或者/opt)后,分别编辑${HADOOP_HOME}/etc/hadoop/hadoop-env.sh和${HADOOP_HOME}/etc/hadoop/yarn-env.sh,在两个文件中找到并修改或者是添加下列环境变量:

export JAVA_HOME=/your/java/home
export HADOOP_LOG_DIR=/var/hadoop/logs
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"

上述环境变量的配置都不是必须的,对于第一项配置原文件的写法是export JAVA_HOME=${JAVA_HOME},但在集群环境下启动时可能会报JAVA_HOME is not set and could not be found错误,从该项的注释上我们了解到,在集群环境下即使各结点都正确地配置了JAVA_HOME,这里最好还是显示地重新声明一遍JAVA_HOME.第二项配置是指定log的存放目录,默认位置是安装目录下的logs文件夹,按前文约定,本次安装将log文件置于/var/hadoop/logs下。对第三项和第四顶配置要视情况添加,如果出现4.2节所描述的问题则这两项是必须的!

2.3 配置${HADOOP_HOME}/etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://YOUR-NAMENODE:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/hadoop</value>
    </property>
</configuration>

core-site.xml的各项默认配置可参考:

对于一个新集群来说,唯一必须修改的项是:fs.defaultFS,该项指明了文件系统的访问入口,实际上是告知所有的datanode它们的namenode是哪一个从而建立起namenode与各datanode之间的通信。

除此之外,按照前文约定,我们把hadoop.tmp.dir设置为/var/hadoop。观察core-default.xml我们可以发现,在所有涉及目录的配置项上,默认都是在${hadoop.tmp.dir}之下建立子文件夹,所以本次安装我们只简单地将hadoop.tmp.dir的原默认值/tmp/hadoop-${user.name}改为/var/hadoop,将所有hadoop生成和使用的文件集中/var/hadoop下,避免与/tmp目录下若干其他文件混杂在一起。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14be787eb6bbd9b46363fb7bc22db7cb.html