天天看點

hbase參數配置

版本:0.94-cdh4.2.1

hbase-site.xml配置

hbase.tmp.dir

  • 本地檔案系統tmp目錄,一般配置成local模式的設定一下,但是最好還是需要設定一下,因為很多檔案都會預設設定成它下面的
  • 線上配置

    <

    property

    >

    <

    name

    >hbase.tmp.dir</

    name

    >

    <

    value

    >/mnt/dfs/11/hbase/hbase-tmp</

    value

    >

    </

    property

    >

  • 預設值:

    ${java.io.tmpdir}/hbase-${user.name}

    寫到系統的/tmp目錄

hbase.rootdir

  • HBase叢集中所有RegionServer共享目錄,用來持久化HBase的資料,一般設定的是hdfs的檔案目錄,如hdfs://namenode.example.org:9000/hbase
  • 線上配置

    <

    property

    >

    <

    name

    >hbase.rootdir</

    name

    >

    <

    value

    >hdfs://mycluster/hbase</

    value

    >

    </

    property

    >

  • 預設值:

    ${hbase.tmp.dir}/hbase

hbase.cluster.distributed

  • 叢集的模式,分布式還是單機模式,如果設定成false的話,HBase程序和Zookeeper程序在同一個JVM程序。
  • 線上配置為true
  • 預設值:false

hbase.zookeeper.quorum

  • zookeeper叢集的URL配置,多個host中間用逗号(,)分割
  • 線上配置

    <

    property

    >

    <

    name

    >hbase.zookeeper.quorum</

    name

    >     <

    value

    >inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org</

    value

    >

    </

    property

    >

  • 預設值:localhost

hbase.zookeeper.property.dataDir

  • ZooKeeper的zoo.conf中的配置。 快照的存儲位置
  • 線上配置:/home/hadoop/zookeeperData
  • 預設值:${hbase.tmp.dir}/zookeeper

zookeeper.session.timeout

  • 用戶端與zk連接配接逾時時間
  • 線上配置:1200000(20min)
  • 預設值:180000(3min)

hbase.zookeeper.property.tickTime

  • Client端與zk發送心跳的時間間隔
  • 線上配置:6000(6s)
  • 預設值:6000

hbase.security.authentication

  • HBase叢集安全認證機制,目前的版本隻支援kerberos安全認證。
  • 線上配置:kerberos
  • 預設值:空

hbase.security.authorization

  • HBase是否開啟安全授權機制
  • 線上配置: true
  • 預設值: false

hbase.regionserver.kerberos.principal

  • regionserver的kerberos認證的主體名稱(由三部分組成:服務或使用者名稱、執行個體名稱以及域名)
  • 線上配置:hbase/[email protected].xxx.xxx.COM
  • 預設:無

hbase.regionserver.keytab.file

  • regionserver keytab檔案路徑
  • 線上配置:/home/hadoop/etc/conf/hbase.keytab
  • 預設值:無

hbase.master.kerberos.principal

  • master的kerberos認證的主體名稱(由三部分組成:服務或使用者名稱、執行個體名稱以及域名)
  • 線上配置:hbase/[email protected].xxx.xxx.COM
  • 預設:無

hbase.master.keytab.file

  • master keytab檔案路徑
  • 線上配置:/home/hadoop/etc/conf/hbase.keytab
  • 預設值:無

hbase.regionserver.handler.count

  • regionserver處理IO請求的線程數
  • 線上配置:50
  • 預設配置:10

hbase.regionserver.global.memstore.upperLimit

  • RegionServer程序block進行flush觸發條件:該節點上所有region的memstore之和達到upperLimit*heapsize
  • 線上配置:0.45
  • 預設配置:0.4

hbase.regionserver.global.memstore.lowerLimit

  • RegionServer程序觸發flush的一個條件:該節點上所有region的memstore之和達到lowerLimit*heapsize
  • 線上配置:0.4
  • 預設配置:0.35

hbase.client.write.buffer

  • 用戶端寫buffer,設定autoFlush為false時,當用戶端寫滿buffer才flush
  • 線上配置:8388608(8M)
  • 預設配置:2097152(2M)

hbase.hregion.max.filesize

  • 單個ColumnFamily的region大小,若按照ConstantSizeRegionSplitPolicy政策,超過設定的該值則自動split
  • 線上配置:107374182400(100G)
  • 預設配置:21474836480(20G)

hbase.hregion.memstore.block.multiplier

  • 超過memstore大小的倍數達到該值則block所有寫入請求,自我保護
  • 線上配置:8(記憶體夠大可以适當調大一些,出現這種情況需要用戶端做調整)
  • 預設配置:2

hbase.hregion.memstore.flush.size

  • memstore大小,當達到該值則會flush到外存裝置
  • 線上配置:104857600(100M)
  • 預設值: 134217728(128M)

hbase.hregion.memstore.mslab.enabled

  • 是否開啟mslab方案,減少因記憶體碎片導緻的Full GC,提高整體性能
  • 線上配置:true
  • 預設配置: true

hbase.regionserver.maxlogs

  • regionserver的hlog數量
  • 線上配置:128
  • 預設配置:32

hbase.regionserver.hlog.blocksize

  • hlog大小上限,達到該值則block,進行roll掉
  • 線上配置:536870912(512M)
  • 預設配置:hdfs配置的block大小

hbase.hstore.compaction.min

  • 進入minor compact隊列的storefiles最小個數
  • 線上配置:10
  • 預設配置:3

hbase.hstore.compaction.max

  • 單次minor compact最多的檔案個數
  • 線上配置:30
  • 預設配置:10

hbase.hstore.blockingStoreFiles

  • 當某一個region的storefile個數達到該值則block寫入,等待compact
  • 線上配置:100(生産環境可以設定得很大)
  • 預設配置: 7

hbase.hstore.blockingWaitTime

  • block的等待時間
  • 線上配置:90000(90s)
  • 預設配置:90000(90s)

hbase.hregion.majorcompaction

  • 觸發major compact的周期
  • 線上配置:0(關掉major compact)
  • 預設配置:86400000(1d)

hbase.regionserver.thread.compaction.large

  • large compact線程池的線程個數
  • 線上配置:5
  • 預設配置:1

hbase.regionserver.thread.compaction.small

  • small compact線程池的線程個數
  • 線上配置:5
  • 預設配置:1

hbase.regionserver.thread.compaction.throttle

  • compact(major和minor)請求進入large和small compact線程池的臨界點
  • 線上配置:10737418240(10G)
  • 預設配置:2 * this.minFilesToCompact * this.region.memstoreFlushSize

hbase.hstore.compaction.max.size

  • minor compact隊列中storefile檔案最大size
  • 線上配置:21474836480(20G)
  • 預設配置:Long.MAX_VALUE

hbase.rpc.timeout

  • RPC請求timeout時間
  • 線上配置:300000(5min)
  • 預設配置:60000(10s)

hbase.regionserver.region.split.policy

  • split操作預設的政策
  • 線上配置: org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy(采取老的政策,自己控制split)
  • 預設配置: org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy(在region沒有達到maxFileSize的前提下,如果fileSize達到regionCount * regionCount * flushSize則進行split操作)

hbase.regionserver.regionSplitLimit

  • 單台RegionServer上region數上限
  • 線上配置:150
  • 預設配置:2147483647

繼續閱讀