Hadoop—— 集群配置

Posted 玛丽莲茼蒿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop—— 集群配置相关的知识,希望对你有一定的参考价值。

再复习一下HDFS、YARN、MapReduce

HDFS主要记住3个东西:

  • NameNode(nn):记录整个集群每一个文件存放在哪台服务器上
  • SecondNameNode(2nn):NameNode的备份
  • DataNode(dn):一台服务器上一个

YARN主要记住2个东西:

  • SourceManager:负责整个集群的资源调度
  • NodeManager

MapReduce分为两个阶段

  • Map阶段:在某台服务器的DataNode上进行资源的匹配工作
  • Reduce阶段:把匹配的结果(无论匹配上与否)写入一个DataNode

一、集群配置

1.集群部署规划

注意
(1)NameNode和SecondaryNameNode不要安装在同一台服务器(消耗内存)
(2)ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。
如果内存很牛忽略上面两条
部署

NameNode在102上,ResourceManager在103上,SecondaryNameNode在104上

2.根据上述部署要求更改配置文件

core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
(1)核心配置文件core-site.xml

@hadoop102 hadoop]$ vim core-site.xml

修改(粘过去就行)里面的内容:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为cj -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>cj</value>
    </property>
</configuration>

(2)HDFS配置文件

@hadoop102 hadoop]$ vim hdfs-site.xml

文件内容如下:

  • namenode web端访问地址:给用户提供web接口,可以通过页面访问,前面配置的102的8020端口是内部端口
  • secondnamenode端访问地址:web接口
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>
</configuration>

(3)YARN配置文件

@hadoop102 hadoop]$ vim yarn-site.xml

文件内容如下:
有一项是环境变量的更改,只有hadoop3.1.3需要这样,以后的版本修复了这个bug,就不需要更改环境变量了

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>

    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

(4)MapReduce配置文件

@hadoop102 hadoop]$ vim mapred-site.xml

文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

3.在集群上分发配置好的Hadoop配置文件

脚本xsync的使用见Hadoop(四)—— Hadoop运行模式

@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc/hadoop/

以上是关于Hadoop—— 集群配置的主要内容,如果未能解决你的问题,请参考以下文章

hadoop集群配置

学习笔记Hadoop—— Hadoop集群的安装与部署—— 配置Hadoop集群

Hadoop集群(第3期)_VSFTP安装配置

HBase集群配置Snappy压缩算法

学习笔记Hadoop—— Hadoop集群的安装与部署—— Hadoop配置参数介绍Hadoop集群启动与监控

Hadoop运行模式编写Hadoop集群常用脚本Hadoop集群启停脚本常用端口号说明集群时间同步时间服务器配置其他机器配置