property | default | description |
fs.default.name | file:/// | 设置Hadoop namenode的hostname及port,预设是Standalone mode,如果是伪分布式文件系统要设置成 hdfs://localhost:9000,如果使用集群模式则配置为 hdfs://hostname:9000 |
hadoop.tmp.dir | /tmp/hadoop-${user.name} | 会在tmp下根据username生成不同的目录 |
fs.checkpoint.dir | ${hadoop.tmp.dir}/dfs/namesecondary | Sencondary NameNode 镜像存储目录 |
fs.checkpoint.period | 3600(s) | 控制 secondary namenode 的 checkpoint 时间间隔。如果距离上次 checkpoint 的时间大于这个参数的设定,就会触发 checkpoint。secondary namenode 会把 namenode 的 fsimage 和 editlog 做 snapshot。如果存取 Hadoop 的次数频繁或为了减少重起 namenode 的 downtime,可以把这个值设小一点。 |
fs.checkpoint.size | 67108864(byte) | 如果 Hadoop 非常的忙碌,editlog 可能会在短时间内变的很大,fs.checkpoint.period 的设定不见得可以完全预测这个状况,所以保险的做法会多设定这个值,以保证当数据大到超过 fs.checkpoint.size 的值也会触发 checkpoint。 |
io.file.buffer.size | 4096 | 这是读写 sequence file 的 buffer size, 可减少 I/O 次数。在大型的 Hadoop cluster,建议可设定为 65536 到 131072。 |
ipc.client.connection.maxidletime | 10000(ms) | 设定 Hadoop client 连接时最大的闲置,默认是是 10 秒。如果 Hadoop cluster 的网络联系不稳,可以把这个值设到 60000(60秒) |
ipc.server.tcpnodelay | FALSE | 在 Hadoop server 是否启动 Nagle’s 算法。设 true 会 disable 这个算法,关掉会减少延迟,但是会增加小数据包的传输。server site 不太需要这定这个值。 |
hadoop.security.authorization | FALSE | 是不是要开启 账号验证机制,开启之后 Hadoop 在执行任何动作之前都会先确认是否有权限。详细的权限设定会放在 hadoop-policy.xml 里。例如要让 fenriswolf 这个 account 及 mapreduce group 可以 submit M/R jobs,要设定security.job.submission.protocol.acl |
hadoop.security.authentication | simple | simple 表示没有 authentication,Hadoop 会用 system account 及 group 来控管q权限。另外可以指定为kerberos,这部分相对比较复杂,要有一个 kerberos server 并产生 account keytab,在执行任何操作前 client 要先用 kinit 指令对 kerberos server 认证,之后的任何操作都是以 kerberos account 来执行。 |
fs.trash.interval | 0 | 清掉垃圾桶的时间。预设是不清, 所以在删除文件时要自己执行 |
hadoop.native.lib | TRUE | 默认 Hadoop 会去找所有可用的 native libraries 并自动 load 进来使用,例如压缩类的 libraries 像 GZIP, LZO 等等。 |