zoukankan      html  css  js  c++  java
  • Hadoop学习笔记(四)Hadoop伪分布式配置

    Hadoop配置文档(二)

    这一篇是介绍Hadoop伪分布式的配置中的Hadoop的配置。第一部分是Hadoop1.0配置,第二部分是Hadoop2.0的配置,大家可以自己选择查看。
    Linux配置可以查看 Hadoop学习笔记(三)Linux环境配置

    Hadoop1.0配置介绍

    Hadoop的五个核心守护进程有:NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracker
    所以不难理解,Hadoop方面的配置主要是对五个核心守护进程的配置。

    NameNode配置

    cd $HADOOP_HOME/conf/
    vim core-site.xml
    

    配置文件如下

    <configuration>
        <!-- NameNode节点地址 -->
        <property>
            <name>fs.default.name</name>
            <value>hdfs://HOSTADDRESS:9000</value>
        </property>
        <!-- NameNode缓存文件地址 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/data/tmp</value>
        </property>
    </configuration>
    

    注意缓存文件地址手动创建,可以自由配置

    DataNode

    cd $HADOOP_HOME/conf/
    vim hdfs-site.xml
    

    配置文件如下

    <configuration>
        <!-- HDFS副本数 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <!-- 权限检查不启用 -->
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
    </configuration>
    

    SecondaryNameNode

    cd $HADOOP_HOME/conf/
    vim masters
    

    将localhost替换为$HOSTNAME
    指定SecondaryNameNode位置

    JobTracker

    cd $HADOOP_HOME/conf/
    vim mapred-site.xml
    

    文件配置如下

    <configuration>
        <!-- 指定JobTracker主机号与端口号 -->
        <property>
            <name>mapred.jdo.tracker</name>
            <value>HOSTADDRESS:9001</value>
        </property>
    </configuration>
    

    TaskTracker

    cd $HADOOP_HOME/conf/
    vim slaves
    

    将localhost替换为$HOSTNAME。
    指定DataNode和TaskTracker的位置

    编译环境

    cd $HADOOP_HOME/conf/
    vim hadoop-env.sh
    

    启用JDK配置,并配置到对应的JDK位置

    NameNode格式化

    cd $HADOOP_HOME/bin/
    hadoop namenode -format
    

    测试

    start-dfs.sh
    jps
    

    jps查看java虚拟机运行进程,成功则显示
    这里写图片描述

    start-mapred.sh
    jps
    

    成功显示显示如下
    JobTracker,TaskTracker

    异常

    若此时存在守护进程没有启动的情况,通常存在两种问题

    1. XML配置错误,XML文件修改过后,需要进行namenode formate
    2. 文件权限问题

    文件权限问题需要对文件权限进行修改。
    修改到的文件权限涉及到的目录主要有:

    $HADOOP_HOME和TEMP目录,若存在相关问题可以更改文件权限解决

    Hadoop2.0配置介绍

    基本原理和第一篇相同,所以重复的内容就不浪费时间

    core-site.xml

    配置NameNode地址

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://thread.com:9000</value>
        </property>
    </configuration>
    

    hdfs-site.xml

    配置副本数

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    

    mapred-site.xml

    此处与Hadoop1.0不同,Hadoo2.0的资源调度交由yarn框架进行调度

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

    yarn-site.xml

    yarn是资源调度框架,详细这边不多做介绍

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

    NameNode格式化

    cd $HADOOP_HOME/bin/
    hadoop namenode -format
    

    测试

    start-all.sh
    jps
    

    jps查看java虚拟机运行进程,成功则显示
    这里写图片描述

    异常

    若此时存在守护进程没有启动的情况,通常存在三种问题

    1. XML配置错误,XML文件修改过后,需要进行namenode formate
    2. 文件权限问题
    3. namenode在formate之后,datanode无法启动

    文件权限问题需要对文件权限进行修改。
    修改到的文件权限涉及到的目录主要有:

    $HADOOP_HOME和TEMP目录,若存在相关问题可以更改文件权限解决

    第三种情况,是由于datanode在创建后会保存namenode版本号,而namenode formate之后,版本号更新,datanode的版本号无法与最新namenode版本号进行匹配,需要手动更新
    默认配置地址在/temp/hadoop-USERNAME/dfs/name/current/VERSION
    以及/temp/hadoop-USERNAME/dfs/data/current/VERSION

    nameVersion文件中

    clusterID=CID-9d26b796-f8bd-41ec-a829-07b3c641ae9b
    

    dataVersion文件中也存在clusterID,如果不匹配,则可以进行匹配

    欢迎继续学习使用Hadoop Hadoop学习笔记(五)日志系统

  • 相关阅读:
    BZOJ 1391: [Ceoi2008]order
    BZOJ 4504: K个串
    2019 年百度之星·程序设计大赛
    POJ 2398 Toy Storage (二分 叉积)
    POJ 2318 TOYS (二分 叉积)
    HDU 6697 Closest Pair of Segments (计算几何 暴力)
    HDU 6695 Welcome Party (贪心)
    HDU 6693 Valentine's Day (概率)
    HDU 6590 Code (判断凸包相交)
    POJ 3805 Separate Points (判断凸包相交)
  • 原文地址:https://www.cnblogs.com/cunchen/p/9464211.html
Copyright © 2011-2022 走看看