hdfs-site.xml配置项清单:
清单中涉及的专业词语使用如下简称
NN:NameNode
DN:DataNode
SNN:SecondaryNameNode
属性 | 值 | 说明 |
dfs.namenode.handler.count | 10 | NN启动后开启的线程数。 |
dfs.name.dir | ${hadoop.tmp.dir}/dfs/name | 存贮在本地的NN数据镜象的目录,作为NN的冗余备份。 |
dfs.data.dir | /var/data/hadoop/hdfs/data1, /var/data/hadoop/hdfs/data2, /var/data/hadoop/hdfs/data3 | 真正的DN数据保存路径,可以多分区,逗号分隔 |
dfs.heartbeat.interval | 3 | DN心跳检测时间间隔,单位秒。 |
dfs.client.block.write.retries | 3 | 数据块写入最多重试次数,在此次数之前不会捕获失败。 |
dfs.max.objects | 0 | dfs最大并发对象数,HDFS中的目录块都会被认为是一个对象,0表示不限制。 |
dfs.secondary.http.address | 0.0.0.0:50090 | SNN的tracker页面地址和端口。 |
dfs.safemode.extension | 30 | 指定系统退出安全模式时需要的延迟时间,默认为30(秒)。 |
dfs.http.address | 0.0.0.0:50070 | NN的web管理端口 |
dfs.https.enable | true | false(默认) | NN的tracker是否支持HTTPS协议。 |
dfs.https.address | 0.0.0.0:50470 | NN的tracker页面https访问地址。 |
dfs.datanode.http.address | 0.0.0.0:50075 | DN的tracker页面地址和端口 |
dfs.datanode.ipc.address | 0.0.0.0:50020 | DNipc端口,为0的话会随机监听 |
dfs.datanode.address | 0.0.0.0:50010 | DN服务端口,为0的话会随机监听 |
dfs.datanode.max.xcievers | 256 | linux下的打开文件最大数量,当出现DataXceiver报错的时候,需要调大。 |
dfs.datanode.data.dir.perm | 755 | DN所使用的本地文件夹的路径权限,默认755 |
dfs.datanode.failed.volumes.tolerated | 0 | DN磁盘卷出错次数。0次则任何卷出错都要停止datanode。 |
dfs.permissions | true | false | dfs权限是否打开,一般设置false |
dfs.permissions.supergroup | supergroup(默认) | 设置hdfs超级权限组 |
dfs.replication | 3 | hdfs数据块的复制份数,默认3,理论上份数越多跑数速度越快,但是需要的存储空间也更多。 |
dfs.replication.max | 512 | DN数据最大副本数量。DN故障临时恢复时会导致数据超过默认副本数,此属性通常不用配置。 |
dfs.replication.min | 1 | DN数据最小副本数量。 |
dfs.replication.interval | 3 | NN计算复制DN节点的工作周期数,单位秒。一般情况不用指定。 |
dfs.hosts | /usr/local/hadoop/conf/dfs.hosts.allow vi dfs.hosts hdp-2 #允许连接的主机名 | DN的白名单,仅仅在dfs.hosts文件中指定的DN有权限连接到NN上。如果该参数不指定,那么默认所有的DN都可以连接到NN上。 |
dfs.hosts.exclude | /usr/local/hadoop/conf/dfs.hosts.deny vi dfs.deny hdp-2 #禁止连接的主机名 | DN的黑名单。 |
mapred-site.xml 配置项清单:
序号 | 参数名 | 参数值 | 参数说明 |
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 |
core-site.xml 配置项清单:
清单中涉及的专业词语使用如下简称
NN:NameNode
DN:DataNode
SNN:SecondaryNameNode
属性 | 值 | 说明 |
fs.default.name | hdfs://master:9000 |
定义master的URI和端口 |
fs.checkpoint. dir | ${hadoop.tmp.dir}(默认) | SNN的元数据以,号隔开,hdfs 会把元数据冗余复制到这些 目录,一般这些目录是不同的 块设备,不存在的目录会被忽 略掉 |
/dfs/namesecondary | ||
fs.checkpoint. period | 1800 | 定义ND的备份间隔时间,秒 为单位,只对SNN效,默认 一小时 |
fs.checkpoint. size | 33554432 | 以日志大小间隔做备份间隔, 只对SNN生效,默认64M |
fs.checkpoint. edits. dir | ${fs.checkpoint.dir}(默认) | SNN的事务文件存储的目录, 以,号隔开,hdfs会把事务文件 冗余复制到这些目录 |
fs.trash.interval | 10800 | HDFS垃圾箱设置,可以恢 复误删除,分钟数,0为禁 用,添加该项无需重启 hadoop |
hadoop.tmp. dir | /tmp/hadoop | 临时文件夹,指定后需将使 用到的所有子级文件夹都要 手动创建出来,否则无法正 常启动服务。 |
hadoop.http. filter. initializers | org.apache.hadoop.security. | 需要jobtracker,tasktracker |
AuthenticationFilterInitializer | NN,DN等http访问端口用户 验证使用,需配置所有节点 | |
(排版调整,实际配置不要回车) |
| |
hadoop.http. authentication.type | simple | kerberos | #AUTHENTICATION _HANDLER_CLASSNAME# | 验证方式,默认为简单,也 可自己定义class,需配置所 有节点 |
hadoop.http. authentication. token. validity | 36000 | 验证令牌的有效时间,需配 置所有节点 |
hadoop.http. authentication. signature. secret | 默认可不写参数 | 默认不写在hadoop启动时 自动生成私密签名,需配置 所有节点 |
hadoop.http. authentication.cookie. domain | domian.tld | http验证所使用的cookie的 域名,IP地址访问则该项无 效,必须给所有节点都配置 域名才可以。 |
hadoop.http. authentication. simple.anonymous. allowed | true | false | 简单验证专用,默认允许 匿名访问,true |
hadoop.http. authentication. kerberos.principal | HTTP/localhost@$LOCALHOST | Kerberos验证专用,参加 认证的实体机必须使用HTTP 作为K的Name |
hadoop.http. authentication. kerberos.keytab | /home/xianglei/hadoop.keytab | Kerberos验证专用,密钥 文件存放位置 |
hadoop.security. authorization | true|false | Hadoop服务层级验证安全 验证,需配合hadoop-policy.xml 使用,配置好以后用dfsadmin, mradmin -refreshServiceAcl 刷新生效 |
hadoop.security. authentication | simple | kerberos | hadoop本身的权限验证, 非http访问,simple或者 kerberos |
hadoop.logfile. size | 1000000000 | 设置日志文件大小,超过 则滚动新日志 |
hadoop.logfile. count | 20 | 最大日志数 |
io.bytes.per. checksum | 1024 | 每校验码所校验的字节数, 不要大于io.file.buffer.size |
io.skip.checksum. errors | true | false | 处理序列化文件时跳过校 验码错误,不抛异常。默认 false |
io.serializations | org.apache.hadoop.io. serializer.WritableSerialization | 序列化的编解码器 |
io.seqfile. compress. blocksize | 1024000 | 块压缩的序列化文件的最小 块大小,字节 |
io.compression. codecs | org.apache.hadoop. io.compress.DefaultCodec, | Hadoop所使用的编解码器, gzip、bzip2为自带,lzo需安 装hadoopgpl或者kevinweil, 逗号分隔。 |
com.hadoop.compression. lzo.LzoCodec, | snappy需要单独安装并修改 hadoop-env.sh配置LD_LIBRARY _PATH=snappy类库位置 | |
com.hadoop.compression. lzo.LzopCodec, |
| |
org.apache.hadoop.io. compress.GzipCodec, |
| |
org.apache.hadoop.io. compress.BZip2Codec, |
| |
org.apache.hadoop.io. compress.SnappyCodec |
| |
(排版调整,实际配置不要回车) |
| |
io.compression. codec.lzo.class | com.hadoop.compression. lzo.LzoCodec | LZO所使用的压缩编码器 |
io.file.buffer. size | 131072 | 用作序列化文件处理时读写 buffer的大小 |
webinterface. private.actions | true | false | 设为true,则JT和NN的tracker 网页会出现杀任务删文件等 操作连接,默认是false |
topology.script. file.name | /hadoop/bin/RackAware.py | 机架感知脚本位置 |
topology.script. number.args | 1000 | 机架感知脚本管理的主机数, IP地址 |
转自:
http://he.iori.blog.163.com/blog/static/6955953520138107638208/
http://he.iori.blog.163.com/blog/static/6955953520138113104062/
http://he.iori.blog.163.com/blog/static/69559535201381065123850/
原文来自:
http://slaytanic.blog.51cto.com/2057708/1100974
http://slaytanic.blog.51cto.com/2057708/1101111/
http://slaytanic.blog.51cto.com/2057708/1101360