HBase的安裝配置:
4臺主機:hdp0 ?hdp1 ?hdp2 ?hdp3
hdp0 hdp1 跑HMaster
hdp2 hdp3 跑HRegionServer
將HBase解壓之后
1、確保安裝ZooKeeper;
2、修改hbase-env.sh
? ? export JAVA_HOME=/.../jdk
? ? export HBASE_MANAGES_ZK=false //使用外部的zk。hbase自己維護的ZooKeeper不穩定
3、修改hbase-site.xml
<property><name>hbase.rootdir</name><value>hdfs://ns1/hbase</value> #HDFS為HA時,HBase不認識ns1,需要將hadoop的core-site.xml和hdfs-sit.xml復制到conf文件夾下
</property>
<property><name>hbase.cluster.distributed</name><value>true</value>
</property>
<property><name>hbase.zookeeper.quorum</name><value>hdp0:2181,hdp1:2181,hdp2:2181</value>
</property>
4、修改regionservers文件,記錄HRegionServer的節點
? ? hdp2
? ? hdp3
5、HDFS為HA時,將core-site.xml和hdfs-site.xml復制到conf文件夾下
7、將hbase拷貝到其他節點
? ? scp -r /.../hbase hdp2:/.../
? ? scp -r /.../hbase hdp3:/.../
8、啟動hbase
? ? hdp0>bin/start-hbase.sh?
? ? hdp1>bin/hbase-daemon.sh start master //作為備用master,依靠ZooKeeper進行主從切換
web端口:60010
HBase和Hadoop的版本要對應。
在HBase的lib目錄下對應的Hadoop版本相對穩定。
如果用戶想要使用其他的Hadoop版本,需要將Hadoop系統安裝目錄的hadoop-*.*.*-core.jar文件和hadoop-*.*.*-test.jar復制到HBase的lib文件夾下,以替換其他版本的Hadoop文件。
關于hbase-default.xml或hbase-site.xml文件中的幾個重要參數配置:
hbase.client.write.buffer:
寫入緩沖區的數據大小,單位為字節,默認大小為2MB。此值過大會加重服務器負擔,過小會影響HBase性能。
hbase.master.meta.thread.rescanfrequency
HMaster會掃描ROOT和META表的時間間隔,單位為毫秒,默認60,000毫秒。
hbase.regionserver.handler.count
客戶端向服務器請求服務時,服務器先將客戶端的請求連接放入一個隊列中,然后服務器通過輪詢的方式進行處理。
該值指出RegionServer上等待處理請求的實例數目,默認為10。
服務器端寫數據緩存所消耗的內存大小為hbase.client.write.buffer*hbase.regionserver.handler.count
hbase.hregion.max.filesize
設置HRegion中StoreFile的最大值,默認256MB。當表中的列族超過此值時,文件將被分隔。
hfile.block.cache.size
表示HFile/StoreFile緩存所占Java虛擬機堆大小的百分比,默認值為0.2。0表示禁用此選項。
hbase.regionserver.global.memstore.upperLimit
表示MemStore所占Java虛擬機堆大小的最大值,默認值為0.4。
當超過時,更新操作將被阻塞,所有內容將被強制寫出。
hbase.hregion.memstore.flush.size
如果MEMStore的大小超過此值,將被寫到磁盤上。默認64MB。