伪分布式hadoop 2.x安装部署

在个人虚拟机上搭建hadoop的运行环境的笔记。

背景信息:部署版本采用了hadoop 2.6.3;操作系统为centos ,内核2.6.32-504.3.3.el6.x86_64;系统已经正确安装了jdk,本次选定版本为jdk7u79.

 

一、解压部署

1. 下载hadoop 2.6.3 安装包 hadoop-2.6.3.tar.gz,下载页面:http://hadoop.apache.org/releases.html

解压到目录:/home/hanzhiwei/app/hadoop下

2. 设定HADOOP_HOME环境变量

在~/.bash_profile文件中添加hadoop的环境变量

export JAVA_HOME=/home/hanzhiwei/app/java/jdk1.7.0_79
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$HADOOP_HOME/bin
export HADOOP_HOME=/home/han/app/hadoop/hadoop-2.6.3
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

为了让设置及时生效,执行source ~/.bash_profile

 

二、修改配置文件

1. 进入${HADOOP_HOME}/etc/hadoop/目录,重命名mapred-site.xml.templat 为  mapred-site.xml,并在其中添加如下配置项

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

 

2. 修改core-site.xml ,添加如下内容

<property>
    <name>fs.default.name</name>
    <value>hdfs://{YARNSERVER}:8020</value>
 </property>

 {YARNSERVER}为部署机器的host或者ip,按照实际情况替换即可。

 

 因为采用了个人虚拟机部署,为了避免每次重启虚拟机后启动hadoop出现各种问题,将hadoop的tmp目录指向了非系统/tmp目录.加入如下配置项

<property>
        <name>hadoop.tmp.dir</name>
        <value>/home/han/data/hadoop/tmp</value>
 </property>

 

3. 修改yarn-site.xml 文件,添加如下内容

<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>mapreduce_shuffle</value>
 <description>shuffle service that needs to be set for Map Reduce to run </description>
</property>

 

 为了能够运行mapreduce程序,需要让各个nodemanager在启动时加载shuffle server,shuffle server实际上市jetty/netty server,reduce task通过该server从各个nodemanager上远程复制map task产生的中间结果。

 

4. 修改hdfs-site.xml,添加如下内容

<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>

 因为是部署环境就一台机器,设置副本数是1.

 

三、设置免密登录

1. 用户目录下执行 ssh-keygen -t rsa, 将会在~/.ssh/下生成公钥文件id_rsa.pub和私钥文件id_rsa

2. 将公钥文件中的内容复制到相同目录下的authorized_keys文件中:

 

cat id_rsa.pub >> authorized_keys

 

四、启动hadoop

1. 格式化 hdfs

${HADOOP_HOME}/bin/hadoop namenode -format

2. 启动hdfs

${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode
${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode

3. 启动yarn

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

 

4. 验证是否启动正常。

    * jps验证进程

$ jps
22581 ResourceManager
23455 Jps
22332 NameNode
22452 DataNode
23319 NodeManager

 * 通过URL查看yarn的web页面

http://localhost:8088/



 

* 验证hdfs命令 :hdfs fs -ls /

我在这步操作时遇到如下警告:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

这个是因为$HADOOP_HOME/lib/native/libhadoop.so.1.0.0是在32位环境编译的,当前centos系统是64位的。这个警告并不影响hadoop的功能,可以忽略。如果要想去掉的话,需要重新从源码编译,具体操作可以参考:

 

http://www.ercoppa.org/Linux-Compile-Hadoop-220-fix-Unable-to-load-native-hadoop-library.htm

 

 

 

猜你喜欢

转载自han-zw.iteye.com/blog/2310112