配置Hbase将数据写到哪个目录下,则我们去配置hbase.rootdir
hbase.rootdir默认情况下是指向tmp/hbase-${user.name}下的,在重启时会丢失数据
hbase配置的数据路径是在hadoop集群上的
配置java
在conf/hbase-env.sh,将其中的JAVA_HOME指向到你Java的安装目录。
ssh
必须安装ssh,ssh之间必须都打通,不用密码都可登录,(ssh passwordless login)
hadoop
Hbase运行在实现了持久化同步的HDFS上,否则将丢失所有的数据
sync必须显示开启(即dfs.support.append同时在客户端和服务器端设为真)
客户端:hbase-site.xml
服务器端:hdfs-site.xml
修改后必须重新重启集群
因为Hbase建立在Hadoop上,Hadoop使用的hadoop.jar和Hbase使用的必须一致,所以需要将Hbase lib目录下的hadoop.jar替换为Hadoop里面的那个,防止版本冲突
hbase也有一个界面,上面会列出重要的属性,默认是在Masters的60010端口上的,[最新的版本端口号为16010]
zookeeper
一个分布式运行的Hbase依赖一个zookeeper集群,所有的节点和客户端都必须能够访问zookeeper
默认的情况下,Hbase会管理一个zookeeper集群。
需要修改conf/hbase-env.sh里面的HBASE_MANAGES_ZK来切换,这个值默认是true,作用是让Hbase启动的时候同时也启动zookeeper.
Region
region是部分数据,但region包括完整的行,所以region是单位表的一个子集
region有三个主要要素:
它所属于哪张表
它所包含的第一行
它所包含的最后一行
当表初写数据时,此时表只有一个region,当随着数据的增多,region开始变大,等到它达到限定的阀值大小时,变化把region分裂为两个大小基本相同的region
Column Family
Hbase是column family一些列的集合,一个column family所有成员是有着相同的前缀
在物理上,一个column family成员在文件系统上都是存储在一起,因为存储优化都是针对coLumn family级别的,这就意味着,一个Column family的所有成员是用相同的方式访问的。
Cells
A{row,column,version}元组就是一个Hbase中的一个cell.
数据模型操作
四种主要的数据操作模型是get,put,scan,delete
版本
在Hbase中,版本是按照倒序排列的,因此当读取这个文件的时候,最先找到的是最近的版本
页面
http://ip:60010/master-status