HBase介绍

HBase是参考google的bigtable的一个开源产品,建立在hdfs之上的一个提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。是一种介于nosql和RDBMs之间的一种数据库系统,仅支持通过rowkey和range进行数据的检索,主要存储非结构化数据和半结构化数据。
HBase和Hadoop一样,目标是通过横向扩展,添加普通机器来增加存储性能和计算性能。HBase特点:大(一个表可以有上亿行以及百万级的行)、面向行存储、稀疏(由于null不占用存储空间,所有表结果可以设计的非常稀疏)。

HBase组成结构
HBase使用Zookeeper进行集群节点管理,当然HBase自身集成了一个ZK系统,不过一般情况在实际生产环境中不使用。
HBase由master和regionserver两类节点(如果使用HBase自带的zk服务,那么还有HQuorumPeer进程)。Hbase支持提供backup master进行master备份。其中master节点负责和zk进行通信以及存储regionserver的相关位置信息,regionserver节点实现具体对数据的操作,最终数据存储在hdfs上。

HBase架构

RegionServer集群结构

 HBase逻辑存储结构

HBase物理存储结构

key

value

r1:a:url:t6

url2

r1:a:url:t3

url1

r1:a:url:t1

url0

r1:a:host:t7

host1

r1:a:host:t6

host0

r1:a:host:t4

host1

r1:a:host:t0

host0

r1:a:title:t5

title3

r1:a:title:t4

title2

r1:a:title:t2

title1

r1:a:title:t1

title0

 
   

HBase安装

1 下载


https://www.apache.org/dyn/closer.lua/hbase/2.1.3/hbase-2.1.3-bin.tar.gz


2 解压


tar -zxvf  hbase-2.1.3-bin.tar.gz


3 修改conf/hbase-env.sh


JAVA_HOME=/home/hadoop/bigdatasoftware/jdk1.8.0_161

port HBASE_MANAGES_ZK=false


4 修改hbase-site.xml


<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-001:9000/hbase</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

<!-- 0.98后的新变动,之前版本没有.port,默认端口为16000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>

<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop-001:2181,hadoop-002:2181,hadoop-003:2181</value>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/bigdatasoftware/zookeeper-3.4.13/zkdata</value>
</property>
</configuration>


5 修改regionservers


hadoop-001

hadoop-002

hadoop-003


6 . 软连接 hadoop 配置文件到 hbase:(因为 hbase集群 是依赖于 hadoop集群 的)


ln -s /home/bigdatasoftware/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /home/hadoop/bigdatasoftware/hbase-2.1.3/conf/hdfs-site.xml

ln -s /home/bigdatasoftware/hadoop-2.7.2/etc/hadoop/core-site.xml /home/hadoop/bigdatasoftware/hbase-2.1.3/conf/core-site.xml


7.发送hbase到hadoop-002,hadoop-003


scp -r ./hbase-2.1.3 hadoop@hadoop-002:/home/hadoop/bigdatasoftware/

scp -r ./hbase-2.1.3 hadoop@hadoop-003:/home/hadoop/bigdatasoftware/


7 启动验证


./bin/start-hbase.sh


浏览器访问hadoop-001:60010,如下图则配置成功

最新文章

  1. 解析大型.NET ERP系统 设计异常处理模块
  2. 1207MySQL 面试题
  3. 用python pickle库来存储数据对象
  4. ubuntu12.04server下red5-1.0.0RC1的部署
  5. Javascript的动态增加‘类’的方法
  6. CAP原理的证明
  7. Cookie中用户登录信息的提示
  8. Linux设备驱动编程之复杂设备驱动
  9. Codeforces Round #318(Div 1) 573A, 573B,573C
  10. c++ 常见问题之 vector 和数组
  11. Java用自定义的类型作为HashMap的key
  12. Unix时代的开创者Ken Thompson
  13. Java+Selenium操作日期时间选择框插件
  14. 整数转罗马数字以及罗马数字转整数(java实现)
  15. JS高级 - 面向对象4(json方式面向对象)
  16. Android截图命令screencap与视频录制命令screenrecord
  17. Improving your submission -- Kaggle Competitions
  18. JMeter学习(三十四)使用jmeter来发送json/gzip格式数据(转载)
  19. url后面添加参数,注意&amp;?的添加方式
  20. Android 开机画面和wallpaper总结

热门文章

  1. 解决Invalid bound statement (not found): com.cqupt.ssm.dao.UserDao.queryMenu问题
  2. post-image.sh hacking
  3. Python之路PythonThread,第一篇,进程1
  4. Linux more命令详解
  5. BZOJ 5099: Pionek(双指针)(占位)
  6. jQ常用选择器
  7. sscanf 与 ssprintf 用法 (转载--https://www.cnblogs.com/Anker/p/3351168.html)
  8. RPC 原理
  9. .net core consul grpc--系统服务RPC实现通信(一)
  10. CentOS安装LibreOffice