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学习笔记(五)日志系统

  • 相关阅读:
    Gevent高并发网络库精解
    python多线程参考文章
    python多线程
    进程与线程
    golang 微服务以及相关web框架
    微服务实战:从架构到发布
    python 常用库收集
    总结数据科学家常用的Python库
    20个最有用的Python数据科学库
    自然语言处理的发展历程
  • 原文地址:https://www.cnblogs.com/cunchen/p/9464210.html
Copyright © 2011-2022 走看看