个人随笔
目录
hadoop配置文件说明
2019-09-12 23:14:51

hadoop有很多配置文件,主要是$HADOOP_HOME/etc/hadoop下面的配置文件,这里对hadoop的主要配置文件做下说明,以后有机会继续补充。

一、hadoop的配置文件

Hadoop有多个配置文件,这里列举最重要的几个,都在$HADOOP_HOME/etc/hadoop目录下。配置目录可以被重新安置在文件系统的其他地方($HADOOP_HOME的外面,以便于升级),只要启动守护进程时使用—config选项(或等价的,使用HADOOP_CONF_DIR环境变量集)说明这个目录在本地文件系统的位置就可以了。

文件名称 格式 描述
hadoop-env.sh Bash脚本 脚本中要用到的环境变量,以运行Hadoop
mapred-env.sh Bash脚本 脚本中要用到的环境变量,以运行MapReduce(覆盖hadoop-env.sh中设置的变量)
yarn-env.sh Bash脚本 脚本中要用到的环境变量,以运行YARN(覆盖hadoop-env.sh中设置的变量)
core-site.xml Hadoop配置XML Hadoop Core的配置项,例如HDFS、MapReduce和YARN常用的I/O设置等
hdfs-site.xml Hadoop配置XML Hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等
mapred-site.xml Hadoop配置XML MapReduce守护进程的配置项,包括作业历史服务器
yarn-site.xml Hadoop配置XML YARN守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器
slaves 纯文本 运行datanode和节点管理器的机器列表(每行一个)
hadoop-metrics2.properties Java属性 控制如何在Hadoop上发布度量的属性
log4j.properties Java属性 系统日志文件、namenode审计日志、任务JVM进程的任务日志的属性
hadoop-policy.xml Hadoop配置XML 安全模式下运行Hadoop时的访问控制列表的配置项
1、hadoop-env.sh
属性 含义
JAVA_HOME 需要设置Hadoop系统的Java安装的位置。方法一是在hadoop-env.sh文件中设置JAVA_HOME项;方法二是在shell中设置JAVA_HOME环境变量。相比之下,方法一更好,因为只需操作一次就能够保证整个集群使用同一版本的Java。
HADOOP_HEAPSIZE 为各个守护进程分配的内存,单位为MB,如果不设置默认值是1000。
HADOOP_LOG_DIR 系统日志文件存放目录,默认在$HADOOP_HOME/logs。建议修改默认设置,使之独立于Hadoop的安装目录,这样即使Hadoop升级之后安装路径发生变化,也不会影响日志文件的位置。
HADOOP_SSH_OPTS 设置SSH选项。
2、mapred-env.sh
属性 含义
3、yarn-env.sh
属性 含义
4、core-site.xml

Hadoop Core的配置项,例如HDFS、MapReduce和YARN常用的I/O设置等。

属性 含义
fs.defaultFS 描述集群中NameNode节点的URI(包括协议、主机名称、端口号),其主机是NameNode的主机名称或IP地址,端口是NameNode监听RPC的端口,如果没有指定,默认是8020。集群里面的每一台机器都需要知道NameNode的地址,DataNode会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。
5、hdfs-site.xml
属性 含义
dfs.namenode.name.dir 以逗号分隔的目录名称,是NameNode存储永久性的元数据的目录列表。NameNode在列表上的各个目录中均存放相同的元数据文件。例如:file:/data/hadoop/dfs/name
dfs.datanode.data.dir 以逗号分隔的目录名称,是DataNode存放数据块的目录列表。各个数据块分别存放在某一个目录中。例如:file:/data/hadoop/dfs/data
dfs.namenode.checkpoint.dir 以逗号分隔的目录名称,是辅助NameNode存放检查点的目录列表。在所列每个目录中均存放一份检查点文件的副本。
6、mapred-site.xml
属性 含义
7、yarn-site.xml
属性 含义
yarn.resourcemanager.hostname 运行资源管理器的机器主机名,默认值为0.0.0.0。例如:10.200.4.117
yarn.resourcemanager.address 运行资源管理器的PRC服务器的主机名和端口。例如:10.200.4.117:8032
yarn.nodemanager.local-dirs 逗号分隔的目录名称,是YARN容器本地临时存储空间。当应用结束时,数据被清除。最好将这些目录分散到所有本地磁盘,以提升磁盘I/O操作的效率。通常情况下,YARN本地存储会使用与DataNode数据块存储相同的磁盘和分区(但是不同的目录)。
yarn.nodemanager.aux-services 逗号分隔的服务名称,是节点管理器运行的附加服务列表。每项服务由属性yarn.nodemanager.auxservices.servicename.class所定义的类实现。默认情况下,不指定附加服务。
yarn.nodemanager.resource.memorymb 节点管理器运行的容器可以分配到的物理内存容量(单位是MB)。默认值是8192。
yarn.nodemanager.vmem-pmem-ratio 容器所占的虚拟内存和物理内存之比。该值指示了虚拟内存的使用可以超过所分配内存的量。默认值是2.1。
yarn.nodemanager.resource.cpuvcores 节点管理器运行的容器可以分配到的CPU核数目。
8、slaves
属性 含义
9、hadoop-metrics2.properties
属性 含义
10、log4j.properties
属性 含义
11、hadoop-policy.xml
属性 含义

二、配置文件举例

1.coer-site.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4. <property>
  5. <name>fs.defaultFS</name>
  6. <value>hdfs://worker1:9000</value>
  7.      <description>设定namenode的主机名及端口</description>
  8. </property>
  9. <property>
  10. <name>io.file.buffer.size</name>
  11. <value>131072</value>
  12. <description> 设置缓存大小 </description>
  13. </property>
  14. <property>
  15. <name>hadoop.tmp.dir</name>
  16. <value>/home/hadoop/hadoop-2.8.5/tmp</value>
  17. <description> 存放临时文件的目录 </description>
  18. </property>
  19. <property>
  20. <name>fs.checkpoint.period</name>
  21. <value>3600</value>
  22. <description> 检查点备份日志最长时间 </description>
  23. </property>
  24. <property>
  25. <name>hadoop.security.authorization</name>
  26. <value>false</value>
  27. </property>
  28. </configuration>

2.hdfs-site.xml(重点核心文件)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4. <property>
  5. <name>dfs.replication</name>
  6. <value>3</value>
  7. <description>分片数量</description>
  8. </property>
  9. <property>
  10. <name>dfs.namenode.name.dir</name>
  11. <value>file://${hadoop.tmp.dir}/name</value>
  12. <description>命名空间和事务在本地文件系统永久存储的路径</description>
  13. </property>
  14. <property>
  15. <name>dfs.namenode.hosts</name>
  16. <value>worker1,worker2,worker3</value>
  17. <description>3个datanode</description>
  18. </property>
  19. <property>
  20. <name>dfs.blocksize</name>
  21. <value>134217728</value>
  22. <description>HDFS块大小128M,如果你只有普通网线,就别64M了,没什么用</description>
  23. </property>
  24. <property>
  25. <name>dfs.datanode.data.dir</name>
  26. <value>file://${hadoop.tmp.dir}/data</value>
  27. <description>DataNode在本地文件系统中存放块的路径</description>
  28. </property>
  29. <property>
  30. <name>dfs.namenode.secondary.http-address</name>
  31. <value>worker2:50090</value>
  32. <description>secondary namenode设置到woker2</description>
  33. </property>
  34. </configuration>

3.mapred-site.xml

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <property>
  4. <name>mapreduce.framework.name</name>
  5. <value>yarn</value>
  6. <description>执行框架设置为Hadoop YARN</description>
  7. </property>
  8. <property>
  9. <name>mapreduce.map.memory.mb</name>
  10. <value>1024</value>
  11. <description>maps的资源限制</description>
  12. </property>
  13. <property>
  14. <name>mapreduce.map.java.opts</name>
  15. <value>-Xmx512M</value>
  16. <description>maps中jvm child的堆大小</description>
  17. </property>
  18. <property>
  19. <name>mapreduce.reduce.memory.mb</name>
  20. <value>1024</value>
  21. <description>reduces的资源限制</description>
  22. </property>
  23. <property>
  24. <name>mapreduce.reduce.java.opts</name>
  25. <value>-Xmx512M</value>
  26. <description>reduces jvm child的堆大小</description>
  27. </property>
  28. <property>
  29. <name> mapreduce.jobhistory.address</name>
  30. <value>worker1:10200</value>
  31. <description>设置mapreduce的历史服务器安装在worker1机器上</description>
  32. </property>
  33. <property>
  34. <name>mapreduce.jobhistory.webapp.address</name>
  35. <value>worker1:19888</value>
  36. <description>历史服务器的web页面地址和端口号</description>
  37. </property>
  38. </configuration>

4.yarn-site.xml

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <property>
  4. <name>yarn.resourcemanager.scheduler.class</name>
  5. <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
  6. <description>
  7. 常用类:CapacityScheduler、FairScheduler或者FifoScheduler这里使用公平调度
  8. org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
  9. </description>
  10. </property>
  11. <property>
  12. <name>yarn.resourcemanager.hostname</name>
  13. <value>worker1</value>
  14. <description>指定resourcemanager服务器指向worker1</description>
  15. </property>
  16. <property>
  17. <name>yarn.log-aggregation-enable</name>
  18. <value>true</value>
  19. <description>配置启用日志聚集功能</description>
  20. </property>
  21. <property>
  22. <name>yarn.log-aggregation.retain-seconds</name>
  23. <value>106800</value>
  24. <description>配置聚集的日志在HDFS上保存最长时间</description>
  25. </property>
  26. <property>
  27. <name>yarn.nodemanager.resource.memory-mb</name>
  28. <value>3096</value>
  29. <description>可使用的物理内存总量</description>
  30. </property>
  31. <property>
  32. <name>yarn.nodemanager.local-dirs</name>
  33. <value>file://${hadoop.tmp.dir}/nodemanager</value>
  34. <description>列表用逗号分隔</description>
  35. </property>
  36. <property>
  37. <name>yarn.nodemanager.log-dirs</name>
  38. <value>file://${hadoop.tmp.dir}/nodemanager/logs</value>
  39. <description>列表用逗号分隔</description>
  40. </property>
  41. <property>
  42. <name>yarn.nodemanager.log.retain-seconds</name>
  43. <value>10800</value>
  44. <description>单位为S</description>
  45. </property>
  46. <property>
  47. <name>yarn.nodemanager.aux-services</name>
  48. <value>mapreduce_shuffle</value>
  49. </property>
  50. <property>
  51. <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
  52. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  53. </property>
  54. </configuration>

待续…

 203

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2