• 五、集群配置


    1 集群部署规划

    • 集群部署规划

      pcnode01 pcnode02 pcnode03
      HDFS NameNode
      DataNode

      DataNode
      SecondaryNameNode
      DataNode
      YARN
      NodeManager
      ResoureManager
      NodeManager

      NodeManager
    • 注意点

      1. NameNode和SecondaryNameNode很消耗内存,不要安装在同一台服务器
      2. ResourceManager很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上

    2 配置文件说明

    Hadoop配置文件分为两类:默认配置文件和自定义配置文件。

    • 默认配置文件

      默认文件 文件存放在Hadoop的jar包中的位置
      [core-default.xml] $HADOOP_HOME/share/hadoop/common/hadoop-common-xxx.jar
      [hdfs-default.xml] $HADOOP_HOME/share/hadoop/hdfs/hadoop-hdfs-xxx.jar
      [yarn-default.xml] $HADOOP_HOME/share/hadoop/yarn/hadoop-yarn-common-xxx.jar
      [mapred-default-xml] $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-xxx.jar
    • 自定义配置文件

      core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop路径下,用户想修改某一默认配置值时,可以修改自定义配置文件,更改相应属性值。

    3 配置集群

    3.1 配置核心文件

    • 配置core-site.xml

      cd $HADOOP_HOME/etc/hadoop
      vim core-site.xml
      
    • 修改内容

      <?xml version="1.0" encoding="UTF-8"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      <!-- Put site-specific property overrides in this file. -->
      <configuration>
      <!--指定NameNode的地址 -->
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://pcnode01:8082</value>
      </property>
      <!-- 指定Hadoop数据的存储目录 -->
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/opt/software/hadoop-3.2.2/data</value>
      </property>
      <!-- 配置HDFS网页登录使用的静态用户为 admin-->
      <property>
          <name>hadoop.http.staticuser.user</name>
          <value>admin</value>
      </property>
      </configuration>
      
      
      
    • 分发给其他服务器

      [root@pcnode01 hadoop]# rsync -av ./core-site.xml pcnode02:/opt/software/hadoop-3.2.2/etc/hadoop/
      [root@pcnode01 hadoop]# rsync -av ./core-site.xml pcnode03:/opt/software/hadoop-3.2.2/etc/hadoop/
      

    3.2 配置HDFS文件

    • 配置hdfs-site.xml文件

      cd $HADOOP_HOME/etc/hadoop
      vim hdfs-site.xml
      
    • 修改内容

      <?xml version="1.0" encoding="UTF-8"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      <!-- Put site-specific property overrides in this file. -->
      
      <configuration>
      
      <!-- nn web端访问地址-->
      <property>
          <name>dfs.namenode.http-address</name>
          <value>pcnode01:9870</value>
      </property>
      <!-- 2nn web端访问地址-->
      <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>pcnode03:9868</value>
      </property>
      
      </configuration>
      
      
    • 分发给其他服务器

      rsync -av ./hdfs-site.xml pcnode02:/opt/software/hadoop-3.2.2/etc/hadoop/
      rsync -av ./hdfs-site.xml pcnode03:/opt/software/hadoop-3.2.2/etc/hadoop/
      

    3.3 配置YARN文件

    • 配置yarn-site.xml文件

      cd $HADOOP_HOME/etc/hadoop
      vim yarn-site.xml
      
    • 修改内容

      <?xml version="1.0" encoding="UTF-8"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      
      <configuration>
      
      <!-- Site specific YARN configuration properties -->
      
      <!-- 指定MR走 shuffle-->
      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
      <!-- 指定 ResourceManager 的地址-->
      <property>
          <name>yarn.resourcemanager.hostname</name>
          <value>pcnode02</value>
      </property>
      <!-- 环境变量的继承-->
      <property>
          <name>yarn.nodemanager.env-whitelist</name>
          <value>JAVA_HOEM,HADOOP_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
      </property>
      </configuration>
      
      
    • 分发给其他服务器

      rsync -av ./yarn-site.xml pcnode02:/opt/software/hadoop-3.2.2/etc/hadoop/
      rsync -av ./yarn-site.xml pcnode03:/opt/software/hadoop-3.2.2/etc/hadoop/
      

    3.4 配置MapReduce配置文件

    • 配置mapred-site.xml文件

      cd $HADOOP_HOME/etc/hadoop
      vim mapred-site.xml
      
    • 修改内容

      <?xml version="1.0" encoding="UTF-8"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      <!-- Put site-specific property overrides in this file. -->
      
      <configuration>
      
      <!-- 指定MapReduce 程序运行在Yarn上-->
      <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
      </property>
      </configuration>
      
      
    • 分发给其他服务器

      rsync -av ./mapred-site.xml pcnode02:/opt/software/hadoop-3.2.2/etc/hadoop/
      rsync -av ./mapred-site.xml pcnode03:/opt/software/hadoop-3.2.2/etc/hadoop/
      

    4 群起集群

    4.1 配置workers

    • 配置workers

      cd $HADOOP_HOME/etc/hadoop
      vim workers
      
    • 添加内容

      注意要删除首行的localhost

      pcnode01
      pcnode02
      pcnode03
      

      说明:workers文件中,添加的内容结尾不允许有空格,文件中不允许有空行

    • 分发给其他服务器

      rsync -av ./workers pcnode02:/opt/software/hadoop-3.2.2/etc/hadoop/
      rsync -av ./workers pcnode03:/opt/software/hadoop-3.2.2/etc/hadoop/
      

    4.2 启动集群

    • 格式化namenode

      hdfs namenode -format
      

      说明:1、如果集群第一次启动,需要在pcnode01节点格式化NameNode

      ​ 2、格式化NameNode,会产生新的集群ID,导致NameNode和DataNode的集群ID不一致,集群找不到以往数据

      ​ 3、如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化

    • 启动HDFS

      ./sbin/start-dfs.sh
      

      报错参考:https://www.cnblogs.com/nuochengze/p/14883150.html

    • 启动yarn

      在布置了ResoureceManager的节点(pcnode02)启动yarn

      ./sbin/start-yarn.sh
      
    • web端查看HDFS的NameNode

      • 浏览器中输入:http://pcnode01:9870
    • web端查看YARN的ResourceManager

      • 浏览器中输入:http://pcnode02:8088

    5 配置历史服务器

    • 作用

      查看程序的历史运行情况

    • 配置mapred-site.xml

      cd $HADOOP_HOME/etc/hadoop
      vim mapred-site.xml
      
    • 添加内容

      <!-- 历史服务器端地址-->
      <property>
      	<name>mapreduce.jobhistory.address</name>
      	<value>pcnode01:10020</value>
      </property>
      <!-- 历史服务器web端地址-->
      <property>
      	<name>mapreduce.jobhistory,webapp.address</name>
      	<value>pcnode01:19888</value>
      </property>
      
    • 分发给其他服务器

       rsync -av ./hadoop/* pcnode02:$HADOOP_HOME/etc/hadoop
       rsync -av ./hadoop/* pcnode03:$HADOOP_HOME/etc/hadoop
      
    • 停止hdfs/yarn

      $HADOOP_HOME/sbin/stop-dfs.sh  (pcnode01上)
      $HADOOP_HOME/sbin/stop-yarn.sh  (pcnode02上)
      
    • pcnode01启动历史服务器/dfs,在pcnode02启动yarn

      mapred --daemon start historyserver  (pcnode01上)
      $HADOOP_HOME/sbin/start-dfs.sh  (pcnode01上)
      $HADOOP_HOME/sbin/start-yarn.sh  (pcnode02上)
      
    • 在web端查看

      http://pcnode01:19888
      

    6 配置日志的聚集

    • 作用

      应用运行完成后,将程序运行日志信息上传到HDFS系统上,方便开发调试

    • 配置yarn-site.xml

      cd $HADOOP_HOME/etc/hadoop
      vim yarn-site.xml
      
    • 添加内容

      <!-- 开启日志聚集功能-->
      <property>
      	<name>yarn.log-aggregation-enable</name>
      	<value>true</value>
      </property>
      <!-- 设置日志聚集服务器地址-->
      <property>
      	<name>yarn.log.server.url</name>
      	<value>http://pcnode01:19888/jobhistory/logs</value>
      </property>
      <!-- 设置日志保留时间为7天-->
      <property>
      	<name>yarn.log-aggregation.retain-seconds</name>
      	<value>604800</value>
      </property>
      
    • 分发给其他服务器

       rsync -av $HADOOP_HOME/etc/hadoop/* pcnode02:/$HADOOP_HOME/etc/hadoop 
       rsync -av $HADOOP_HOME/etc/hadoop/* pcnode03:/$HADOOP_HOME/etc/hadoop 
      
    • 停止hdfs/yarn/historyserver

      $HADOOP_HOME/sbin/stop-dfs.sh  (pcnode01上)
      $HADOOP_HOME/sbin/stop-yarn.sh  (pcnode01上)
      mapred --daemon stop historyserver  (pcnode01上)
      
    • pcnode01启动历史服务器/dfs,在pcnode02启动yarn

      mapred --daemon start historyserver  (pcnode01上)
      $HADOOP_HOME/sbin/start-dfs.sh  (pcnode01上)
      $HADOOP_HOME/sbin/start-yarn.sh  (pcnode02上)
      
    • 查看日志

      http://pcnode01:19888
      

    7 集群启动/停止方式总结

    • 各个模块分开启动/停止

      start-dfs.sh/stop-dfs.sh  #HDFS的整体启停
      start-yarn.sh/stop-yarn.sh #yarn的整体启停
      
    • 单个服务组件逐一启动/停止

      • HDFS组件

        hdfs --daemon start/stop namenode/datanode/secondarynamenode
        
      • YARN组件

        yarn --daemon start/stop resourcemanager/nodemanager
        
    • 查看服务器Hadoop服务进程

      jps
      

    8 常用端口号说明

    端口名称 Hadoop2.x Hadoop3.x
    NameNode内部通信端口 8020/9000 8020/9000/9820
    NameNode HTTP UI 50070 9870
    MapReduce查看任务执行端口 8088 8088
    历史服务器通信端口 19888 19888
  • 相关阅读:
    Maven 打war包
    linuxan安装redis出现Newer version of jemalloc required错误
    Linux常用命令
    Linux重启和关机命令
    CentOS 端口和防火墙操作
    修改root密码
    Web登录验证之 Shiro
    No WebApplicationContext found: no ContextLoaderListener registered
    java写文件实现换行
    gcc命令详解
  • 原文地址:https://www.cnblogs.com/nuochengze/p/14883874.html
Copyright © 2020-2023  润新知