HBase的概述和安装部署
一、HBase概述
1.HBase是Hadoop数据库,是一个分布式、可扩展的大数据存储。
HBase是用于对大数据进行随机、实时读写访问的非关系型数据库,它的目标托管非常大的表——数十亿行N百万列。
正如Bigtable利用Google文件系统提供的分布式数据存储一样,HBase在Hadoop的HDFS之上提供类似Bigtable的功能。
2.HBase架构

Zookeeper => ZK中存储了HMaster的元数据信息
HMaster => 主节点
HRegionServer => 区域服务器
HLog => 预写入日志
HRegion => 区域,可以理解成表
Store => 存储单元
Memstore => 内存的一块区域,负责写入数据的缓存
blockcache => 内存的一块区域,负责读取数据的缓存(图中未显示)
storeFile => 写入磁盘的一个文件,HFile是物理上的存储单元
3.HBase的作用
HBase通过HRegionServer连接了HDFS的客户端,然后在存数据时将生成的HFile文件存储到hdfs中,之后把本地的HFile文件删除只保留元数据信息。
HBase就是建立在HDFS之上的数据库。
二、HBase集群的安装部署
1.准备工作
HBase基于HDFS集群和Zookeeper集群,所以要先安装hdfs和zk;
安装完成后去HBase官网下载对应安装包,本人使用的是1.3.0版本,上传到集群,解压,重命名文件为HBase;
HBase官网:hbase.apache.org
2.修改配置文件
进入conf目录下修改hbase-env.sh和hbase-site.xml文件
(1)vi hbase-env.sh
JAVA_HOME=/root/hd/jdk1.8.0_141
HBASE_MANAGES_ZK=false
(2)vi hbase-site.xml
将下面的配置信息加入到<configuration></configuration>之中
<!-- 设置namenode所在位置 通过rootdir设置 也就是设置hdfs中存放的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hd1-1:9000/hbase</value>
</property> <!-- 是否开启集群 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property> <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property> <!-- zookeeper集群的位置 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hd1-1:2181,hd1-2:2181,hd1-3:2181</value>
</property> <!-- hbase的元数据信息存储在zookeeper的位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/hd/zookeeper-3.4.10/zkData</value>
</property>
3.进入regionservers文件(vi regionservers)添加所有节点
hd1-1
hd1-2
hd1-3
4.解决版本依赖不一致问题
进入hbase/lib目录中,查看hadoop和zookeeper的jar包的版本是否和自己安装的版本一致,不同则删除jar包
rm -rf hadoop-*
rm -rf zookeeper-*
然后将与自己版本一致的hadoop和zk依赖包导入到该目录,jar包如下:

通过sftp导入到linux集群。
5.建立配置信息软连接
进入hbase/conf目录下,添加配置(根据自己的路径修改就好)
ln -s /root/hd/hadoop/etc/hadoop/core-site.xml /root/hd/hbase/conf/
ln -s /root/hd/hadoop/etc/hadoop/hdfs-site.xml /root/hd/hbase/conf/
也可以将这两个配置复制到hbase/conf目录下;
6.将配置好的hbase文件夹发送到其他集群机器
scp -r /root/hd/hbase/ hd1-2:/root/hd/
7.启动hbase集群
(1)先启动hdfs和zookeeper
start-dfs.sh、zkServer.sh start
(2)启动hbase(没有配置环境变量,要在hbase目录下启动)
bin/hbase-daemon.sh start master 启动主节点
bin/hbase-daemon.sh start regionserver 启动从节点
8.访问与测试
(1)可以通过你的主机点的IP地址加端口号访问UI界面
192.168.50.183:16010
(2)启动shell命令行进行测试
bin/hbase shell
list
这样,HBase就配置完成了~~
HBase的概述和安装部署的更多相关文章
- Kafka概述及安装部署
一.Kafka概述 1.Kafka是一个分布式流媒体平台,它有三个关键功能: (1)发布和订阅记录流,类似于消息队列或企业消息传递系统: (2)以容错的持久方式存储记录流: (3)记录发送时处理流. ...
- Zookeeper的概述、安装部署及选举机制
一.Zookeeper概述 1.Zookeeper是Hadoop生态的管理者,它致力于开发和维护开源服务器,实现高度可靠的分布式协调. 2.Zookeeper的两大功能: (1)存储数据 (2)监听 ...
- Flume的概述和安装部署
一.Flume概述 Flume是一种分布式.可靠且可用的服务,用于有效的收集.聚合和移动大量日志文件数据.Flume具有基于流数据流的简单灵活的框架,具有可靠的可靠性机制和许多故障转移和恢复机制,具有 ...
- Spark-Unit1-spark概述与安装部署
一.Spark概述 spark官网:spark.apache.org Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎.spark诞生于加油大学伯克利分校AMP ...
- HBase集群的安装部署
HBase的安装是是建立在hadoop和zookeeper集群之上的 安装的步骤跟伪分布式差不多,只是修改了一些配置文件 解压缩.重命名.设置环境变量 把hbase-0.94.2-security.t ...
- 【Hadoop离线基础总结】oozie的安装部署与使用
目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...
- Kubernetes后台数据库etcd:安装部署etcd集群,数据备份与恢复
目录 一.系统环境 二.前言 三.etcd数据库 3.1 概述 四.安装部署etcd单节点 4.1 环境介绍 4.2 配置节点的基本环境 4.3 安装部署etcd单节点 4.4 使用客户端访问etcd ...
- Hbase单机安装部署
Hbase单机安装部署 http://blogxinxiucan.sh1.newtouch.com/2017/07/27/Hbase单机安装部署/ 下载Hbase Hbase官网下载地址 http:/ ...
- HBase集群安装部署
0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...
随机推荐
- Swift 学习- 04 -- 字符串和字符
// 字符串 和 字符 // 字符串 是有序的 Character (字符) 类型的值的集合, 通过 String 类型的集合 // swift 的 String 和 Character 类型提供了 ...
- ios集成极光推送:Undefined symbols for architecture arm64: "_dns_parse_resource_record", referenced from:?
添加libresolv.tbd库,即可解决问题 Undefined symbols for architecture arm64: "_dns_parse_resource_record&q ...
- LeetCode(76): 最小覆盖子串
Hard! 题目描述: 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", T = &q ...
- ubuntu 安装Mysql8.0
1. 去官网下载安装包 下载链接:点击打开链接 https://dev.mysql.com/downloads/mysql/ 如果你的系统是32位选择第一个,64位选择第二个 也可以用wget 下载 ...
- AppServ安装到一半卡住的问题
今天在笔记本安装AppServ的时候,运行到Installing mysql service时就卡住不动了,因为之前在自己的台式电脑安装过AppServ,当时是一步成功的,所以觉得这个问题莫名其妙,因 ...
- Spring JDBC概述
1.jdbc 概述 Spring JDBC是Spring框架的持久层子框架.用于对数据库的操作(增删改查). 而JdbcTemplate它是spring jdbc子框架中提供的一个操作类,用于对原始J ...
- linux学习笔记之 basename, dirname
前言: basename: 用于打印目录或者文件的基本名称 dirname: 去除文件名中的非目录部分,仅显示与目录有关的内容.dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部 ...
- JS实现简单的观察者模式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- idea svn配置报错:Can't use Subversion command line client:svn
1. 在Intellij IDEA里checkout东西时出先这个错误提示:Can't use Subversion command line client:svnSubversion command ...
- Java享元模式
定义:提供了减少对象数量从而改善应用所需的对象结构的方式 运用共享技术有效支持大量细微度的对象 类型:结构型 应用场景:系统底层的开发啊,以便解决系统的性能问题 系统有大量的相似对象,需要缓存池的场景 ...