Hbase 简介+环境安装配置教程
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物理存储结构
|
|||||||||||||||||||||||||
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,如下图则配置成功
最新文章
- 转发 eclipse 取消javascript 验证
- .NET使用QRCodeEncoder生成二维码
- memcached一些整理
- ARM GCC 内嵌汇编手册
- WPF converter
- On-Heap与Off-Heap
- Salesforce 官方扫盲自学导航
- 【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
- 详解vue组件的is特性:限制元素&;动态组件
- 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇
- L304 What Is Death?
- linux c学习笔记----线程创建与终止
- Cents os 7下如何安装bzip2
- Linux Home目录硬盘空间缩减
- vs中发布WebSever时启用HTTP-POST和HTTP-GET这两种协议
- php时间轴函数,很不错,记下了
- linux系统centOS在虚拟机下的自定义安装
- React:快速上手(5)——掌握Redux(2)
- 人工智能(AI)
- Android(java)学习笔记15:匿名内部类实现多线程
热门文章
- 某些浏览器没有canvas.toBlob 方法的解决方案
- AOP记录方法的执行时间
- 【Python】一些零散的练习
- this -- apply或call调用
- Linux文件和目录常用操作命令(40个)
- 微软Power BI 每月功能更新系列——6月Power BI 新功能学习
- SpringBatch Sample (五)(复合格式文件的读、多文件的写)
- Python之路,第五篇:Python入门与基础5
- MySql查询出来的值为 boolean类型的值
- Hive错误:User root is not allowed to impersonate anonymous