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。