• Hadoop 单节点(或集群)基本配置信息


    1. 默认配置文件: 存放于Hadoop对应的jar包中

    • core-default.xml
    • hdfs-default.xml
    • yarn-default.xml
    • mapred-default.xml

    2. 自定义配置文件: $HADOOP_HOME/etc/hadoop

    • core-site.xml
    • hdfs-site.xml
    • yarn-site.xml
    • mapred-site.xml

    2.1 core-site.xml

     <configuration>
          <property>
              <!-- 指定HDFS中NameNode的地址 -->
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
          </property>
              <!-- 指定Hadoop运行时产生文件的存储目录,hadoop启动时,会自动创建 -->
              <property>
                  <name>hadoop.tmp.dir</name>
                  <value>/(自定义路径)/hadoop-2.8.5/data/tmp</value>
              </property>
      </configuration>
    

    2.2 hadoop-env.sh

    export JAVA_HOME=服务器java环境变量
    

    2.3 hdfs-site.xml

     <configuration>
        <!-- nameNode 文件的副本数量 -->
         <property>
             <name>dfs.replication</name>
             <value>1</value>
         </property>
         <!-- nameNode 的访问地址-->
         <property>
             <name>dfs.namenode.rpc-bind-host</name>
             <value>0.0.0.0</value>
         </property>
     </configuration>
    

    2.4 yarn-site.xml

    <configuration>
         <!-- Reducer 获取数据的方式-->
         <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
         </property>
         <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>0.0.0.0</value>
         </property>
         <!-- 指定YARN 的 ResourceManager 的地址-->
         <property>
             <name>yarn.resourcemanager.webapp.address</name>
             <value>${yarn.resourcemanager.hostname}:8090</value>
         </property>
         <!-- 开启日志聚集功能 -->
         <property>
             <name>yarn.log-aggregation-enable</name>
             <value>true</value>
         </property>
         <!-- 日志保留7天 -->
         <property>
             <name>yarn.log-aggregation.retain-seconds</name>
             <value>604800</value>
          </property>
      </configuration>
    

    2.5 yarn-env.sh 配置

    export JAVA_HOME=服务器java环境变量
    

    2.6 mapred-site.xml

     <configuration>
         <!-- 指定MR运行在YARN上 -->
         <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
         </property>
         <!-- 历史记录服务器端地址 -->
         <property>
             <name>mapreduce.jobhistory.address</name>
             <value>localhost:10020</value>
         </property>
         <!-- 历史服务器web端地址 -->
         <property>
             <name>mapreduce.jobhistory.webapp.address</name>
             <value>0.0.0.0:8091</value>
         </property>
     </configuration>
    

    2.7 mapred-env.sh 配置

    export JAVA_HOME=服务器java环境变量
    

    3. Hadoop 集群配置

    3.1 节点内容预览

    节点1 节点2 节点3
    HDFS NameNode
    DataNode

    DataNode
    SecondaryNameNode
    DataNode
    YARN
    NodeManager
    ResourceManager
    NodeManager

    NodeManager

    3.2 core-site.xml 配置

    <configuration>
          <property>
              <!-- 指定HDFS中NameNode的地址 -->
              <name>fs.defaultFS</name>
              <value>hdfs://节点1:9000</value>
          </property>
              <!-- 指定Hadoop运行时产生文件的存储目录,hadoop启动时,会自动创建 -->
              <property>
                  <name>hadoop.tmp.dir</name>
                  <value>/(自定义路径)/hadoop-2.8.5/data/tmp</value>
              </property>
      </configuration>
    

    3.3 hadoop-env.sh 配置

    export JAVA_HOME=服务器java环境变量
    

    3.4 hdfs-site.xml 配置

    <configuration>
        <!-- nameNode 文件的副本数量 -->
         <property>
             <name>dfs.replication</name>
             <value>3</value>
         </property>
         <!-- 指定 Hadoop 辅助名称节点主机配置(SecondaryNameNode) -->
         <property>
             <name>dfs.namenode.secondary.http-address</name>
             <value>节点3主机名称:端口号</value>
         </property>
     </configuration>
    

    3.5 yarn-env.sh 配置

    export JAVA_HOME=服务器java环境变量
    

    3.6 yarn-site.xml 配置

    <configuration>
         <!-- Reducer 获取数据的方式-->
         <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
         </property>
         <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>节点2</value>
         </property>
         <!-- 指定YARN 的 ResourceManager 的地址-->
         <property>
             <name>yarn.resourcemanager.webapp.address</name>
             <value>${yarn.resourcemanager.hostname}:8090</value>
         </property>
         <!-- 开启日志聚集功能 -->
         <property>
             <name>yarn.log-aggregation-enable</name>
             <value>true</value>
         </property>
         <!-- 日志保留7天 -->
         <property>
             <name>yarn.log-aggregation.retain-seconds</name>
             <value>604800</value>
          </property>
      </configuration>
    

    3.7 mapred-env.sh 配置

    export JAVA_HOME=服务器java环境变量
    

    3.8 mapred-site.xml 配置

     <configuration>
         <!-- 指定MR运行在YARN上 -->
         <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
         </property>
     </configuration>
    

    3.9 slaves 配置

    节点1
    节点2
    节点3
    

    4. 常用命令

    1. bin/hdfs namenode -format: 格式化命令;执行命令前,需要将单节点(或集群)中的/data,/logs目录删除。
    2. bin/hdfs dfs -put 待上传文件 上传的目的地:将本地文件上传至hdfs中。
    3. sbin/hadoop-daemon.sh start(stop) namenode: 启动(或停止)单节点NameNode。
    4. sbin/hadoop-daemon.sh start(stop) datanode: 启动(或停止)单节点DataNode。
    5. sbin/yarn-daemon.sh start(stop) resourcemanager: 启动(或停止)单节点ResourceManager。
    6. sbin/yarn-daemon.sh start(stop) nodemanager: 启动(或停止)单节点NodeManager。
    7. sbin/mr-jobhistory-daemon.sh start(stop) historyserver: 启动(或停止)单节点History记录。
    8. sbin/start-dfs.sh: 启动HDFS集群(注意:所有节点均已配置"Hadoop目录/etc/hadoop/slaves")。
    9. sbin/start-yarn.sh: 启动YARN集群(注意:所有节点均已配置"Hadoop目录/etc/hadoop/slaves"; 另外,需要在ResourceManager服务器启动)。
    10. sbin/stop-dfs.sh: 停止HDFS集群。
    11. sbin/stop-yarn.sh: 停止YARN集群。

    5. 集群时间同步

    • 时间同步的方式:找一个机器, 作为时间服务器,所有机器与这台集群时间进行定时的同步;
      • 检查ntp是否安装rpm -qa|grep ntp
      • 修改ntp配置文件/etc/ntp.conf
      • 修改/etc/sysconfig/ntpd文件;
        • 让硬件时间与系统时间一起同步;
      • 重启ntpd服务;
      • 设置ntpd服务开机启动;


    **参考资料:** - [设置集群时间同步](https://www.bilibili.com/video/av32081351/?p=44) - [rpm命令](http://man.linuxde.net/rpm)
  • 相关阅读:
    x86 hook跳转内存地址转换计算框架
    win10180317134配合VS2017搭建WDK驱动开发环境
    C/C++字节特征码转换自动格式化文本工具算法源码
    jar包直接拷贝到WEBINF/lib下和以userLibrary引入的区别
    java.io.IOException: Cannot rename original file to %TOMCAT_HOME%\conf\tomcatusers.xml.old
    Tomcat5 和 Tomcat6 类加载器架构
    Tomcat version * only supports J2EE * Web modules
    tomcat启动时报错:org.apache.catalina.core.AprLifecycleListener init
    tomcat 不能正常启动,双击 startup.bat 一闪而过
    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
  • 原文地址:https://www.cnblogs.com/linkworld/p/10923798.html
Copyright © 2020-2023  润新知