配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,有两个方法可以正确配置:
1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,这些就是默认配置,可以参考这些配置的说明和key,配置hadoop集群。
2.浏览apache官网,三个配置文件链接如下:
这里是浏览hadoop当前版本号的默认配置文件,其他版本号,要另外去官网找。其中第一个方法找到默认的配置是最好的,因为每个属性都有说明,可以直接使用。另外,core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred的局部配置。
2 常用的端口配置2.1 HDFS端口
参数 | 描述 | 默认 | 配置文件 | 例子值 |
fs.default.name namenode | namenode RPC交互端口 | 8020 | core-site.xml | hdfs://master:8020/ |
dfs.http.address | NameNode web管理端口 | 50070 | hdfs- site.xml | 0.0.0.0:50070 |
dfs.datanode.address | datanode 控制端口 | 50010 | hdfs -site.xml | 0.0.0.0:50010 |
dfs.datanode.ipc.address | datanode的RPC服务器地址和端口 | 50020 | hdfs-site.xml | 0.0.0.0:50020 |
dfs.datanode.http.address | datanode的HTTP服务器和端口 | 50075 | hdfs-site.xml | 0.0.0.0:50075 |
2.2 MR端口
参数 | 描述 | 默认 | 配置文件 | 例子值 |
mapred.job.tracker | job-tracker交互端口 | 8021 | mapred-site.xml | hdfs://master:8021/ |
job | tracker的web管理端口 | 50030 | mapred-site.xml | 0.0.0.0:50030 |
mapred.task.tracker.http.address | task-tracker的HTTP端口 | 50060 | mapred-site.xml | 0.0.0.0:50060 |
2.3 其它端口
参数 | 描述 | 默认 | 配置文件 | 例子值 |
dfs.secondary.http.address | secondary NameNode web管理端口 | 50090 | hdfs-site.xml | 0.0.0.0:50090 |
3 三个缺省配置参考文件说明3.1 core-default.html
序号 | 参数名 | 参数值 | 参数说明 |
1 | hadoop.tmp.dir | /tmp/hadoop-${user.name} | 临时目录设定 |
2 | hadoop.native.lib | true | 使用本地hadoop库标识。 |
3 | hadoop.http.filter.initializers | http服务器过滤链设置 | |
4 | hadoop.security.group.mapping | org.apache.hadoop.security.ShellBasedUnixGroupsMapping | 组内用户的列表的类设定 |
5 | hadoop.security.authorization | false | 服务端认证开启 |
6 | hadoop.security.authentication | simple | 无认证或认证设置 |
7 | hadoop.security.token.service.use_ip | true | 是否开启使用IP地址作为连接的开关 |
8 | hadoop.logfile.size | 10000000 | 日志文件最大为10M |
9 | hadoop.logfile.count | 10 | 日志文件数量为10个 |
10 | io.file.buffer.size | 4096 | 流文件的缓冲区为4K |
11 | io.bytes.per.checksum | 512 | 校验位数为512字节 |
12 | io.skip.checksum.errors | false | 校验出错后是抛出异常还是略过标识。True则略过。 |
13 | io.compression.codecs | org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.SnappyCodec | 压缩和解压的方式设置 |
14 | io.serializations | org.apache.hadoop.io.serializer.WritableSerialization | 序例化和反序列化的类设定 |
15 | fs.default.name | file:/// | 缺省的文件URI标识设定。 |
16 | fs.trash.interval | 0 | 文件废弃标识设定,0为禁止此功能 |
17 | fs.file.impl | org.apache.hadoop.fs.LocalFileSystem | 本地文件操作类设置 |
18 | fs.hdfs.impl | org.apache.hadoop.hdfs.DistributedFileSystem | HDFS文件操作类设置 |
19 | fs.s3.impl | org.apache.hadoop.fs.s3.S3FileSystem | S3文件操作类设置 |
20 | fs.s3n.impl | org.apache.hadoop.fs.s3native.NativeS3FileSystem | S3文件本地操作类设置 |
21 | fs.kfs.impl | org.apache.hadoop.fs.kfs.KosmosFileSystem | KFS文件操作类设置. |
22 | fs.hftp.impl | org.apache.hadoop.hdfs.HftpFileSystem | HTTP方式操作文件设置 |
23 | fs.hsftp.impl | org.apache.hadoop.hdfs.HsftpFileSystem | HTTPS方式操作文件设置 |
24 | fs.webhdfs.impl | org.apache.hadoop.hdfs.web.WebHdfsFileSystem | WEB方式操作文件类设置 |
25 | fs.ftp.impl | org.apache.hadoop.fs.ftp.FTPFileSystem | FTP文件操作类设置 |
26 | fs.ramfs.impl | org.apache.hadoop.fs.InMemoryFileSystem | 内存文件操作类设置 |
27 | fs.har.impl | org.apache.hadoop.fs.HarFileSystem | 压缩文件操作类设置. |
28 | fs.har.impl.disable.cache | true | 是否缓存har文件的标识设定 |
29 | fs.checkpoint.dir | ${hadoop.tmp.dir}/dfs/namesecondary | 备份名称节点的存放目前录设置 |
30 | fs.checkpoint.edits.dir | ${fs.checkpoint.dir} | 备份名称节点日志文件的存放目前录设置 |
31 | fs.checkpoint.period | 3600 | 动态检查的间隔时间设置 |
32 | fs.checkpoint.size | 67108864 | 日志文件大小为64M |
33 | fs.s3.block.size | 67108864 | 写S3文件系统的块的大小为64M |
34 | fs.s3.buffer.dir | ${hadoop.tmp.dir}/s3 | S3文件数据的本地存放目录 |
35 | fs.s3.maxRetries | 4 | S3文件数据的偿试读写次数 |
36 | fs.s3.sleepTimeSeconds | 10 | S3文件偿试的间隔 |
37 | local.cache.size | 10737418240 | 缓存大小设置为10GB |
38 | io.seqfile.compress.blocksize | 1000000 | 压缩流式文件中的最小块数为100万 |
39 | io.seqfile.lazydecompress | true | 块是否需要压缩标识设定 |
40 | io.seqfile.sorter.recordlimit | 1000000 | 内存中排序记录块类最小为100万 |
41 | io.mapfile.bloom.size | 1048576 | BloomMapFiler过滤量为1M |
42 | io.mapfile.bloom.error.rate | 0.005 | |
43 | hadoop.util.hash.type | murmur | 缺少hash方法为murmur |
44 | ipc.client.idlethreshold | 4000 | 连接数据最小阀值为4000 |
45 | ipc.client.kill.max | 10 | 一个客户端连接数最大值为10 |
46 | ipc.client.connection.maxidletime | 10000 | 断开与服务器连接的时间最大为10秒 |
47 | ipc.client.connect.max.retries | 10 | 建立与服务器连接的重试次数为10次 |
48 | ipc.server.listen.queue.size | 128 | 接收客户连接的监听队例的长度为128 |
49 | ipc.server.tcpnodelay | false | 开启或关闭服务器端TCP连接算法 |
50 | ipc.client.tcpnodelay | false | 开启或关闭客户端TCP连接算法 |
51 | webinterface.private.actions | false | Web交互的行为设定 |
52 | hadoop.rpc.socket.factory.class.default | org.apache.hadoop.net.StandardSocketFactory | 缺省的socket工厂类设置 |
53 | hadoop.rpc.socket.factory.class.ClientProtocol | 与dfs连接时的缺省socket工厂类 | |
54 | hadoop.socks.server | 服务端的工厂类缺省设置为SocksSocketFactory. | |
55 | topology.node.switch.mapping.impl | org.apache.hadoop.net.ScriptBasedMapping | |
56 | topology.script.file.name | ||
57 | topology.script.number.args | 100 | 参数数量最多为100 |
58 | hadoop.security.uid.cache.secs | 14400 |
3.2 hdfs-default.html
序号 | 参数名 | 参数值 | 参数说明 |
1 | dfs.namenode.logging.level | info | 输出日志类型 |
2 | dfs.secondary.http.address | 0.0.0.0:50090 | 备份名称节点的http协议访问地址与端口 |
3 | dfs.datanode.address | 0.0.0.0:50010 | 数据节点的TCP管理服务地址和端口 |
4 | dfs.datanode.http.address | 0.0.0.0:50075 | 数据节点的HTTP协议访问地址和端口 |
5 | dfs.datanode.ipc.address | 0.0.0.0:50020 | 数据节点的IPC服务访问地址和端口 |
6 | dfs.datanode.handler.count | 3 | 数据节点的服务连接处理线程数 |
7 | dfs.http.address | 0.0.0.0:50070 | 名称节点的http协议访问地址与端口 |
8 | dfs.https.enable | false | 支持https访问方式标识 |
9 | dfs.https.need.client.auth | false | 客户端指定https访问标识 |
10 | dfs.https.server.keystore.resource | ssl-server.xml | Ssl密钥服务端的配置文件 |
11 | dfs.https.client.keystore.resource | ssl-client.xml | Ssl密钥客户端的配置文件 |
12 | dfs.datanode.https.address | 0.0.0.0:50475 | 数据节点的HTTPS协议访问地址和端口 |
13 | dfs.https.address | 0.0.0.0:50470 | 名称节点的HTTPS协议访问地址和端口 |
14 | dfs.datanode.dns.interface | default | 数据节点采用IP地址标识 |
15 | dfs.datanode.dns.nameserver | default | 指定DNS的IP地址 |
16 | dfs.replication.considerLoad | true | 加载目标或不加载的标识 |
17 | dfs.default.chunk.view.size | 32768 | 浏览时的文件块大小设置为32K |
18 | dfs.datanode.du.reserved | 0 | 每个卷预留的空闲空间数量 |
19 | dfs.name.dir | ${hadoop.tmp.dir}/dfs/name | 存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份 |
20 | dfs.name.edits.dir | ${dfs.name.dir} | 存贮文件操作过程信息的存贮目录 |
21 | dfs.web.ugi | webuser,webgroup | Web接口访问的用户名和组的帐户设定 |
22 | dfs.permissions | true | 文件操作时的权限检查标识。 |
23 | dfs.permissions.supergroup | supergroup | 超级用户的组名定义 |
24 | dfs.block.access.token.enable | false | 数据节点访问令牌标识 |
25 | dfs.block.access.key.update.interval | 600 | 升级访问钥时的间隔时间 |
26 | dfs.block.access.token.lifetime | 600 | 访问令牌的有效时间 |
27 | dfs.data.dir | ${hadoop.tmp.dir}/dfs/data | 数据节点的块本地存放目录 |
28 | dfs.datanode.data.dir.perm | 755 | 数据节点的存贮块的目录访问权限设置 |
29 | dfs.replication | 3 | 缺省的块复制数量 |
30 | dfs.replication.max | 512 | 块复制的最大数量 |
31 | dfs.replication.min | 1 | 块复制的最小数量 |
32 | dfs.block.size | 67108864 | 缺省的文件块大小为64M |
33 | dfs.df.interval | 60000 | 磁盘空间统计间隔为6秒 |
34 | dfs.client.block.write.retries | 3 | 块写入出错时的重试次数 |
35 | dfs.blockreport.intervalMsec | 3600000 | 块的报告间隔时为1小时 |
36 | dfs.blockreport.initialDelay | 0 | 块顺序报告的间隔时间 |
37 | dfs.heartbeat.interval | 3 | 数据节点的心跳检测间隔时间 |
38 | dfs.namenode.handler.count | 10 | 名称节点的连接处理的线程数量 |
39 | dfs.safemode.threshold.pct | 0.999f | 启动安全模式的阀值设定 |
40 | dfs.safemode.extension | 30000 | 当阀值达到量值后扩展的时限 |
41 | dfs.balance.bandwidthPerSec | 1048576 | 启动负载均衡的数据节点可利用带宽最大值为1M |
42 | dfs.hosts | 可与名称节点连接的主机地址文件指定。 | |
43 | dfs.hosts.exclude | 不充计与名称节点连接的主机地址文件设定 | |
44 | dfs.max.objects | 0 | 文件数、目录数、块数的最大数量 |
45 | dfs.namenode.decommission.interval | 30 | 名称节点解除命令执行时的监测时间周期 |
46 | dfs.namenode.decommission.nodes.per.interval | 5 | 名称节点解除命令执行是否完检测次数 |
47 | dfs.replication.interval | 3 | 名称节点计算数据节点的复制工作的周期数. |
48 | dfs.access.time.precision | 3600000 | 充许访问文件的时间精确到1小时 |
49 | dfs.support.append | false | 是否充许链接文件指定 |
50 | dfs.namenode.delegation.key.update-interval | 86400000 | 名称节点上的代理令牌的主key的更新间隔时间为24小时 |
51 | dfs.namenode.delegation.token.max-lifetime | 604800000 | 代理令牌的有效时间最大值为7天 |
52 | dfs.namenode.delegation.token.renew-interval | 86400000 | 代理令牌的更新时间为24小时 |
53 | dfs.datanode.failed.volumes.tolerated | 0 | 决定停止数据节点提供服务充许卷的出错次数。0次则任何卷出错都要停止数据节 |
3.3 mapred-default.html
序号 | 参数名 | 参数值 | 参数说明 |
1 | hadoop.job.history.location | 作业跟踪管理器的静态历史文件的存放目录。 | |
2 | hadoop.job.history.user.location | 可以指定具体某个作业的跟踪管理器的历史文件存放目录 | |
3 | mapred.job.tracker.history.completed.location | 已完成作业的历史文件的存放目录 | |
4 | io.sort.factor | 10 | 排完序的文件的合并时的打开文件句柄数 |
5 | io.sort.mb | 100 | 排序文件的内存缓存大小为100M |
6 | io.sort.record.percent | 0.05 | 排序线程阻塞的内存缓存剩余比率 |
7 | io.sort.spill.percent | 0.80 | 当缓冲占用量为该值时,线程需要将内容先备份到磁盘中。 |
8 | io.map.index.skip | 0 | 索引条目的间隔设定 |
9 | mapred.job.tracker | local | 作业跟踪管理器是否和MR任务在一个进程中 |
10 | mapred.job.tracker.http.address | 0.0.0.0:50030 | 作业跟踪管理器的HTTP服务器访问端口和地址 |
11 | mapred.job.tracker.handler.count | 10 | 作业跟踪管理器的管理线程数,线程数比例是任务管理跟踪器数量的0.04 |
12 | mapred.task.tracker.report.address | 127.0.0.1:0 | 任务管理跟踪器的主机地址和端口地址 |
13 | mapred.local.dir | ${hadoop.tmp.dir}/mapred/local | MR的中介数据文件存放目录 |
14 | mapred.system.dir | ${hadoop.tmp.dir}/mapred/system | MR的控制文件存放目录 |
15 | mapreduce.jobtracker.staging.root.dir | ${hadoop.tmp.dir}/mapred/staging | 每个正在运行作业文件的存放区 |
16 | mapred.temp.dir | ${hadoop.tmp.dir}/mapred/temp | MR临时共享文件存放区 |
17 | mapred.local.dir.minspacestart | 0 | MR本地中介文件删除时,不充许有任务执行的数量值。 |
18 | mapred.local.dir.minspacekill | 0 | MR本地中介文件删除时,除非所有任务都已完成的数量值。 |
19 | mapred.tasktracker.expiry.interval | 600000 | 任务管理跟踪器不发送心跳的累计时间间隔超过600秒,则任务管理跟踪器失效 |
20 | mapred.tasktracker.resourcecalculatorplugin | 指定的一个用户访问资源信息的类实例 | |
21 | mapred.tasktracker.taskmemorymanager.monitoring-interval | 5000 | 监控任务管理跟踪器任务内存使用率的时间间隔 |
22 | mapred.tasktracker.tasks.sleeptime-before-sigkill | 5000 | 发出进程终止后,间隔5秒后发出进程消亡信号 |
23 | mapred.map.tasks | 2 | 每个作业缺省的map任务数为2 |
24 | mapred.reduce.tasks | 1 | 每个作业缺省的reduce任务数为1 |
25 | mapreduce.tasktracker.outofband.heartbeat | false | 让在任务结束后发出一个额外的心跳信号 |
26 | mapreduce.tasktracker.outofband.heartbeat.damper | 1000000 | 当额外心跳信号发出量太多时,则适当阻止 |
27 | mapred.jobtracker.restart.recover | false | 充许任务管理器恢复时采用的方式 |
28 | mapred.jobtracker.job.history.block.size | 3145728 | 作业历史文件块的大小为3M |
29 | mapreduce.job.split.metainfo.maxsize | 10000000 | 分隔元信息文件的最大值是10M以下 |
30 | mapred.jobtracker.taskScheduler | org.apache.hadoop.mapred.JobQueueTaskScheduler | 设定任务的执行计划实现类 |
31 | mapred.jobtracker.taskScheduler.maxRunningTasksPerJob | 作业同时运行的任务数的最大值 | |
32 | mapred.map.max.attempts | 4 | Map任务的重试次数 |
33 | mapred.reduce.max.attempts | 4 | Reduce任务的重试次数 |
34 | mapred.reduce.parallel.copies | 5 | 在复制阶段时reduce并行传送的值。 |
35 | mapreduce.reduce.shuffle.maxfetchfailures | 10 | 取map输出的最大重试次数 |
36 | mapreduce.reduce.shuffle.connect.timeout | 180000 | REDUCE任务连接任务管理器获得map输出时的总耗时是3分钟 |
37 | mapreduce.reduce.shuffle.read.timeout | 180000 | REDUCE任务等待map输出数据的总耗时是3分钟 |
38 | mapred.task.timeout | 600000 | 如果任务无读无写时的时间耗时为10分钟,将被终止 |
39 | mapred.tasktracker.map.tasks.maximum | 2 | 任管管理器可同时运行map任务数为2 |
40 | mapred.tasktracker.reduce.tasks.maximum | 2 | 任管管理器可同时运行reduce任务数为2 |
41 | mapred.jobtracker.completeuserjobs.maximum | 100 | 当用户的完成作业数达100个后,将其放入作业历史文件中 |
42 | mapreduce.reduce.input.limit | -1 | Reduce输入量的限制。 |
43 | mapred.job.tracker.retiredjobs.cache.size | 1000 | 作业状态为已不在执行的保留在内存中的量为1000 |
44 | mapred.job.tracker.jobhistory.lru.cache.size | 5 | 作业历史文件装载到内存的数量 |
45 | mapred.child.java.opts | -Xmx200m | 启动task管理的子进程时的内存设置 |
46 | mapred.child.env | 子进程的参数设置 | |
47 | mapred.child.ulimit | 虚拟机所需内存的设定。 | |
48 | mapred.cluster.map.memory.mb | -1 | |
49 | mapred.cluster.reduce.memory.mb | -1 | |
50 | mapred.cluster.max.map.memory.mb | -1 | |
51 | mapred.cluster.max.reduce.memory.mb | -1 | |
52 | mapred.job.map.memory.mb | -1 | |
53 | mapred.job.reduce.memory.mb | -1 | |
54 | mapred.child.tmp | /tmp | Mr任务信息的存放目录 |
55 | mapred.inmem.merge.threshold | 1000 | 内存中的合并文件数设置 |
56 | mapred.job.shuffle.merge.percent | 0.66 | |
57 | mapred.job.shuffle.input.buffer.percent | 0.70 | |
58 | mapred.job.reduce.input.buffer.percent | 0.0 | |
59 | mapred.map.tasks.speculative.execution | true | Map任务的多实例并行运行标识 |
60 | mapred.reduce.tasks.speculative.execution | true | Reduce任务的多实例并行运行标识 |
61 | mapred.job.reuse.jvm.num.tasks | 1 | 每虚拟机运行的任务数 |
62 | mapred.min.split.size | 0 | Map的输入数据被分解的块数设置 |
63 | mapred.jobtracker.maxtasks.per.job | -1 | 一个单独作业的任务数设置 |
64 | mapred.submit.replication | 10 | 提交作业文件的复制级别 |
65 | mapred.tasktracker.dns.interface | default | 任务管理跟踪器是否报告IP地址名的开关 |
66 | mapred.tasktracker.dns.nameserver | default | 作业和任务管理跟踪器之间通讯方式采用的DNS服务的主机名或IP地址 |
67 | tasktracker.http.threads | 40 | http服务器的工作线程数量 |
68 | mapred.task.tracker.http.address | 0.0.0.0:50060 | 任务管理跟踪器的http服务器的地址和端口 |
69 | keep.failed.task.files | false | 失败任务是否保存到文件中 |
70 | mapred.output.compress | false | 作业的输出是否压缩 |
71 | mapred.output.compression.type | RECORD | 作业输出采用NONE, RECORD or BLOCK三种方式中一种压缩的写入到流式文件 |
72 | mapred.output.compression.codec | org.apache.hadoop.io.compress.DefaultCodec | 压缩类的设置 |
73 | mapred.compress.map.output | false | Map的输出是否压缩 |
74 | mapred.map.output.compression.codec | org.apache.hadoop.io.compress.DefaultCodec | Map的输出压缩的实现类指定 |
75 | map.sort.class | org.apache.hadoop.util.QuickSort | 排序键的排序类指定 |
76 | mapred.userlog.limit.kb | 0 | 每个任务的用户日志文件大小 |
77 | mapred.userlog.retain.hours | 24 | 作业完成后的用户日志留存时间为24小时 |
78 | mapred.user.jobconf.limit | 5242880 | Jobconf的大小为5M |
79 | mapred.hosts | 可与作业管理跟踪器连接的主机名 | |
80 | mapred.hosts.exclude | 不可与作业管理跟踪器连接的主机名 | |
81 | mapred.heartbeats.in.second | 100 | 作业管理跟踪器的每秒中到达的心跳数量为100 |
82 | mapred.max.tracker.blacklists | 4 | 任务管理跟踪器的黑名单列表的数量 |
83 | mapred.jobtracker.blacklist.fault-timeout-window | 180 | 任务管理跟踪器超时180分钟则訪任务将被重启 |
84 | mapred.jobtracker.blacklist.fault-bucket-width | 15 | |
85 | mapred.max.tracker.failures | 4 | 任务管理跟踪器的失败任务数设定 |
86 | jobclient.output.filter | FAILED | 控制任务的用户日志输出到作业端时的过滤方式 |
87 | mapred.job.tracker.persist.jobstatus.active | false | 是否持久化作业管理跟踪器的信息 |
88 | mapred.job.tracker.persist.jobstatus.hours | 0 | 持久化作业管理跟踪器的信息的保存时间 |
89 | mapred.job.tracker.persist.jobstatus.dir | /jobtracker/jobsInfo | 作业管理跟踪器的信息存放目录 |
90 | mapreduce.job.complete.cancel.delegation.tokens | true | 恢复时是否变更领牌 |
91 | mapred.task.profile | false | 任务分析信息是否建设标志 |
92 | mapred.task.profile.maps | 0-2 | 设置map任务的分析范围 |
93 | mapred.task.profile.reduces | 0-2 | 设置reduce任务的分析范围 |
94 | mapred.line.input.format.linespermap | 1 | 每次切分的行数设置 |
95 | mapred.skip.attempts.to.start.skipping | 2 | 在跳转模式未被设定的情况下任务的重试次数 |
96 | mapred.skip.map.auto.incr.proc.count | true | MapRunner在调用map功能后的增量处理方式设置 |
97 | mapred.skip.reduce.auto.incr.proc.count | true | 在调用reduce功能后的增量处理方式设置 |
98 | mapred.skip.out.dir | 跳过记录的输出目录 | |
99 | mapred.skip.map.max.skip.records | 0 | |
100 | mapred.skip.reduce.max.skip.groups | 0 | |
101 | job.end.retry.attempts | 0 | Hadoop偿试连接通知器的次数 |
102 | job.end.retry.interval | 30000 | 通知偿试回应的间隔操作为30秒 |
103 | hadoop.rpc.socket.factory.class.JobSubmissionProtocol | 指定与作业跟踪管理器的通讯方式,缺省是采用rpc方式 | |
104 | mapred.task.cache.levels | 2 | 任务缓存级别设置 |
105 | mapred.queue.names | default | 分隔作业队例的分隔符设定 |
106 | mapred.acls.enabled | false | 指定ACL访问控制列表 |
107 | mapred.queue.default.state | RUNNING | 定义队列的状态 |
108 | mapred.job.queue.name | default | 已提交作业的队列设定 |
109 | mapreduce.job.acl-modify-job | 指定可修改作业的ACL列表 | |
110 | mapreduce.job.acl-view-job | 指定可浏临作业的ACL列表 | |
111 | mapred.tasktracker.indexcache.mb | 10 | 任务管理跟踪器的索引内存的最大容器 |
112 | mapred.combine.recordsBeforeProgress | 10000 | 在聚合处理时的记录块数 |
113 | mapred.merge.recordsBeforeProgress | 10000 | 在汇总处理时的记录块数 |
114 | mapred.reduce.slowstart.completed.maps | 0.05 | |
115 | mapred.task.tracker.task-controller | org.apache.hadoop.mapred.DefaultTaskController | 任务管理器的设定 |
116 | mapreduce.tasktracker.group | 任务管理器的组成员设定 | |
117 | mapred.healthChecker.script.path | 脚本的绝对路径指定,这些脚本是心跳服务的 | |
118 | mapred.healthChecker.interval | 60000 | 节点心跳信息的间隔 |
119 | mapred.healthChecker.script.timeout | 600000 | |
120 | mapred.healthChecker.script.args | 参数列表 | |
121 | mapreduce.job.counters.limit | 120 | 作业计数器的最小值 |
yarn.resourcemanager.address
:该配置项用于提示 ResourceManager 暴露给 Client 的地址。Client 可以利用这个地址向 ResourceManager 提交应用程序,也可以用来杀死某个应用程序等。其默认端口是 8032 ,而 URL 是 ResourceManager 的 hostname ,在本课程中是 localhost (对于后面的相关设置项也是一样)。yarn.resourcemanager.scheduler.address
:该配置项用于提示 ResourceManager 暴露给 ApplicationMaster 的访问地址。后者可以通过该地址从 ResourceManager 处申请和释放资源,默认端口是 8030 。yarn.resourcemanager.resource-tracker.address
:该配置项用于提示 ResourceManager 暴露给 NodeManager 的地址。后者可以通过该地址向 ResourceManager 发送心跳,也可以拉取到待执行的任务,默认端口是8031。yarn.resourcemanager.admin.address
: ResourceManager 暴露给管理员的访问地址,后者可以通过该地址向 ResourceManager 发送用于管理目的的各项命令,其默认端口是 8033 。yarn.resourcemanager.webapp.address
:ResourceManager 对外暴露的 WebUI 地址,我们稍后就会在浏览器中通过访问该地址来查看集群的各类信息,其默认端口是 8088 。yarn.resourcemanager.scheduler.class
:待启用的 ResourceManager 调度器的主类名称。该选项用于配置调度器的类型,可以在 FIFO、CapacityScheduler 以及 FairScheduler 等调度器名称中进行选择。yarn.resourcemanager.resource-tracker.client.thread-count
:该选项用于配置 Handler 的线程数量。Handler 可以处理来自 NodeManager 的 RPC 请求,默认情况下有 50 个 Handler 线程。yarn.resourcemanager.scheduler.client.thread-count
:与上一选项类似,但这个 Handler 用于处理来自 ApplicationMaster 的 RPC 请求。yarn.scheduler.minimum-allocation-mb
:用于配置单个调度器可申请的最小的内存资源数量,即运行 MapReduce 作业的时候,每个 Task 最少可以申请到的内存容量,默认是 1024MB 。同样的参数还有 yarn.scheduler.maximum-allocation-mb
,指的是最大的内存资源数量,默认情况下最多可申请 3072MB 。yarn.scheduler.minimum-allocation-vcores
:单个调度器可以申请到的最小虚拟 CPU 核数(vCPU)。例如默认值 1 表示 MapRedce 作业中的每个 Task 最少可以申请到 1 个虚拟 CPU 。同样的参数还有 yarn.scheduler.maximum-allocation-vcores
,默认情况下最多可以申请 32 个虚拟 CPU 。yarn.resourcemanager.nodes.exclude-path
:该选项用于指示 NodeManager 的黑名单。具体而言,若发现某些 NodeManager 存在故障率或者任务执行失败率非常高的问题,就可以通过该参数将其之加到黑名单中。类似的参数还有 yarn.resourcemanager.nodes.include-path
,作用是相反的,即白名单。yarn.resourcemanager.nodemanagers.heartbeat-interval-ms
:该参数用于配置 NodeManager 的心跳间隔时间,默认值是 1000 毫秒。另一类是对 NodeManager 的配置,除了刚刚提到的 aux-services
,其他的主要配置项有:
yarn.nodemanager.resource.memory-mb
:NodeManager 的可用物理内存总量,需要注意这个参数一旦被设置,在 YARN 的整个运行过程中不允许被动态修改。其默认值是 8192MB ,即便实际可用物理内存不足这个数量,YARN 也会使用该值进行工作。yarn.nodemanager.vmem-pmem-ratio
:该配置项用于设置一个比例,即每使用 1MB 的物理内存最多可以用多大的虚拟内存,默认情况下该比例为 2.1 。yarn.nodemanager.resource.cpu-vcores
:NodeManager 的可用虚拟 CPU 总数,默认值是 8 个。yarn.nodemanager.local-dirs
:NodeManager 的中间结果存放目录路径,允许配置多个目录。 默认值:${hadoop.tmp.dir}/nm-local-diryarn.nodemanager.log-dirs
:NodeManager 的日志存放目录路径,该配置项允许配置多个目录。yarn.nodemanager.log.retain-seconds
:NodeManager 的日志的最长存放时间,默认情况下是 10800 秒,即 3 个小时。参考: