zoukankan      html  css  js  c++  java
  • CentOS 7下安装Hadoop2.2

    这里就介绍CentOS的安装了,直接进入Hadoop2.2伪分布模式安装。

    1.安装包下载

    1.1.下载JDK1.7

    眼下JDK的版本号是jdk1.8.0_25。这里下载的是jdk1.7.0_67。

    下载页面:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

     

    1.2.下载Hadoop2.2

    眼下Hadoop的最新版本号是hadoop2.5,这里下载的是Hadoop2.2

    下载页面:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/

     

    2.安装Hadoop2.2

    2.1.配置安装环境

    2.1.1.创建hadoop用户

    使用root账号登陆CentOS,运行一下操作:

    # /usr/sbin/groupaddhadoop

    创建hadoop用户,隶属于hadoop组

    # /usr/sbin/useradd -ghadoophadoop

    改动hadoop用户的password为hadoop:

    # passwd hadoop

     

    2.1.2.配置hadoop用户

    编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,设置静态IP地址信息。

    #vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0

    ONBOOT=yes

    BOOTPROTO=static

    IPADDR=192.168.15.136

    NETMASK=255.255.255.0

    GATEWAY=192.168.15.2

    使改动的參数马上生效:

    先关闭:

    #  /sbin/ifdown eth0

    再启动:

    # /sbin/ifup eth0

     

    编辑/etc/hostname文件,设置主机名称

    # vi /etc/hostname

    Master.Hadoop

     

    编辑/etc/hosts文件。设置主机名称与IP映射关系

    # vi /etc/hosts

    192.168.15.136Master.Hadoop

     

    2.1.3.创建软件文件夹

    创建u01文件夹,用于安装hadoop软件。

    mkdir-p /u01/hadoop

    chown -Rhadoop:hadoop /u01/hadoop/

    chmod -R775 /u01/hadoop/

     

    hadoop数据存放文件夹

    mkdir-p /data/hadoop

    chown-R hadoop:hadoop /data/hadoop

    chmod-R 775 /data/hadoop

    以上都是使用root账号进行操作,接下以hadoop用户登陆,開始安装hadoop2.2

     

    2.1.4.上传安装包

    以hadoop用户登陆CentOS。使用FTP工具将安装包上传到/u01/hadoop/文件夹。

     

    2.2.安装JDK

    因为下载JDK是免安装版,仅仅需解压到指定的文件夹就完毕了安装,将安装JDK到/u01/hadoop/jdk文件夹下。

    # tar-zxvf jdk-7u67-linux-x64.tar.gz

    # mv jdk1.7.0_67/ /u01/hadoop/jdk

    配置JDK环境变量

    vi .bash_bash_profile

    export JAVA_HOME=/u01/hadoop/jdk
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
    export PATH=$JAVA_HOME/bin:$PATH

    (注意:在配置PATH环境变量时,一定要将$JAVA_HOME/bin放置在$PATH前面。这样就不会使用系统默认的JDK)

    运行source命令。马上生效JDK环境变量

    # source .bash_profile

    查看JDK是否成功安装!

    # java -version
    java version "1.7.0_67"
    Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
    Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

    出现以上的信息,表明安装JDK成功!

     

    2.3.安装Hadoop2.2

    Hadoop有三种执行模式:单机模式、伪分布式与全然分布式。伪分布式是仅仅有一个节点的集群。这里仅仅介绍伪分布式的安装。主要用户学习。

     

    2.3.1.配置SSH免password登陆

    Hadoop须要通过SSH来启动Slave节点的守护进程,即使安装伪分布式也须要SSH。

    我在安装CentOS的时候。就已经安装了SSH。仅仅须要配置免password登陆就能够了。假设没有安装SSH的话。就先安装SSH后。再进入以下的步骤。

    在hadoop用户的home文件夹运行下面命令:

    $ ssh-keygen -t dsa -P ' ' -f ~/.ssh/id_dsa

    (注解:ssh-keygen表示生成密钥;-t指定密钥类型;-P 提供密语;-f生成的密钥文件)

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

    $ chmod600 ~/.ssh/authorized_keys

     

    验证能否够免password登陆

    $ sshlocalhost
    Last login: Sat Oct 25 07:42:43 2014

    出现这种信息。表示SSH配置成功。

     

    2.3.2.hadoop2.2安装与配置

    hadoop的安装过程很easy。仅仅须要解压到指定的文件夹就能够了,事实上hadoop的安装步骤主要是在配置文件。将hadoop安装包解压到/u01/hadoop/hadoop目下。

    tar-zxvf hadoop-2.2.0.tar.gz

    mv  hadoop-2.2.0 /u01/hadoop/hadoop

    主要配置这五个文件:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

     

    进入hadoop配置文件文件夹

    cd /u01/hadoop/hadoop/etc/hadoop/

    指定JDK的home文件夹:

    #vi hadoop-env.sh

    exportJAVA_HOME=/u01/hadoop/jdk

     

    Hadoop核心配置文件:

    $ vi core-site.xml

    <configuration>

        <property>

            <name>fs.defaultFS</name>

            <value>hdfs://Master.Hadoop:9000</value>

        </property>

        <property>

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

           <value>file:/data/hadoop/tmp</value>

            <description>Abase for othertemporary directories.</description>

        </property>

    </configuration>

     

    (凝视:fs.defaultFS指定HDFS的地址及port,hadoop.tmp.dir可选配置)

     

    $ vi hdfs-site.xml

    <configuration>

        <property>

           <name>dfs.replication</name>

            <value>1</value>

        </property>

        <property>

           <name>dfs.namenode.name.dir</name>

           <value>file:/data/hadoop/dfs/name</value>

        </property>

        <property>

           <name>dfs.datanode.data.dir</name>

           <value>file:/data/hadoop/dfs/data</value>

        </property>

         <property>

           <name>dfs.namenode.checkpoint.dir</name>

           <value>file:/data/hadoop/dfs/namesecondary</value>

        </property>  

    </configuration>

     

    (注解:dfs.replication指定HDFS文件的备份方式默认3,因为是伪分布式,因此须要改动为1。

    其它为可选项)

     

    $ vi mapred-site.xml

    <configuration>

        <property>

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

            <value>yarn</value>

        </property>

        <property>

           <name>yarn.app.mapreduce.am.staging-dir</name>

            <value>/data/hadoop/staging</value>

        </property>

    </configuration>

     

    (注解:mapreduce.framework.name配置mapreduce框架,其它可选)

     

    viyarn-site.xml

    <configuration>

        <!-- Site specific YARN configurationproperties -->

        <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.hostname</name>

            <value>Master.Hadoop</value>

        </property>

    </configuration>

    (注解:配置YARN信息)

     

    2.3.3.配置Hadoop环境变量

    export JAVA_HOME=/u01/hadoop/jdk
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
    export HADOOP_HOME=/u01/hadoop/hadoop
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
    export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

    2.3.4.格式HDFS文件系统

    在启动Hadoop前,须要格式化Hadoop的HDFS文件系统,假设配置Hadoop环境变量,能够直接运行hadoop命令。

    否则,进入Hadoop的bin文件夹运行文件格式命令:

    $ hadoop namenode -format

    此时,Hadoop整个安装与配置过程完毕了。

     

    3.启动Hadoop

    进入Hadoop的sbin文件夹。启动Hadoop,验证是否成功安装。

    # ./start-all.sh

    使用java的jps命令查看是否有hadoop的进程

    # jps

    10197 NameNode
    10769 ResourceManager
    10579 SecondaryNameNode
    11156 Jps
    10898 NodeManager
    10344 DataNode

    出现以上进程,说明Hadoop成功安装。

    (注意:Hadoop2.0使用YARN管理取代了JobTracke和TaskTracker,因此这里仅仅有ResourceManager进程,没有JobTracke和TaskTracker两个进程了)

     

    打开浏览器,输入:

    http://localhost:50070/

    假设可以查看信息说明Hadoop成功安装了

     

    4.执行WordCount实例

    创建測试两側文件file1.txt,file2.txt

    $ vi file1.txt

    welcome to hadoop

    hello world!

    $ vi file2.txt

    hadoop hello

     

    在HDFS上创建输入input输入文件夹:

    $ hdfs dfs -mkdir /input

     

    将file1.txt与file2.txt文件上传到HDFS的input文件夹

    $ hdfs dfs -put file1.txt /input
    $ hdfs dfs -put file2.txt /input

    查看刚才上传的两个文件

    $ hdfs dfs -put file2.txt /input
    14/10/25 14:43:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    [hadoop@Master ~]$ hdfs dfs -ls /input
    14/10/25 14:43:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Found 2 items
    -rw-r--r--   1 hadoop supergroup         31 2014-10-25 14:43 /input/file1.txt
    -rw-r--r--   1 hadoop supergroup         13 2014-10-25 14:43 /input/file2.txt

     

    运行hadoop自带的WordCount程序,统计单词数

    $ cd $HADOOP_HOME/share/hadoop/mapreduce

    $ hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount  /input /output

    执行没报错,查看执行结果:

    $ hdfs dfs -ls /outputpart-r-00000
    14/10/25 14:54:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    ls: `/outputpart-r-00000': No such file or directory
    [hadoop@Master mapreduce]$ hdfs dfs -cat /output/part-r-00000
    14/10/25 14:54:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    hadoop 2
    hello 2
    to 1
    welcome 1
    world! 1

     统计结果正确!

  • 相关阅读:
    Network (poj1144)
    C. Hongcow Builds A Nation
    ZYB loves Xor I(hud5269)
    D. Chloe and pleasant prizes
    Game(hdu5218)
    约瑟夫环的递推方法
    Misaki's Kiss again(hdu5175)
    Exploration(hdu5222)
    B. Arpa's weak amphitheater and Mehrdad's valuable Hoses
    C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7225140.html
Copyright © 2011-2022 走看看