Hadoop2.7.1,Hbase1.2.6html
tar -zxvf Hbase-1.2.6-bin.tar.gzjava
(1)hbase-env.sh算法
修改java 环境变量, export JAVA_HOME=/opt/soft/jdk1.8/shell
(2)hbase-site.xml架构
<property>
<name>hbase.rootdir</name>
<value>hdfs://Hadoop1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>150000</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>负载均衡
(1)启动Hbaseoop
./bin/start-hbase.sh测试
(2)测试启动结果spa
./bin/hbase shellxml
若正常启动,则配置正常;
1.help
help 查看帮助 , help 'put' 查看put命令帮助
2.create
例子create 'student', {NAME => 'info', VERSIONS => 3}, {NAME => 'data', VERSIONS =>1}
student'是表名,{NAME => 'info', VERSIONS =>3}是一个列族,建表的时候咱们必须至少建一个列族,也能够建多个,NAME => 'info'是给这个列族起的名字,VERSIONS =>3是指这个列族能够存储三个版本的数据,多于3个的话,最老的版本将被删除。
HBase毫无心外的采用了Master/Slave架构搭建集群,包括了HMaster, HReginServer, ZooKeeper等。
Client: 能够看出,客户端有两种方式交互访问。其一经过zk访问HMaster主要进行一些DDL操做;其二经过zk获取root表位置,再经过HBase的RPC机制与HRegionServer直接通讯进行数据读写操做。(经过zk从HMaster获取元数据,找到对应rowkey所在HRegionServer/HRegion)
HMaster: 做为核心管理HReginServer, 提供负载均衡。管理分配HRegion, 实现DDL操做, 管理table元数据以及权限ACL。HBase能够启动多个HMaster, 经过zk的election机制保证有且只有一个HMaster运行,从而解决单点问题。
HRegionServer: 存放管理HRegion(1000+), HFile; 读写HDFS, 管理table;与client交互读写数据。如上所述。
Zookeeper: 主要用于集群协调;综上其实也能够看出zk存储了重要的元数据如root表地址;存储了HMaster地址;存储了HRegionServer状态;并实现;
HMaster主从节点failover,以下图:
zk通常由奇数,如3台机器组成;内部使用paxos算法;
HRegion: 如上文所述,随着数据的膨胀,HBase使用rowkey将table切分红多个HRegion, 每一个HRegion纪录了startKey, endKey;
单节点: http://www.aboutyun.com/thread-12057-1-1.html