• 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

     统计结果正确!

  • 相关阅读:
    (转)iPhone开发经典语录集锦
    在iPone环境下要保存数据
    DevExpress自定义控件 ComboBoxEdit ,RepositoryItemComboBox,实现按拼音字母检索
    常用IPHONE 编程 基础代码
    使用Locating 系统查询手机号码归属地
    JUnit4使用 实例+基础介绍
    5分钟快速了解JSON,实例项目动手做
    eclipse常用快捷键
    Ubuntu12.04下JDK、Eclipse的安装,在linux终端中用命令启动eclipse
    Jackson 框架,轻易转换JSON
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7225140.html
Copyright © 2020-2023  润新知