hadoop2.x伪分布式搭建

【前言】之前搭建了hadoop1.x的伪分布式与全分布式,由于hadoop2.x与hadoop1.x在安装和配置上有较大的区别,所以对hadoop2.x的安装也做一个笔记以便日后学习。
话不多说,直接开始。

【1】准备
java1.7的tar包,hadoop2.x的tar包

【2】安装JDK

    2.1上传
    
    2.2解压jdk
        #创建文件夹
        mkdir /usr/java
        #解压
        tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/
        
    2.3将java添加到环境变量中
        vim /etc/profile
        #在文件最后添加
        export JAVA_HOME=/usr/java/jdk1.7.0_55
        export PATH=$PATH:$JAVA_HOME/bin
    
        #刷新配置
        source /etc/profile

                #获取配置
                echo $JAVA_HOME

【3】安装hadoop2.x

    3.1上传
    
    3.2解压hadoop包
        tar -zxvf hadoop-2.2.0.tar.gz 
                cp hadoop-2.2.0 /usr/local
        
    2.3修改配置文件
        这里要修改五个配置文件,注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
                (1)hadoop-env.sh
                (2)core-site.xml
                (3)hdfs-site.xml
                (4)mapred-site.xml      @(这个文件没有 执行mv mapred-site.xml.template mapred-site.xml命令)
                (5)yarn-site.xml

【4】具体配置内容

第一个:hadoop-env.sh
        vim hadoop-env.sh
        #第27行
        export JAVA_HOME=/usr/java/jdk1.7.0_65
第二个:core-site.xml
        <!-- 制定HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop:9000</value>
        </property>
        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/itcast/hadoop-2.4.1/tmp</value>
        </property>
第三个:hdfs-site.xml
        <!-- 指定HDFS副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
第四个:mapred-site.xml 
        <!-- 指定mr运行在yarn上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
第五个:yarn-site.xml
        <!-- 指定YARN的老大(ResourceManager)的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>itcast01</value>
        </property>
        <!-- reducer获取数据的方式 -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>

注意:另外如果要使用远程调试hadoop还

需要在$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件的最后添加你想debug的进程

    #远程调试namenode
    export HADOOP_NAMENODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y"
    #远程调试datanode
    export HADOOP_DATANODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=9888,server=y,suspend=y"

    #远程调试RM
    export YARN_RESOURCEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"

    #远程调试NM
    export YARN_NODEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"

【5】配置hadoop的相关环境变量

vim /etc/proflie
        export JAVA_HOME=/usr/java/jdk1.7.0_65
        export HADOOP_HOME=/itcast/hadoop-2.4.1
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

【6】格式化namanode(可以理解为U盘的格式化)

hdfs namenode -format (hadoop namenode -format)
2016-12-06_141758.png

【7】启动hadoop

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

当然,这里也可以用start-all.sh(已过期,但可用)

【8】验证

使用jps命令验证
        27408 NameNode
        28218 Jps
        27643 SecondaryNameNode
        28066 NodeManager
        27803 ResourceManager
        27512 DataNode
    
        http://hadoop:50070 (HDFS管理界面)
        http://hadoop:8088 (MR管理界面)
2016-12-06_141503.png
2016-12-06_141041.png
2016-12-06_141103.png

【9】其他问题
有时候我们虽然安装和启动都OK,但是往往在执行hadoop的shell命令时会遇到这样的问题;

1551669463(1).jpg
[root@hadoop sbin]# hadoop fs -ls /
19/03/04 03:09:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@hadoop sbin]#
[root@hadoop sbin]#

这是什么问题呢?
1、有可能是hadoop的预编译包是32bit的,运行在64bit上就会有问题。
2、原来系统预装的glibc库和hadoop期望的版本不一致所导致,所以打印警告信息

解决办法:修改hadoop的log4配置(/etc/hadoop/log4j.properties)
文件中添加

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容