hadoop配置参数

2020-03-23  本文已影响0人  洛丽塔的云裳

1、配置优先级

配置文件或参数 说明
hadoop-default.xml 集群默认配置,一般不建议修改
hadoop-site.xml 客户端配置,建议存放通用配置,以下规范主要针对文件支持hadoop -conf conf/hadoop-site-xxx.xml格式指定客户端配置文件
格式 -D "key=value" (1) 一般放在hadoop 具体命令的后面,如杀死任务 hadoop job -D XXX=XXX -kill job_xxxx; (2) 格式 -D "key=value",可以存在多个-D参数

2、基本参数

默认hadoop-default.xml格式

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- NEEDED TO CHANGE -->
<property>
  <name>hadoop.job.ugi</name>
  <value>username,password</value>
  <description>username, password used by client</description>
</property>
<property>
  <name>fs.default.name</name>
  <value>hdfs://namenode:port</value>
  <description>The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>
<property>
  <name>mapred.job.tracker</name>
  <value>jobtracker:port</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </description>
</property>
</configuration>
参数 建议值 说明
hadoop.job.ugi 此为访问集群的用户名和密码。在hdfs上,文件的所属都是按照ugi区分的,和linux机器的登录账号无关。提交计算作业和访问hdfs的用户名与密码 格式username,password
fs.default.name 此为hadoop集群存储hdfs地址,建议使用域名 格式hdfs://namenode:port
mapred.job.tracker Hadoop集群计算master地址,建议使用域名 格式jobtracker:port
mapred.job.queue.name 任务提交的队列。通常ugi对应可以提交的队列。如果没有预算资源队列,原则上不准提交任务 格式default
mapred.job.map.capacity map的最大并发 一般非重要任务的并发不要设置太大,否则影响核心任务的运行。任务如果已经跑起来了,可以通过该命令修改: hadoop job -set-map-capacity <job-id> <map-capacity>比如 hadoop job -set-map-capacity job_20150507164539_1806465 1000
mapred.job.reduce.capacity reduce的最大并发 同上,并且注意reduce并发设置过大,可能导致抢了map的槽位;任务如果已经跑起来了,可以通过该命令修改: hadoop job -set-reduce-capacity <job-id> <map-capacity> 比如 hadoop job -set-map-capacity job_20150507164539_1806465 1000
mapred.job.priority 任务的优先级 priority一共有五种:VERY_HIGH HIGH NORMAL LOW VERY_LOW; 任务如果已经跑起来了,可以通过该命令修改: hadoop job -set-priority <job-id> <priority> 比如 hadoop job -set-priority job_20150507164539_1806465 HIGH
mapred.map.capacity.per.tasktracker 一台计算节点机器最多同时调度多少个你的map任务 有些任务比较重型,或者特别吃某种资源,如果不设置该值,可能造成慢节点
mapred.reduce.capacity.per.tasktracker 同上,对应调度reduce任务
dfs.block.size 块大小 默认是268435456字节,如果你的文件都是不到1G且接近,建议该值设置1073741824 避免太多小文件浪费inode
map压缩:mapred.compress.map.output;mapred.map.output.compression.codec 指对于那种map和reduce阶段都有的任务,map输出到本地的时候压缩,然后压缩后的数据由shuffle拿到reduce端。节省带宽和拉数据时间。
整体任务的输出压缩mapred.output.compress;mapred.output.compression.codec;mapred.output.compression.type 整体任务的压缩是指整个任务最重的数据存储到hdfs的时候,采用压缩后的格式存储。节省存储空间。如果任务是纯map的,map的输出就是整个任务的输出,也同样有效。
上一篇下一篇

猜你喜欢

热点阅读