Hadoop2.4.1分布式安装

一、作好下文中的全部配置:Hadoop1.2.1分布式安装-1-准备篇java

二、Hadoop2.x的发行版中有个小问题:libhadoop.so.1.0.0在64位OS中存在问题,由于它是32位的,在64位OS中hadoop启动时会报一个WARN的日志。这个包的做用是调用native的api,能够提升hadoop的性能,若是这个包失效,那就是使用jvm作压缩等工做,效率就会很低。处理方法就是从新编译Hadoop,见xxx(link  article)。node

三、在打算作namenode的机器上,wget或其余方式下载hadoop的压缩包,并解压到本地指定目录。下载解压命令参考Linux经常使用命令web

四、各类配置文件和hadoop1会有所不一样,共有七个文件,如下分别描述。shell

  • /hadoop-2.4.1/etc/hadoop/hadoop-env.shapache

# The java implementation to use.
export JAVA_HOME=${JAVA_HOME}

  • /hadoop-2.4.1/etc/hadoop/yarn-env.shapi

# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
if [ "$JAVA_HOME" != "" ]; then
  #echo "run java in $JAVA_HOME"
  JAVA_HOME=$JAVA_HOME
fi

if [ "$JAVA_HOME" = "" ]; then
  echo "Error: JAVA_HOME is not set."
  exit 1
fi

JAVA=$JAVA_HOME/bin/java
JAVA_HEAP_MAX=-Xmx512m
#默认的heap_max是1000m,个人虚拟机没这么大内存,因此改小了

  • /hadoop-2.4.1/etc/hadoop/slavesapp

#写入你slave的节点。若是是多个就每行一个,写入host名
bd24
bd25

  • /hadoop-2.4.1/etc/hadoop/core-site.xmlwebapp

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://bd23:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  <property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/wukong/a_usr/hadoop-2.4.1/tmp</value>
    <description>Abase for other temporary directories.</description>
  </property>
  <property>
    <name>hadoop.proxyuser.hduser.hosts</name>
    </value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.hduser.groups</name.
    <value>*</value>
  </property>
</configuration>

  • hdfs-site.xmljvm

<configuration>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>bd23:9001</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/wukong/a_usr/hadoop-2.4.1/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/wukong/a_usr/hadoop-2.4.1/data</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>
</configuration>

  • mapred-site.xml分布式

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>bd23:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>bd23.19888</value>
  </property>
</configuration>

  • yarn-site.xml

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>bd23:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>bd23:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>bd23:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>bd23:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>bd23:8088</value>
  </property>
</configuration>

三、将hadoop目录拷贝到全部主机。远程拷贝的方法见Linux经常使用命令

四、格式化

[wukong@bd23 hadoop-2.4.1]$ ./bin/hdfs namenode -format

      看到以下输出就证实成功了

14/07/31 13:58:30 INFO common.Storage: Storage directory /home/wukong/a_usr/hadoop-2.4.1/name has been successfully formatted.

五、启动dfs

[wukong@bd23 hadoop-2.4.1]$ ./sbin/start-dfs.sh

      看到以下输出就证实成功了

Starting namenodes on [bd23]
bd23: starting namenode, logging to /home/wukong/a_usr/hadoop-2.4.1/logs/hadoop-wukong-namenode-bd23.out
bd24: starting datanode, logging to /home/wukong/a_usr/hadoop-2.4.1/logs/hadoop-wukong-datanode-bd24.out
bd25: starting datanode, logging to /home/wukong/a_usr/hadoop-2.4.1/logs/hadoop-wukong-datanode-bd25.out
Starting secondary namenodes [bd23]
bd23: starting secondarynamenode, logging to /home/wukong/a_usr/hadoop-2.4.1/logs/hadoop-wukong-secondarynamenode-bd23.out

六、使用jps查看机器启动的进程状况。正常状况下master上应该有namenode和sencondarynamenode。slave上有datanode。

七、启动yarn。使用脚本

[wukong@bd23 hadoop-2.4.1]$ ./sbin/start-yarn.sh

八、使用jps查看进程状况。master上应该有namenode, sencondarynamenode, ResourceManager,slave上应该有datanode, nodeManager。


补充说明:

一、hadoop2中使用start-all.sh的时候,会提示脚本已过时,请使用start-dfs.sh。可是仍是会启动起来hdfs和yarn。

二、一张值得注意的图

相关文章
相关标签/搜索