|
配置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 namenodenamenode RPC交互端口8020core-site.xmlhdfs://master:8020/dfs.http.address NameNode web管理端口50070hdfs- site.xml0.0.0.0:50070dfs.datanode.addressdatanode 控制端口50010 hdfs -site.xml 0.0.0.0:50010dfs.datanode.ipc.addressdatanode的RPC服务器地址和端口50020hdfs-site.xml0.0.0.0:50020dfs.datanode.http.addressdatanode的HTTP服务器和端口50075hdfs-site.xml 0.0.0.0:50075 2.2 MR端口
参数描述默认配置文件例子值mapred.job.trackerjob-tracker交互端口 8021mapred-site.xmlhdfs://master:8021/jobtracker的web管理端口50030mapred-site.xml0.0.0.0:50030mapred.task.tracker.http.addresstask-tracker的HTTP端口50060mapred-site.xml0.0.0.0:50060 2.3 其它端口
参数描述默认配置文件例子值dfs.secondary.http.addresssecondary NameNode web管理端口50090hdfs-site.xml0.0.0.0:50090 3 三个缺省配置参考文件说明3.1 core-default.html
序号参数名参数值参数说明1hadoop.tmp.dir /tmp/hadoop-${user.name} 临时目录设定2hadoop.native.lib true 使用本地hadoop库标识。3hadoop.http.filter.initializers http服务器过滤链设置 4hadoop.security.group.mapping org.apache.hadoop.security.ShellBasedUnixGroupsMapping组内用户的列表的类设定5hadoop.security.authorization false 服务端认证开启6hadoop.security.authentication simple 无认证或认证设置7hadoop.security.token.service.use_iptrue 是否开启使用IP地址作为连接的开关8hadoop.logfile.size 10000000 日志文件最大为10M9hadoop.logfile.count10 日志文件数量为10个10io.file.buffer.size4096流文件的缓冲区为4K11io.bytes.per.checksum512 校验位数为512字节12io.skip.checksum.errorsfalse校验出错后是抛出异常还是略过标识。True则略过。13io.compression.codecsorg.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec压缩和解压的方式设置14io.serializationsorg.apache.hadoop.io.serializer.WritableSerialization序例化和反序列化的类设定15fs.default.namefile:/// 缺省的文件URI标识设定。16fs.trash.interval0 文件废弃标识设定,0为禁止此功能17fs.file.implorg.apache.hadoop.fs.LocalFileSystem 本地文件操作类设置18fs.hdfs.implorg.apache.hadoop.hdfs.DistributedFileSystem HDFS文件操作类设置19fs.s3.implorg.apache.hadoop.fs.s3.S3FileSystem S3文件操作类设置20fs.s3n.impl org.apache.hadoop.fs.s3native.NativeS3FileSystemS3文件本地操作类设置21fs.kfs.impl org.apache.hadoop.fs.kfs.KosmosFileSystemKFS文件操作类设置. 22fs.hftp.impl org.apache.hadoop.hdfs.HftpFileSystemHTTP方式操作文件设置23fs.hsftp.impl org.apache.hadoop.hdfs.HsftpFileSystemHTTPS方式操作文件设置24fs.webhdfs.impl org.apache.hadoop.hdfs.web.WebHdfsFileSystemWEB方式操作文件类设置25fs.ftp.impl org.apache.hadoop.fs.ftp.FTPFileSystemFTP文件操作类设置26fs.ramfs.impl org.apache.hadoop.fs.InMemoryFileSystem内存文件操作类设置27fs.har.impl org.apache.hadoop.fs.HarFileSystem压缩文件操作类设置.28fs.har.impl.disable.cachetrue是否缓存har文件的标识设定29fs.checkpoint.dir ${hadoop.tmp.dir}/dfs/namesecondary备份名称节点的存放目前录设置30fs.checkpoint.edits.dir ${fs.checkpoint.dir}备份名称节点日志文件的存放目前录设置31fs.checkpoint.period 3600动态检查的间隔时间设置32fs.checkpoint.size 67108864日志文件大小为64M33fs.s3.block.size 67108864写S3文件系统的块的大小为64M34fs.s3.buffer.dir ${hadoop.tmp.dir}/s3S3文件数据的本地存放目录35fs.s3.maxRetries 4S3文件数据的偿试读写次数36fs.s3.sleepTimeSeconds 10S3文件偿试的间隔37local.cache.size 10737418240缓存大小设置为10GB38io.seqfile.compress.blocksize1000000压缩流式文件中的最小块数为100万39io.seqfile.lazydecompress true块是否需要压缩标识设定40io.seqfile.sorter.recordlimit1000000内存中排序记录块类最小为100万41io.mapfile.bloom.size1048576BloomMapFiler过滤量为1M42io.mapfile.bloom.error.rate0.00543hadoop.util.hash.typemurmur缺少hash方法为murmur44ipc.client.idlethreshold4000连接数据最小阀值为4000 45ipc.client.kill.max10一个客户端连接数最大值为1046ipc.client.connection.maxidletime10000断开与服务器连接的时间最大为10秒47ipc.client.connect.max.retries10建立与服务器连接的重试次数为10次48ipc.server.listen.queue.size128接收客户连接的监听队例的长度为12849ipc.server.tcpnodelayfalse开启或关闭服务器端TCP连接算法50ipc.client.tcpnodelayfalse开启或关闭客户端TCP连接算法51webinterface.private.actionsfalseWeb交互的行为设定52hadoop.rpc.socket.factory.class.default org.apache.hadoop.net.StandardSocketFactory缺省的socket工厂类设置53hadoop.rpc.socket.factory.class.ClientProtocol与dfs连接时的缺省socket工厂类54hadoop.socks.server 服务端的工厂类缺省设置为SocksSocketFactory.55topology.node.switch.mapping.impl org.apache.hadoop.net.ScriptBasedMapping56topology.script.file.name 57topology.script.number.args 100 参数数量最多为10058hadoop.security.uid.cache.secs 14400 3.2 hdfs-default.html
序号参数名参数值参数说明1dfs.namenode.logging.level info 输出日志类型2dfs.secondary.http.address 0.0.0.0:50090备份名称节点的http协议访问地址与端口 3dfs.datanode.address 0.0.0.0:50010数据节点的TCP管理服务地址和端口4dfs.datanode.http.address 0.0.0.0:50075数据节点的HTTP协议访问地址和端口5dfs.datanode.ipc.address 0.0.0.0:50020数据节点的IPC服务访问地址和端口6dfs.datanode.handler.count 3 数据节点的服务连接处理线程数7dfs.http.address 0.0.0.0:50070名称节点的http协议访问地址与端口8dfs.https.enable false 支持https访问方式标识9dfs.https.need.client.auth false 客户端指定https访问标识10dfs.https.server.keystore.resourcessl-server.xmlSsl密钥服务端的配置文件11dfs.https.client.keystore.resourcessl-client.xmlSsl密钥客户端的配置文件12dfs.datanode.https.address 0.0.0.0:50475数据节点的HTTPS协议访问地址和端口13dfs.https.address 0.0.0.0:50470名称节点的HTTPS协议访问地址和端口14dfs.datanode.dns.interface default 数据节点采用IP地址标识15dfs.datanode.dns.nameserver default 指定DNS的IP地址16dfs.replication.considerLoad true 加载目标或不加载的标识17dfs.default.chunk.view.size 32768 浏览时的文件块大小设置为32K18dfs.datanode.du.reserved 0 每个卷预留的空闲空间数量19dfs.name.dir ${hadoop.tmp.dir}/dfs/name存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份20dfs.name.edits.dir ${dfs.name.dir} 存贮文件操作过程信息的存贮目录21dfs.web.ugi webuser,webgroup Web接口访问的用户名和组的帐户设定22dfs.permissions true 文件操作时的权限检查标识。23dfs.permissions.supergroup supergroup 超级用户的组名定义24dfs.block.access.token.enable false 数据节点访问令牌标识25dfs.block.access.key.update.interval600 升级访问钥时的间隔时间26dfs.block.access.token.lifetime 600 访问令牌的有效时间27dfs.data.dir ${hadoop.tmp.dir}/dfs/data数据节点的块本地存放目录28dfs.datanode.data.dir.perm 755 数据节点的存贮块的目录访问权限设置29dfs.replication 3 缺省的块复制数量30dfs.replication.max 512 块复制的最大数量31dfs.replication.min 1 块复制的最小数量 32dfs.block.size 67108864 缺省的文件块大小为64M33dfs.df.interval 60000 磁盘空间统计间隔为6秒34dfs.client.block.write.retries 3 块写入出错时的重试次数35dfs.blockreport.intervalMsec 3600000 块的报告间隔时为1小时36dfs.blockreport.initialDelay 0 块顺序报告的间隔时间37dfs.heartbeat.interval 3 数据节点的心跳检测间隔时间38dfs.namenode.handler.count 10 名称节点的连接处理的线程数量39dfs.safemode.threshold.pct 0.999f 启动安全模式的阀值设定40dfs.safemode.extension 30000 当阀值达到量值后扩展的时限41dfs.balance.bandwidthPerSec 1048576 启动负载均衡的数据节点可利用带宽最大值为1M42dfs.hosts 可与名称节点连接的主机地址文件指定。43dfs.hosts.exclude 不充计与名称节点连接的主机地址文件设定44dfs.max.objects 0文件数、目录数、块数的最大数量45dfs.namenode.decommission.interval 30名称节点解除命令执行时的监测时间周期46dfs.namenode.decommission.nodes.per.interval5 名称节点解除命令执行是否完检测次数47dfs.replication.interval 3 名称节点计算数据节点的复制工作的周期数.48dfs.access.time.precision 3600000 充许访问文件的时间精确到1小时49dfs.support.append false 是否充许链接文件指定50dfs.namenode.delegation.key.update-interval86400000名称节点上的代理令牌的主key的更新间隔时间为24小时51dfs.namenode.delegation.token.max-lifetime 604800000代理令牌的有效时间最大值为7天52dfs.namenode.delegation.token.renew-interval86400000代理令牌的更新时间为24小时53dfs.datanode.failed.volumes.tolerated 0 决定停止数据节点提供服务充许卷的出错次数。0次则任何卷出错都要停止数据节点 3.3 mapred-default.html
序号参数名参数值参数说明1hadoop.job.history.location作业跟踪管理器的静态历史文件的存放目录。2hadoop.job.history.user.location可以指定具体某个作业的跟踪管理器的历史文件存放目录3mapred.job.tracker.history.completed.location已完成作业的历史文件的存放目录4io.sort.factor 10 排完序的文件的合并时的打开文件句柄数5io.sort.mb 100 排序文件的内存缓存大小为100M6io.sort.record.percent 0.05 排序线程阻塞的内存缓存剩余比率7io.sort.spill.percent 0.80 当缓冲占用量为该值时,线程需要将内容先备份到磁盘中。8io.map.index.skip 0 索引条目的间隔设定9mapred.job.tracker local 作业跟踪管理器是否和MR任务在一个进程中10mapred.job.tracker.http.address0.0.0.0:50030作业跟踪管理器的HTTP服务器访问端口和地址11mapred.job.tracker.handler.count 10 作业跟踪管理器的管理线程数,线程数比例是任务管理跟踪器数量的0.0412mapred.task.tracker.report.address 127.0.0.1:0任务管理跟踪器的主机地址和端口地址13mapred.local.dir ${hadoop.tmp.dir}/mapred/local MR的中介数据文件存放目录14mapred.system.dir ${hadoop.tmp.dir}/mapred/systemMR的控制文件存放目录15mapreduce.jobtracker.staging.root.dir ${hadoop.tmp.dir}/mapred/staging每个正在运行作业文件的存放区16mapred.temp.dir ${hadoop.tmp.dir}/mapred/temp MR临时共享文件存放区 17mapred.local.dir.minspacestart 0 MR本地中介文件删除时,不充许有任务执行的数量值。18mapred.local.dir.minspacekill 0 MR本地中介文件删除时,除非所有任务都已完成的数量值。19mapred.tasktracker.expiry.interval 600000 任务管理跟踪器不发送心跳的累计时间间隔超过600秒,则任务管理跟踪器失效20mapred.tasktracker.resourcecalculatorplugin指定的一个用户访问资源信息的类实例21mapred.tasktracker.taskmemorymanager.monitoring-interval5000 监控任务管理跟踪器任务内存使用率的时间间隔22mapred.tasktracker.tasks.sleeptime-before-sigkill 5000 发出进程终止后,间隔5秒后发出进程消亡信号23mapred.map.tasks 2 每个作业缺省的map任务数为224mapred.reduce.tasks 1 每个作业缺省的reduce任务数为125mapreduce.tasktracker.outofband.heartbeat false 让在任务结束后发出一个额外的心跳信号26mapreduce.tasktracker.outofband.heartbeat.damper 1000000当额外心跳信号发出量太多时,则适当阻止27mapred.jobtracker.restart.recover false 充许任务管理器恢复时采用的方式28mapred.jobtracker.job.history.block.size 3145728作业历史文件块的大小为3M 29mapreduce.job.split.metainfo.maxsize 10000000分隔元信息文件的最大值是10M以下30mapred.jobtracker.taskScheduler org.apache.hadoop.mapred.JobQueueTaskScheduler设定任务的执行计划实现类31mapred.jobtracker.taskScheduler.maxRunningTasksPerJob作业同时运行的任务数的最大值32mapred.map.max.attempts 4 Map任务的重试次数33mapred.reduce.max.attempts 4 Reduce任务的重试次数34mapred.reduce.parallel.copies 5 在复制阶段时reduce并行传送的值。35mapreduce.reduce.shuffle.maxfetchfailures 10 取map输出的最大重试次数36mapreduce.reduce.shuffle.connect.timeout 180000REDUCE任务连接任务管理器获得map输出时的总耗时是3分钟 37mapreduce.reduce.shuffle.read.timeout 180000REDUCE任务等待map输出数据的总耗时是3分钟38mapred.task.timeout 600000如果任务无读无写时的时间耗时为10分钟,将被终止39mapred.tasktracker.map.tasks.maximum 2 任管管理器可同时运行map任务数为240mapred.tasktracker.reduce.tasks.maximum 2 任管管理器可同时运行reduce任务数为241mapred.jobtracker.completeuserjobs.maximum 100 当用户的完成作业数达100个后,将其放入作业历史文件中42mapreduce.reduce.input.limit -1 Reduce输入量的限制。43mapred.job.tracker.retiredjobs.cache.size 1000 作业状态为已不在执行的保留在内存中的量为100044mapred.job.tracker.jobhistory.lru.cache.size5 作业历史文件装载到内存的数量45mapred.child.java.opts -Xmx200m启动task管理的子进程时的内存设置46mapred.child.env 子进程的参数设置47mapred.child.ulimit 虚拟机所需内存的设定。48mapred.cluster.map.memory.mb -1 49mapred.cluster.reduce.memory.mb -1 50mapred.cluster.max.map.memory.mb -1 51mapred.cluster.max.reduce.memory.mb -1 52mapred.job.map.memory.mb -1 53mapred.job.reduce.memory.mb -1 54mapred.child.tmp /tmp Mr任务信息的存放目录55mapred.inmem.merge.threshold 1000 内存中的合并文件数设置56mapred.job.shuffle.merge.percent 0.66 57mapred.job.shuffle.input.buffer.percent 0.70 58mapred.job.reduce.input.buffer.percent 0.0 59mapred.map.tasks.speculative.execution true Map任务的多实例并行运行标识60mapred.reduce.tasks.speculative.execution true Reduce任务的多实例并行运行标识61mapred.job.reuse.jvm.num.tasks1 每虚拟机运行的任务数62mapred.min.split.size0 Map的输入数据被分解的块数设置63mapred.jobtracker.maxtasks.per.job-1 一个单独作业的任务数设置64mapred.submit.replication10 提交作业文件的复制级别65mapred.tasktracker.dns.interfacedefault 任务管理跟踪器是否报告IP地址名的开关 66mapred.tasktracker.dns.nameserverdefault 作业和任务管理跟踪器之间通讯方式采用的DNS服务的主机名或IP地址67tasktracker.http.threads40 http服务器的工作线程数量68mapred.task.tracker.http.address0.0.0.0:50060任务管理跟踪器的http服务器的地址和端口69keep.failed.task.filesfalse 失败任务是否保存到文件中70mapred.output.compressfalse 作业的输出是否压缩71mapred.output.compression.typeRECORD 作业输出采用NONE, RECORD or BLOCK三种方式中一种压缩的写入到流式文件72mapred.output.compression.codecorg.apache.hadoop.io.compress.DefaultCodec压缩类的设置73mapred.compress.map.outputfalse Map的输出是否压缩74mapred.map.output.compression.codecorg.apache.hadoop.io.compress.DefaultCodecMap的输出压缩的实现类指定75map.sort.classorg.apache.hadoop.util.QuickSort 排序键的排序类指定76mapred.userlog.limit.kb0 每个任务的用户日志文件大小77mapred.userlog.retain.hours24 作业完成后的用户日志留存时间为24小时78mapred.user.jobconf.limit5242880 Jobconf的大小为5M79mapred.hosts可与作业管理跟踪器连接的主机名80mapred.hosts.exclude不可与作业管理跟踪器连接的主机名81mapred.heartbeats.in.second 100 作业管理跟踪器的每秒中到达的心跳数量为10082mapred.max.tracker.blacklists 4 任务管理跟踪器的黑名单列表的数量83mapred.jobtracker.blacklist.fault-timeout-window180 任务管理跟踪器超时180分钟则訪任务将被重启84mapred.jobtracker.blacklist.fault-bucket-width 15 85mapred.max.tracker.failures 4 任务管理跟踪器的失败任务数设定86jobclient.output.filter FAILED 控制任务的用户日志输出到作业端时的过滤方式87mapred.job.tracker.persist.jobstatus.active false 是否持久化作业管理跟踪器的信息88mapred.job.tracker.persist.jobstatus.hours 0 持久化作业管理跟踪器的信息的保存时间89mapred.job.tracker.persist.jobstatus.dir /jobtracker/jobsInfo作业管理跟踪器的信息存放目录90mapreduce.job.complete.cancel.delegation.tokenstrue 恢复时是否变更领牌 91mapred.task.profile false 任务分析信息是否建设标志92mapred.task.profile.maps 0-2 设置map任务的分析范围93mapred.task.profile.reduces 0-2 设置reduce任务的分析范围94mapred.line.input.format.linespermap 1 每次切分的行数设置95mapred.skip.attempts.to.start.skipping 2 在跳转模式未被设定的情况下任务的重试次数 96mapred.skip.map.auto.incr.proc.count true MapRunner在调用map功能后的增量处理方式设置97mapred.skip.reduce.auto.incr.proc.count true 在调用reduce功能后的增量处理方式设置98mapred.skip.out.dir 跳过记录的输出目录99mapred.skip.map.max.skip.records 0 100mapred.skip.reduce.max.skip.groups 0 101job.end.retry.attempts 0 Hadoop偿试连接通知器的次数 102job.end.retry.interval 30000 通知偿试回应的间隔操作为30秒103hadoop.rpc.socket.factory.class.JobSubmissionProtocol指定与作业跟踪管理器的通讯方式,缺省是采用rpc方式104mapred.task.cache.levels 2 任务缓存级别设置105mapred.queue.names default分隔作业队例的分隔符设定106mapred.acls.enabled false 指定ACL访问控制列表107mapred.queue.default.state RUNNING定义队列的状态108mapred.job.queue.name default已提交作业的队列设定109mapreduce.job.acl-modify-job 指定可修改作业的ACL列表110mapreduce.job.acl-view-job 指定可浏临作业的ACL列表111mapred.tasktracker.indexcache.mb 10 任务管理跟踪器的索引内存的最大容器112mapred.combine.recordsBeforeProgress 10000 在聚合处理时的记录块数113mapred.merge.recordsBeforeProgress 10000 在汇总处理时的记录块数114mapred.reduce.slowstart.completed.maps 0.05 115mapred.task.tracker.task-controller org.apache.hadoop.mapred.DefaultTaskController任务管理器的设定116mapreduce.tasktracker.group 任务管理器的组成员设定117mapred.healthChecker.script.path 脚本的绝对路径指定,这些脚本是心跳服务的118mapred.healthChecker.interval 60000 节点心跳信息的间隔119mapred.healthChecker.script.timeout 600000 120mapred.healthChecker.script.args 参数列表121mapreduce.job.counters.limit 120 作业计数器的最小值 |
|