简单说明
相对应hadoop的高可用,HBase配置简单很多
HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。
配置HBase高可用,只需要启动两个HMaster,让Zookeeper自己去选择一个Master Acitve即可。
简单配置
这里自己用3台机器,在配置好基本的Hbase后(jdk路径等)
我们主要配置hbase-site.xml文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://hbase01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hbase01:2181,hbase02:2181,hbase03:2181</value>
</property>
这里存储,我们用的hadoop的hdfs,自己放置在hbase01这台机器上
再配置对应装有HBase和Zookeeper的集群的主机即可。
测试
启动hadoop,Zookeeper集群,HBase后
我们可以在对应HMaster的60010端口的网页查看状态
启动备用,实现高可用
hbase-daemon.sh start master
HBase启动备用相对简单,执行上面命令,启动即可。
我们到备用HMaster的60010端口的网页查看状态
可以发现是standby的
同样,我们kill掉原来active的HMaster,可以发现standby的变为active。
再次启动kill掉的HMaster,可以发现变为standby
扯淡
感觉HBase才是真正存储海量数据比较理想的工具,hdfs感觉只是个容器罢了。hadoop效率其实也不高,虽然hive写起来方便,但是比起storm,spark,感觉hadoop已经没有上面优势了,只是hadoop的一些组件挺有使用价值的。
HBase难点其实是在LSM树上,感觉红黑树等等的数据结构,才是真正实现的难点,笨笨的自己加油