Hbase集群搭建超详细教程

简介: 分享一下HBase 集群搭建的详细过程

大家好,我是风云,欢迎大家关注我的博客,在未来的日子里我们一起来学习大数据相关的技术,一起努力奋斗,遇见更好的自己!

前言

HBase 是一个开源的、分布式的、版本化的非关系型数据库,它利用Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)提供分布式数据存储。存储结构化和半结构化的数据,可以进行随机访问的存取和检索数据。

HBase 是非关系型数据库,它不具备关系型数据库的一些特点,例如,它不支持 SQL 的跨行事务,也不要求数据之间有严格的关系,同时它允许在同一列的不同行中存储不同类型的数据。

HBase 作为 Hadoop 框架下的数据库,是被设计成在一个服务器集群上运行的。

今天就来分享一下HBase 集群搭建的详细过程。

详细步骤

前期准备:

  1. 准备三个虚拟机:
    192.168.36.121 hadoop1
    192.168.36.122 hadoop2
    192.168.36.123 hadoop3
  2. 虚拟机上配置有ssh服务,可以进行免密登录
  3. 安装JDK
  4. 安装Hadoop集群并启动HDFS服务
  5. 安装zookeeper集群并启动

1、下载安装包

cd /opt/module
# 下载hbase安装包
wget https://archive.apache.org/dist/hbase/2.2.4/hbase-2.2.4-bin.tar.gz

2、解压

# 解压
tar -zxvf ./hbase-2.2.4-bin.tar.gz
mv hbase-2.2.4 hbase

3、修改配置文件

3.1 修改hbase-env.sh文件

cd /opt/module/hbase/conf
# 打开文件
vim hbase-env.sh
# 添加如下内容
export HBASE_MANAGES_ZK=false

3.2 修改hbase-site.xml

vim hbase-site.xml
# 修改为如下内容
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop1:8020/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop1,hadoop2,hadoop3</value>
    </property>
</configuration>

3.3 修改regionservers文件

# 修改为如下内容
hadoop1
hadoop2
hadoop3

4、分发hbase目录

# 将hbase目录同步到集群其他节点
scp -r /opt/module/hbase hadoop2:/opt/module
scp -r /opt/module/hbase hadoop3:/opt/module

5、启动HBase集群

注意: 只有当Hadoop退出安全模式时,当查看http://hadoop1:9870/ 页面中出现 Security is off Safemode is off.时 我们再启动Hbase集群!!!

# 启动集群
cd /opt/module/hbase
bin/start-hbase.sh

6、查看HBase Web UI

我们可以通过Web UI 方式来访问HBase管理页面,连接地址:http://hadoop1:16010 ,这里的hadoop1要修改为你自己的IP地址或者主机名!!!能够成功访问,说明HBase集群启动成功。

在搭建过程中可能会遇到的问题:

问题:java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of ‘hbase.procedure.store.wal.use.hsync’ to set the desired level of robustness and ensure the config value of ‘hbase.wal.dir’ points to a FileSystem mount that can provide it.

解决办法:

1.在hbase-site.xml增加配置

<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
</property>

2.将该文件同步到其他节点

scp -r /opt/module/hbase/conf/hbase-site.xml hadoop2:/opt/module/hbase/conf
scp -r /opt/module/hbase/conf/hbase-site.xml hadoop3:/opt/module/hbase/conf

3.重启HBase集群

# 停止集群
/opt/module/hbase/bin/stop-hbase.sh
# 启动集群
/opt/module/hbase/bin/start-hbase.sh

最后,附上整个hbase-site.xml的配置内容:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop1:8020/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
 <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hadoop1,hadoop2,hadoop3</value>
  </property>
<!-- 解决启动HMaster无法初始化WAL的问题 -->
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
    <!-- Phoenix 支持HBase 命名空间映射 -->
  <property>
    <name>phoenix.schema.isNamespaceMappingEnabled</name>
    <value>true</value>
  </property>
  <property>
   <name>phoenix.schema.mapSystemTablesToNamespace</name>
    <value>true</value>
  </property>
</configuration>

好了,HBase集群的搭建过程就顺利完成了!

希望大家都能有所收获,喜欢的可以点赞和收藏,有疑问的可以在评论区留言,也欢迎转发分享给更多的人!

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
存储 Oracle 关系型数据库
HBase集群环境搭建与测试(上)
HBase集群环境搭建与测试
252 0
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
207 0
|
大数据 分布式数据库 Docker
基于Docker搭建大数据集群(七)Hbase部署
基于Docker搭建大数据集群(七)Hbase部署
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
68 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
31 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
56 3
|
3月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
115 2
|
3月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
|
5月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
146 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
6月前
|
分布式计算 监控 Hadoop
Ganglia监控Hadoop与HBase集群
Ganglia监控Hadoop与HBase集群
下一篇
无影云桌面