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集群的搭建过程就顺利完成了!

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

相关实践学习
云数据库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
相关文章
|
7月前
|
存储 Oracle 关系型数据库
HBase集群环境搭建与测试(上)
HBase集群环境搭建与测试
126 0
|
9月前
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
145 0
|
8月前
|
大数据 分布式数据库 Docker
基于Docker搭建大数据集群(七)Hbase部署
基于Docker搭建大数据集群(七)Hbase部署
|
8天前
|
分布式计算 监控 Hadoop
Ganglia监控Hadoop与HBase集群
Ganglia监控Hadoop与HBase集群
|
13天前
|
分布式计算 Hadoop Java
Hbase集群搭建
Hbase集群搭建
|
2月前
|
存储 Java Linux
Linux安装HBase的详细教程及常用方法
Linux安装HBase的详细教程及常用方法
117 1
|
8月前
|
分布式计算 Hadoop Shell
Hbase集群搭建
Hbase集群搭建
160 0
|
5月前
|
分布式计算 Hadoop Java
百度搜索:蓝易云【HBase分布式安装配置教程。】
以上是一个简要的HBase分布式安装和配置教程。需要注意的是,HBase的配置和部署涉及更多的细节和参数设置,取决于你的特定环境和需求。建议你参考HBase官方文档或其他可靠资源,以获得更详细和全面的指导。
37 6
|
7月前
|
分布式计算 Hadoop Linux
HBase集群环境搭建与测试(下)
HBase集群环境搭建与测试
81 0
|
10月前
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的集群模式的安装部署和环境搭建,帮助开发者快速上手。
395 2