当前位置:   article > 正文

Hadoop配置文件简介_hadoop配置文件slave是

hadoop配置文件slave是

简介

本文介绍了Hadoop 2.7.x常用的配置文件,并结合Hadoop的不同工作模式介绍其基本的配置。

综述

Hadoop的配置文件存放在$HADOOP_INSTALL/etc/hadoop目录下,下表列出了主要的配置文件及其功能:
文件名称
格式
描述
hadoop-env.sh
shell脚本
Hadoop运行中需要用到的环境变量
core-site.xml
XML
Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等
hdfs-site.xml
XML
Hadoop守护进程的配置项,包括namenode, secondary namenode, 和datanode等
mapred-site.xml
XML
MapReduce守护进程的配置项,包括jobtracker和tasktracker
masters
纯文本
运行secondary namenode的机器列表
slaves
纯文本
运行datanode和tasktracker的机器列表
hadoop-metrics.properties
Java属性
控制如何在Hadoop上发布度量的属性
log4j.properties
Java属性
系统日志文件、namenode审计日志,tasktracker子进程的任务日志的属性

配置采用XML的格式存储,我们常用的配置文件主要涉及到hadoop-en.sh, core-site.xml, hdfs-site.xml, mapred-site.xml和yarn-site.xml。本文将结合Hadoop 2.7.3来讲解这些常用配置文件,并结合Hadoop的工作模式给出基本的配置。
如果配置目录被重新放在文件系统的其他地方(Hadoop安装在外面,以便升级),但是守护进程启动时需要使用--config选项,以指向本地文件系统的目录。

hadoop-env.sh

hadoop-env.sh文件中定义了Hadoop运行时使用的环境变量,其中只有JAVA_HOME环境变量是用户需要配置的,使之指向Java安装目录。其它环境变量在默认配置下都可以很好的工作。在逐步熟悉Hadoop后,可以通过修改这个文件来做个性化设置(如日志目录的位置、Java类所在目录等)。

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

这几个配置文件的配置与Hadoop的工作模式有关:本地模式、伪分布式模式、分布式(集群)模式。关于yarn-site.xml的配置,我们主要在分布式模式中介绍。
1. 本地(单机)模式
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下core-site.xml, hdfs-site.xml, mapred-site.xml文件均为空,即使用系统的缺省最小配置。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. </configuration>
当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
2. 伪分布式模式
伪分布式模式在“单节点集群”上运行Hadoop, 所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用的情况、HDFS输入输出,以及其它守护进程的交互。
core-site.xml文件制定了NameNode的主机名和端口号,haoop.tmp.dir定义了临时目录,缺省为/tmp/hadoop-${user.name}。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>hadoop.tmp.dir</name>
  7. <value>file:/usr/local/hadoop/tmp</value>
  8. <description>A base for other temporary directories.</description>
  9. </property>
  10. <property>
  11. <name>fs.defaultFS</name>
  12. <value>hdfs://localhost:9000</value>
  13. </property>
  14. </configuration>
mapred-site.xml可以使用系统默认的最小配置。
hdfs-site.xml中指定了HDFS的默认副本数,因为仅运行在一个节点上,这里副本数为1。这里我们还提供了NameNode和DataNode的工作目录。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>dfs.replication</name>
  7. <value>1</value>
  8. </property>
  9. <property>
  10. <name>dfs.namenode.name.dir</name>
  11. <value>file:/usr/local/hadoop/tmp/dfs/name</value>
  12. </property>
  13. <property>
  14. <name>dfs.datanode.data.dir</name>
  15. <value>file:/usr/local/hadoop/tmp/dfs/data</value>
  16. </property>
  17. </configuration>
3. 全分布式(集群)模式
集群模式能够充分利用分布式存储和分布式计算带来的好处,这里介绍一下集群下Hadoop相关的配置。
既然Hadoop工作在集群下,那么工作在集群下的节点需要知道主节点master的主机和端口信息。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>hadoop.tmp.dir</name>
  7. <value>file:/usr/local/hadoop/tmp</value>
  8. <description>Abase for other temporary directories.</description>
  9. </property>
  10. <property>
  11. <name>fs.defaultFS</name>
  12. <value>hdfs://hadoop-master-vm:9000</value>
  13. </property>
  14. </configuration>
对比伪分布式工作模式,主机名是使用的localhost,但集群模式下,需要为工作节点slave提供主节点的信息,这里使用的是主机名。因此我们需要提供主机名与IP地址之间的转换服务,可提供静态的DNS转换服务,通过修改/etc/hosts的配置来提供;另外一种就是提供动态的DNS服务器来负责主机名和IP地址的解析服务。
当主节点master启动时,需要启动工作节点slave的守护进程,这里就需要知道工作节点的地址信息,因此,我们需要在$HADOOP_INSTALL/etc/hadoop目录下提供slaves配置文件,提供slaves主机名列表。格式为每行一条主机名。
hadoop-slave01-vm
hadoop-slave02-vm
hadoop-slave03-vm
在集群情况下,我们需要使用HDFS的冗余功能,因此副本配置就不像伪分布式模式那样设置为1,我们这里采取了缺省的副本数为3的配置。我们可以配置Secondary NameNode,以提供NameNode的冗余。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>dfs.namenode.secondary.http-address</name>
  7. <value>hadoop-master-vm:50090</value>
  8. </property>
  9. <property>
  10. <name>dfs.replication</name>
  11. <value>3</value>
  12. </property>
  13. <property>
  14. <name>dfs.namenode.name.dir</name>
  15. <value>file:/usr/local/hadoop/tmp/dfs/name</value>
  16. </property>
  17. <property>
  18. <name>dfs.datanode.data.dir</name>
  19. <value>file:/usr/local/hadoop/tmp/dfs/data</value>
  20. </property>
  21. </configuration>
如果我们选择第二代MapReduce框架Yarn,那么需要修改mapred-site.xml和yarn-site.xml配置文件。在下面的mapred-site.xml配置文件中,我们提供了Job History的配置,以方便用户查询作业的历史信息。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6. <name>mapreduce.framework.name</name>
  7. <value>yarn</value>
  8. </property>
  9. <property>
  10. <name>mapreduce.jobhistory.address</name>
  11. <value>hadoop-master-vm:10020</value>
  12. </property>
  13. <property>
  14. <name>mapreduce.jobhistory.webapp.address</name>
  15. <value>hadoop-master-vm:19888</value>
  16. </property>
  17. </configuration>
Yarn的配置文件yarn-site.xml中,我们需要提供ResourceManager的主机名。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4. <!-- Site specific YARN configuration properties -->
  5. <property>
  6. <name>yarn.resourcemanager.hostname</name>
  7. <value>hadoop-master-vm</value>
  8. </property>
  9. <property>
  10. <name>yarn.nodemanager.aux-services</name>
  11. <value>mapreduce_shuffle</value>
  12. </property>
  13. </configuration>

总结

本文介绍的配置均为Hadoop基本配置,了解这些配置能够帮助我们快速的搭建学习和开发环境。如果我们需要配置其它参数,以提供定制化业务或性能调优,由于不同版本之间的配置可能存在差异,则需要参考官方的相关文档。
这里给出了官网提供的这个主要配置文件的详细说明的链接:
http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/core-default.xml
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/633990
推荐阅读
相关标签
  

闽ICP备14008679号