Hadoop2.0入门学习(一)--Hadoop2.2.0伪分布式安装配置详解

一、测试环境准备

    由于个人硬件环境的限制,在测试过程中我是以VMware开虚拟机来替代真实的机器,宿主机和虚拟机配置如下:

    宿主机:

        CPU:  Intel i5-3470 CPU 3.20GHz        内存:  8.00 GB       操作系统:  Windows 7 旗舰版  (64位/Service Pack 1)

    虚拟机:

         操作系统: Ubuntu 14.04.1 LTS 32bit    内存:  2.00 GB       CPU核数: 1        网络模式: host-only

    在准备好Linux环境之后,下面进行一些前期的准备工作,主要包括虚拟机网络模式设置、修改Linux主机名、修改IP、修改主机名和IP的映射关系以及关闭防火墙,下面一一介绍具体操作步骤:

    1. 修改虚拟机网络模式

        在测试过程中为方便操作Linux虚拟机,这里我们把虚拟机与宿主机的网络连接方式改为host-only模式(这里虚拟机不需要连接外网),当然选择NAT、桥接模式也是可以的。具体的设置方式为:

       (1).  点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.50.0 子网掩码:255.255.255.0 -> apply -> ok
        (2). 回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.50.10 子网掩码:255.255.255.0 -> 点击确定
        (3). 在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok

        当然修改虚拟机网络的方式有好多种,只要配置连接方式为host-only,设置好相应的IP就行了,这里我采用的是192.168.50.0网段,连接Windows一端的IP我设置成了192.168.50.10,Linux自身的IP设置为192.168.50.128,如有疑问也可以参考其他文章进行操作。

    2.  修改Linux主机名

        为了操作方便,这里我们修改一下Linux主机名。设置方式为:

        sudo vim /etc/sysconfig/network
        
        NETWORKING=yes
        HOSTNAME=hyman    ###

    3.  修改Linux自身IP

        修改Linux环境IP,有两种方式,喜欢使用图形界面操作的可以选择方式一,对于那些高大上的熟悉命令行操作的朋友可以选择方式二(个人认为,玩Linux还是推荐命令行模式比较好)。

        方式一:通过Linux图形界面进行修改
         进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.50.128 子网掩码:255.255.255.0 网关:192.168.50.1 -> apply

        方式二:修改配置文件方式(###代表修改的部分,其他的可以不变)
           sudo  vim /etc/sysconfig/network-scripts/ifcfg-eth0
            
            DEVICE="eth0"
            BOOTPROTO="static"               ###
            IPV6INIT="yes"
            NM_CONTROLLED="yes"
            ONBOOT="yes"
            TYPE="Ethernet"
            IPADDR="192.168.50.128"        ###
            NETMASK="255.255.255.0"      ###
            GATEWAY="192.168.50.1"        ###

        修改完成后,重启网络,sudo service network restart,看到一切OK说明网络设置成功,如果出现Feild删除网络连接再进行上述配置(这时候图形模式就体现优势了),最后通过ping进行验证是否设置成功。

    4.  修改主机名和IP的映射关系

        sudo vim /etc/hosts
            
        192.168.50.128    hyman

    5.  关闭防火墙
        #查看防火墙状态
        sudo service iptables status
        #关闭防火墙
        sudo service iptables stop
        #查看防火墙开机启动状态
       sudo chkconfig iptables --list
        #关闭防火墙开机启动
       sudo  chkconfig iptables off

    6.  配置ssh免登陆
        生成ssh免登陆密钥
        cd ~,进入到我的home目录
        cd .ssh/

        ssh-keygen -t rsa (四个回车)
        执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
        将公钥拷贝到要免登陆的机器上
        cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
        或
        ssh-copy-id -i localhost

    7.  重启Linux
        sudo reboot

    到此,安装Hadoop的准备工作已经完毕,下面分析Hadoop伪分布式配置的详细过程。

二、安装jdk

    1.  上传jdk安装包

        到oracle官网http://www.oracle.com/technetwork/java/javase/downloads/index.html下载一个相对应的jdk安装包,这里使用的是jdk1.7.0_55 32bit linux版本,上传到Linux虚拟机中。

    2.  解压jdk

        #创建文件夹
        sudo mkdir /usr/java
        #解压
       sudo  tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/

    3.  将java添加到环境变量中

        vim /etc/profile
        #在文件最后添加
        export JAVA_HOME=/usr/java/jdk1.7.0_55
        export PATH=$PATH:$JAVA_HOME/bin
    
        #刷新配置
        source /etc/profile

三、安装Hadoop

    1. 上传hadoop安装包

        到Hadoop官网http://mirrors.cnnic.cn/apache/hadoop/common/下载Hadoop2.2.0安装包,上传Hadoop2.2.0.tar.gz文件到虚拟机中。

    2.  解压hadoop安装包

        sudo mkdir ~/hadoop
        #解压到~/hadoop/目录下
        tar -zxvf hadoop-2.2.0.tar.gz -C ~/hadoop/

    3.  修改配置文件(这里需要修改5个)

        第一个:hadoop-env.sh
        #在27行修改
        export JAVA_HOME=/usr/java/jdk1.7.0_55
        
        第二个:core-site.xml
        <configuration>
            <!-- 指定HDFS老大(namenode)的通信地址 -->
            <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://hyman:9000</value>
            </property>
            <!-- 指定hadoop运行时产生文件的存储路径 -->
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>~/hadoop/hadoop-2.2.0/tmp</value>
            </property>
        </configuration>
        
        第三个:hdfs-site.xml
        <configuration>
            <!-- 设置hdfs副本数量 -->
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
        </configuration>
        
        第四个:mapred-site.xml.template 需要重命名: mv mapred-site.xml.template mapred-site.xml
        <configuration>
            <!-- 通知框架MR使用YARN -->
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
        </configuration>
        
        第五个:yarn-site.xml
        <configuration>
            <!-- reducer取数据的方式是mapreduce_shuffle -->
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
        </configuration>

    4.  将hadoop添加到环境变量
        vim /etc/profile
        
        export JAVA_HOME=/usr/java/jdk1.7.0_55
        export HADOOP_HOME=~/hadoop/hadoop-2.2.0
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
    
        source /etc/profile

    5.  格式化HDFS(namenode)第一次使用时要格式化
        hadoop namenode -format

    6.  启动hadoop
        先启动HDFS
        sbin/start-dfs.sh
        
        再启动YARN
        sbin/start-yarn.sh

    7.  验证是否启动成功
        使用jps命令验证
        12402 NameNode
        13512 Jps
        23137 SecondaryNameNode
        21464 NodeManager
        15303 ResourceManager
        21517 DataNode


        http://192.168.50.128:50070   (HDFS管理界面)
        在这个文件中添加linux主机名和IP的映射关系
        C:\Windows\System32\drivers\etc\hosts
        192.168.50.128   hyman
        
        http://192.168.50.128:8088 (MR管理界面)

到此,hadoop2.2.0伪分布式搭建已经完成,大家可以用一下操作进行验证。

    1. 验证HDFS
        向hdfs上传一个文件,然后查看hdfs中是否存在
        hadoop fs -put /etc/profile /profile
        hadoop fs -ls /

    2.  验证YARN
        运行一下hadoop提供的demo中的WordCount程序:
        hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /profile /out
    
    OK,大功告成!!!

你可能感兴趣的:(配置,hadoop2.2.0,伪分布式环境)