你的位置:首页 > 数据库

[数据库]hadoop(四):配置参数


        hadoop参数配置,主要是配置 core-site.三个配置文件,core-site.,hdfs-site.

  • core-default: http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-common/core-default.
  • hsdf-default: http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.
  • mapred-site: http://hadoop.apache.org/docs/r2.7.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.

目录:

  • 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)