Hadoop Yarn(一)—— 单机伪分布式环境安装

时间:2021-09-19 16:29:58

HamaWhite(QQ:530422429)原创作品,转载请注明出处:http://write.blog.csdn.net/postedit/40556267

本文是依据Hadoop官网安装教程写的Hadoop YARN在单机伪分布式环境下的安装报告。仅供參考。

1. 安装环境例如以下:

    系统:Ubuntu14.04

    Hadoop版本号:hadoop-2.5.0

   Java版本号:openjdk-1.7.0_55 

2. 下载Hadoop-2.5.0,http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz  

    本文的$HADOOP_HOME为:/home/baisong/hadoop-2.5.0(username为baisong)。

    在 ~/.bashrc文件里加入环境变量,例如以下:

    export HADOOP_HOME=/home/baisong/hadoop-2.5.0

    然后编译,命令例如以下:

    $ source ~/.bashrc

3. 安装JDK,并设置JAVA_HOME环境变量。在/etc/profile文件最后加入例如以下内容

    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386   //依据自己Java安装文件夹而定

    export PATH=$JAVA_HOME/bin:$PATH

    输入下面命令使配置生效

    $ source /etc/profile

4. 配置SSH。

首先生成秘钥,命令例如以下。然后一路回车确认,不须要不论什么输入。

$ ssh-keygen -t rsa    然后把公钥写入authorized_keys文件里。命令例如以下:

    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    最后。输入下述命令。按提示输入 yes 就可以。

$ ssh localhost  

5. 改动Hadoop配置文件,进入${HADOOP_HOME}/etc/hadoop/文件夹。

    1)环境变量设置,hadoop-env.sh中加入Java安装文件夹,例如以下:

           export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

    2)改动core-site.xml,加入例如以下内容。

<property>

             <name>fs.defaultFS</name>

             <value>hdfs://localhost:9000</value>

         </property>

         <property>

           <name>hadoop.tmp.dir</name>

           <value>/home/baisong/hadooptmp</value> 

        </property>

        注:hadoop.tmp.dir项可选(上述设置需手动创建hadooptmp目录)。

    3)改动hdfs-site.xml,加入下面内容“。

<property>

             <name>dfs.repliacation</name>

             <value>1</value>

         </property>

     4)将mapred-site.xml.template重命名为mapred-site.xml,并加入例如以下内容。

$ mv mapred-site.xml.template mapred-site.xml    //重命名

          <property>

            <name>mapreduce.framework.name</name>

            <value>yarn</value>

         </property>

    5)改动yarn-site.xml,加入下面内容。

<property>

            <name>yarn.nodemanager.aux-services</name>

            <value>mapreduce_shuffle</value>

         </property>

6. 格式化HDFS,命令例如以下:

    bin/hdfs namenode -format    凝视:bin/hadoop namenode -format命令已过时

    格式化成功会在/home/baisong/hadooptmp创建dfs目录。

7.启动HDFS,命令例如以下:

   $ sbin/start-dfs.sh 

   遇到例如以下错误:

14/10/29 16:49:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [OpenJDK Server VM warning: You have loaded library /home/baisong/hadoop-2.5.0/lib/native/libhadoop.so.1.0.0
which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
localhost]
sed: -e expression #1, char 6: unknown option to `s'
VM: ssh: Could not resolve hostname vm: Name or service not known
library: ssh: Could not resolve hostname library: Name or service not known
have: ssh: Could not resolve hostname have: Name or service not known
which: ssh: Could not resolve hostname which: Name or service not known
might: ssh: Could not resolve hostname might: Name or service not known
warning:: ssh: Could not resolve hostname warning:: Name or service not known
loaded: ssh: Could not resolve hostname loaded: Name or service not known
have: ssh: Could not resolve hostname have: Name or service not known
Server: ssh: Could not resolve hostname server: Name or service not known

分析原因知。没有设置 HADOOP_COMMON_LIB_NATIVE_DIR和HADOOP_OPTS环境变量。在 ~/.bashrc文件里加入例如以下内容并编译。    

    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"   

    $ source ~/.bashrc

    又一次启动HDFS,输出例如以下。表示启动成功。   

    Hadoop Yarn(一)—— 单机伪分布式环境安装

    能够用过Web界面来查看NameNode执行状况。URL为 http://localhost:50070

    停止HDFS的命令为:

    $ sbin/stop-dfs.sh

8. 启动YARN,命令例如以下:

   $ sbin/start-yarn.sh

   能够用过Web界面来查看NameNode执行状况,URL为 http://localhost:8088

   停止HDFS的命令为:

 
 $ sbin/stop-yarn.sh

   上述HDFS和YARN启动完毕后,可通过jps命令查看是否启动成功。

Hadoop Yarn(一)—— 单机伪分布式环境安装  

9. 执行測试程序。

1)測试计算PI,命令例如以下:

       $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar
pi 20 10

   2)測试 grep,首先须要上传输入文件到HDFS上。命令例如以下:

      $
bin/hdfs dfs -put etc/hadoop input

       执行grep程序,命令例如以下:

       $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar grep input output 'dfs[a-z.]+'

       执行结果输出例如以下:       Hadoop Yarn(一)—— 单机伪分布式环境安装

10. 加入环境变量,方便使用start-dfs.sh、start-yarn.sh等命令(可选)。

在 ~/.bashrc文件里加入环境变量,例如以下:

     export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

     然后编译,命令例如以下:

     $ source ~/.bashrc

     下图是 ~/.bashrc文件里加入的变量,以便參考。 

    Hadoop Yarn(一)—— 单机伪分布式环境安装