《hadoop学习》关于hdfs中的core-site.xml,hdfs-site.xml,mapred-site.xml文件配置详解

  配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生效,上网找的配置可能因为各个hadoop版本不同,导致无法生效。浏览更多的配置,有两个方法: 1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,这些就是默认配置,可以参考这些配置的说明和key,配置hadoop集群。 2.浏览apache官网,三个配置文件链接如下:     http://hadoop.apache.org/common/docs/current/core-default.html     http://hadoop.apache.org/common/docs/current/hdfs-default.html     http://hadoop.apache.org/common/docs/current/mapred-default.html    这里是浏览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                                           作业计数器的最小值
    原文作者:MapReduce
    原文地址: https://www.cnblogs.com/forget-me-not/p/5710122.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞