-
依赖的外部服务:HDFS、zookeeper
内部进程服务:RegionServer、Master
使用Hbase,需要先安装HDFS分布式文件系统和Zookeeper注册中心。
Hbase包括主进程master和多个regionServer子进程。
当表数据量很大的时候,可以对表进行分区,分成多个region。regionServer负责管理region.
regionServer会将分区的运行情况报告给master,方便master随时将宕机的region分配到其他的region。
查看全部 -
rowkey相当于表的行主键。timestamp是时间戳。Hbase是基于key-value形式的。所以在列簇内,每一列都有一个key和value。
列簇的注意事项:
1、一张表的列簇不会超过5个,超过5个会影响查询效率
2、每个列簇中的列数没有限制
3、列只有插入数据后才会存在,没插入数据不会占用磁盘空间
4、创建表只需要确定有多少个列簇即可,不需要创建列,列动态增加。
5、列在列簇中是有序的
Hbase和关系型数据库的对比:
Hbase表内的列是动态增加的,关系型数据库是不能动态增加。
Hbase表内的数据会自动切分,关系型数据库表内数据不会自动切分。当数据量很大是,关系型数据库要进行分库分表。
Hbase支持高并发读取,关系型数据库不支持,需要通过第三方插件、缓存来实现减少访问数据库。
Hbase不支持条件查询,只支持Rowkey查询,关系型数据库支持复杂查询。
查看全部 -
应用场景:1.海量数据存储。2.准实时查询。
上百亿行*上百亿列,实现百毫秒查询。
hbase应用于海量数据存储,只有当数据量非常大的时候,Hbase才能发挥其相应的威力。比如几百万的数据量,是完全没有必要用到Hbase的。
查看全部 -
bin/hbase shell
Create : create "表名" ,"列簇名"
Describe
Enable
is_enabled
is_disabled
Disable
Drop
List
查看全部 -
HBase能做什么?
1、海量数据存储
2、准实时的查询
查看全部 -
列簇:
1、一张表的列簇不会超过5个
2、每个列簇中的列数没有限制
3、列只有插入数据后才存在
4、列在列簇中是有序的
查看全部 -
Hbase是一个分布式的、可扩展的、大数据存储的、Hadoop数据库。
Hbase 是一个 开源的 分布式 多版本 非关系型数据库
查看全部 -
使用Hbase,需要先安装HDFS分布式文件系统和Zookeeper注册中心。
Hbase包括主进程master和多个regionServer子进程。
当表数据量很大的时候,可以对表进行分区,分成多个region。regionServer负责管理region.
regionServer会将分区的运行情况报告给master,方便master随时将宕机的region分配到其他的region。
regionServer也会将分区的运行情况报告给zookeeper。
查看全部 -
HBase的特点: 1、大容量(支持百亿行,百万列) 2、面向列(动态增加列存储) 3、多版本(每列数据存储可有多个version) 4、稀疏性(空列不占用空间) 5、扩展性(底层依赖于HDFS) 6、高可靠性 7、高性能(LSM、Rowkey)查看全部
-
在启动hbase之前,先开启集群, start-hbase.sh启动 master上可观察到HRegionServer 和 HMaster开启(Master和RegionServer在同一台机器上) HBAES不存在单点故障,有多少台机器就可以设置多少Master,当启动master时,zookepper会帮我们选定一个激活的master进行服务 zookeeper服务在slaves机器上开启查看全部
-
HBASE在创建时不需要指定表的列,只需指定表的列族即可,在进行动态增加时指定他的列查看全部
-
Hadoop生态查看全部
-
HBase的特点5: 高可靠性:WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失:Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏.而且HBase底层使用HDFS HDFS本身也有备份.查看全部
-
Hbase shell
Create '表名','表名' Describe '表名' is_enabled //查看表是否可用 Drop '表名' Enable Disable '表名' //先禁用,才能删除表 is_disabled List scan '表名' put '表名','rowkey','列簇:列名','value'
查看全部 -
Hbase/conf/hbase-env.sh
export JAVA_HOME=/jdk export HBASE_MANAGES_ZK =false //禁用自带的zookeeper
hbase-site.xml
<!-- hadoop集群名称 --> <property> <name>hbase.rootdir</name> <value>hdfs://mycluster/hbase</value> </property> <!—是否依赖zookeeper—> <property> <name>hbase.zookeeper.quorum</name> <value>hmaster1,hmater2,hslave1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <!-- 是否是完全分布式 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 完全分布式式必须为false --> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <!-- 指定缓存文件存储的路径 --> <property> <name>hbase.tmp.dir</name> <value>/home/hadoop/data01/hbase/hbase_tmp</value> </property> <!-- 指定Zookeeper数据存储的路径 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/data01/hbase/zookeeper_data</value> </property>
regionservers:
添加DataNode的IP或者机器名即可,这个文件把RegionServer的节点列了下来
查看全部
举报