共计 3686 个字符,预计需要花费 10 分钟才能阅读完成。
Hadoop 参数配置,主要是配置 core-site.xml,hdfs-site.xml,mapred-site.xml 三个配置文件,core-site.xml 是全局配置,hdfs-site.xml 和 mapred-site.xml 分别是 hdfs 和 mapred 的局部配置,core-default.xml,hdfs-default.xml,mapred-default.xml 是集群的默认配置,HDP2.4 安装包中 hadoop 版本为 2.7,分别可从下面的地址获取到默认的参数说明:
- core-default: http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-common/core-default.xml
- hsdf-default: http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
- mapred-site: http://hadoop.apache.org/docs/r2.7.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
目录:
- core-site 常用参数
- hsdf-site 常用参数
core-site 常用参数:
- ha.zookeeper.quorum:ZooKeeper 集群的地址和端口。注意,数量一定是奇数,且不少于三个节点,如(hdp3:2181,hdp2:2181,r:2181)
- fs.trash.interval:这个是开启 hdfs 文件删除自动转移到垃圾箱的选项,值为垃圾箱文件清除时间,单位是分钟,默认:360
- io.file.buffer.size:SequenceFiles 在读写中可以使用的缓存大小,默认设置:131072
- net.topology.script.file.name:机架感知脚本位置
- ipc.client.connect.max.retrie:建立与服务器连接的重试次数,默认为 50
hsdf-site 常用参数:文档中的默认值是指基于 hdp2.4 安装后的默认值
- dfs.blocksize:每个文件块的大小,我们用 128M
- dfs.replication:hdfs 数据块的复制份数,默认 3
- dfs.heartbeat.interval:DN 的心跳检测时间间隔,默认 3 秒
- dfs.permissions.enabled:dfs 权限是否打开,建议设为 false, 否则可能存在数据因为权限问题访问不了的情况
- dfs.permissions.superusergroup: 设置 hdfs 超级权限的组,默认是 hdfs
- dfs.cluster.administrators:hdfs 超级管理员,默认:hdfs
- dfs.datanode.data.dir:NN 保存元数据和事务日志的本地目录, 可用逗号分隔的目录列表用于指定多份数据的冗余备份.
- dfs.datanode.data.dir.perm: dn 所使用的本地文件夹的路径权限,默认 755
- dfs.datanode.du.reserved: 表示在 datanode 对磁盘写时候,保留多少非 dfs 的磁盘空间,从而避免 dfs 将所在的磁盘写满, 默认为 0
- dfs.datanode.failed.volumes.tolerated:dn 允许磁盘损坏的个数, 默认为 0,(dn 启动时候会使用 dfs.data.dir 下配置的文件夹, 若是有一些不可以用且个数 > 上面配置的那个 值,启动失败)
- dfs.datanode.balance.bandwidthPerSec:balancer 时,hdfs 移动数据的速度,默认值为 1M/ S 的速度。一般情况下设置为 10M
- dfs.datanode.max.transfer.threads: 数据传输最大线程,默认:16384
- dfs.datanode.address:DN 的服务监听端口,端口为 0 的话会随机监听端口,通过心跳通知 NN,默认:50010
- dfs.datanode.http.address:dn WebUI, 默认:50075
- dfs.datanode.https.address:DN 的 HTTPS 服务器和端口, 默认:50475
- dfs.datanode.ipc.address:DN 的 IPC 监听端口,写 0 的话监听在随机端口通过心跳传输给 NN,默认:8010
- dfs.namenode.checkpoint.dir:standy NN 节点存储 checkpoint 文件目录,默认:/hadoop/hdfs/namesecondary
- dfs.namenode.stale.datanode.interval: 标记一个 dn 为“down 机”时间间隔, 即: 如果 nn 没有接到一个 dn 心跳超过这个时间间隔,dn 将标记为“过期”, 过期的间隔不能太小 (默认: 3000)
- dfs.journalnode.http-address: JournalNode web UI 监听。如果端口是 0, 那么服务器将启动将自定义端口, 默认:8480
- dfs.support.append: 是否允许文件追加,(hbase 的 wal 就是追加方式吧)
- dfs.blockreport.intervalMsec:控制 DN 定期将当前该结点上所有的 BLOCK 信息报告给 NN 的时间间隔,默认 21600000ms = 1 小时
- dfs.blockreport.initialDelay:初始值为 0
- 说明:dn 启动后第一次报告自己的 block 信息的时间是在 (0,$(dfs.blockreport.initialDelay)) 之间的一个随机数 initTime,然后从 initTime(不同 datanode 上的这个随即肯定是不一样的)开始每隔 dfs.blockreport.intervalMsec 时间,该 datanode 会向 namenode 报告自己的所有 block 的信息, 如果没有 initTime,多有 datanode 都从启动的那一刻开始发,这样会造成大量数据发往 nn,造成堵塞
- dfs.replication.min 最小复制份数,默认为 1
- dfs.replication.max 最大复制份数,默认为 512
- dfs.namenode.safemode.threshold-pct 指定应有多少比例的数据块满足最小副本数要求, 默认 0.999f
- 说明:(NN 在启动的时候首先进入安全模式,如果 DN 丢失的 block 达到此参数设置的比例,则系统会一直处于安全模式状态即只读状态。如果设为 1 则 HDFS 永远是处于 SafeMode)
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/134886.htm