????????Book Performance Tuning?????????а?????????????????????????????Ч?????????????????????????????????????????????Щ???????????д???????????

???????????

????zookeeper.session.timeout

??????????3????(180000ms)

?????????RegionServer??Zookeeper??????????????????????ReigonServer??Zookeeper??RS????嵥???????HMaster????????????????server?????regions????balance????????????RegionServer???.

?????????

???????timeout??????RegionServer???????????failover?????ó?1????????????????????????????????failover???

???????????????????????ЩOnline????RegionServer??崻??????????????(?????????crash?????????????????)?????????timeout?????ò???????????ReigonServer???????RS???????????HMaster?????balance??????????RS???????????balance??????????????????????????????????RS????????????

????hbase.regionserver.handler.count

??????????10

?????????RegionServer????????IO???????

?????????

???????????????????????????

?????????IO??????????????????????????????Big PUT????(??????????PUT??????????cache??scan????????Big PUT)??ReigonServer????????????????

????????IO??????????????????????????TPS?????????????

????????????????????server??region??????????????????????????region???????????memstore????flush???μ??д??????????TPS??????IO??????????á?

??????????????Enabling RPC-level logging???????????????????????????GC?????????????????????????????IO???????

????????????????? Hadoop and HBase Optimization for Read Intensive Search Applications????????SSD???????????IO??????100???????ο???

????hbase.hregion.max.filesize

??????????256M

?????????????ReigonServer?????Reigon???С??????Region??????????????Region?????split???С??region??

?????????

????Сregion??split??compaction??????????region??compactСregion???storefile??????????????????split??compaction????????

?????????????????Сregion?????split?? compaction????????????????region?????????????????????鷳???????????ЩHbase??bug??

???????512???μ????Сregion??

??????region???????????split??compaction??????????compact??split???????????????????????д?????????????????region??ζ?????storefile??compaction?????????????????

???????????region???????????????????????????????????????????compact??split????region??????????????????????????????????????д?????

???????split??compaction???????????????а?????

????compaction???????????split?????????????????????

????????????????????????????????????????100G??????????????split(RegionServer?????δ????100G??region??split)??

?????????RegionSplitter?????????????split??????split??

???????split?????????????????????split????????????????????????????online??????á?

??????淽?棬Сregion??????memstore???С??????????region??????С?????У????????flush?app??IO wait???????С????store file?????????????

????hbase.regionserver.global.memstore.upperLimit/lowerLimit

??????????0.4/0.35

????upperlimit?????hbase.hregion.memstore.flush.size ??????????????? ??????memstore?????????flush??memstore?????????ReigonServer?????г???????memstore?????memstore???δ??flush.size??jvm??heap??????????ò????????????memstores????????檔

??????ReigonServer?????е?memstore?????????????heap??40%???HBase?????block???е???2?flush??Щmemstore?????????memstore??????檔

????lowerLimit????? ?upperLimit????????????memstore??????35%?????????flush???е?memstore?????????Щ?????y???memstore??????flush?????????????block??lowerLimit????????????flush????????????????????£????memstore????????????????flush???????????????????д??????HBase??????????????????

????????????????Heap??汣??????????????????????????????????????????????????Щ?????????????????????????????濪??????????????????????????????á?