HBase 集群搭建

文章目录

  • 安装前准备
    • 兼容性
    • 官方网址
  • 集群搭建
    • 搭建 Hadoop 集群
    • 搭建 Zookeeper 集群
    • 解压缩安装
    • 配置文件
    • 高可用配置
    • 分发 HBase 文件
  • 服务的启停
    • 启动顺序
    • 停止顺序
  • 验证进程
  • 查看 Web 端页面

安装前准备

兼容性

1)与 Zookeeper 的兼容性问题,越新越好,

Apache HBase ™ Reference Guide 官方回答:What version of ZooKeeper should I use?

The newer version, the better. ZooKeeper 3.4.x is required as of HBase 1.0.0

2)与 JDK 的兼容性问题,链接:hbase.apache.org/book.html#basic.prerequisites

HBase VersionJDK 6JDK 7JDK 8JDK 11
HBase 2.3+
HBase 2.0-2.2
HBase 1.2+
HBase 1.0-1.1
HBase 0.98
HBase 0.94

3)与 Hadoop 的兼容性问题,链接:Apache HBase ™ Reference Guide

Hadoop VersionHBase-2.3.xHBase-2.4.xHBase-2.5.x
Hadoop-2.10.[0-1]
Hadoop-2.10.2+
Hadoop-3.1.0
Hadoop-3.1.1+
Hadoop-3.2.[0-2]
Hadoop-3.2.3+
Hadoop-3.3.[0-1]
Hadoop-3.3.2+
  • ✅ = 经过测试,功能齐全
  • ❌ = 已知功能不全
  • ❗ = 未测试

官方网址

下载地址:Index of /dist/hbase (apache.org)

官方文档:Apache HBase ™ Reference Guide

中文文档:Hbase 中文文档

集群搭建

因为我的 Hadoop3.3.1 版本的,所以这里选择的是 HBase-2.4.16 版本搭建集群

搭建 Hadoop 集群

没有搭建可以参考:hadoop完全分布式搭建-CSDN博客

保证 Hadoop 集群的正常启动

./myhadoop.sh start

搭建 Zookeeper 集群

没有搭建可以参考:ZooKeeper 集群搭建-CSDN博客

保证 Zookeeper 集群的正常启动

./zk.sh start

解压缩安装

1)解压 Hbase,并重命名

tar -zxvf hbase-2.4.16-bin.tar.gz -C /opt/

2)配置环境变量

vim /etc/profile.d/hbase.sh

添加如下内容:

# HBASE_HOME
export HBASE_HOME=/opt/hbase-2.4.16
export PATH=$PATH:$HBASE_HOME/bin

3)使用 source 更新环境变量

source /etc/profile

配置文件

1)hbase-env.sh

vim $HBASE_HOME/conf/hbase-env.sh

修改内容:可以直接在第一行按 o 粘到第二行,也可以加到最后:

1)添加 JAVA_HOME、HADOOP_HOME环境变量;

2)让 Hbase 使用一个现有的不被 Hbase 托管的 Zookeep 集群;

3)将堆设置为 4GB(而不是默认值 1GB);

4)禁用 Hadoop 的类路径查找功能,类路径的查找可能会引发问题或冲突。

export JAVA_HOME=/usr/java/default
export HBASE_MANAGES_ZK=false
export HBASE_HEAPSIZE=4G
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true

2)hbase-site.xml

vim $HBASE_HOME/conf/hbase-site.xml

修改成如下内容:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>hbase.zookeeper.quorum</name><value>hadoop102,hadoop103,hadoop104</value><description>The directory shared by RegionServers.</description></property><property><name>hbase.rootdir</name><value>hdfs://hadoop102:9000/hbase</value><description>The directory shared by RegionServers.</description></property><property><name>hbase.cluster.distributed</name><value>true</value><description>The mode the cluster will be in. Possible values arefalse: standalone and pseudo-distributed setups with managed ZooKeepertrue: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)</description></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

3)regionservers

vim $HBASE_HOME/conf/regionservers

在此文件中列出将运行 RegionServers 的节点

hadoop102
hadoop103
hadoop104

4)解决 HBaseHadooplog4j 兼容性问题,将 Hadoopjar 包复制到 HBasejar

cp $HADOOP_HOME/share/hadoop/common/lib/slf4j-log4j12-1.7.30.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar
cp $HADOOP_HOME/share/hadoop/common/lib/slf4j-api-1.7.30.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-api-1.7.30.jarmv $HBASE_HOME/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar.bak
mv $HBASE_HOME/lib/client-facing-thirdparty/slf4j-api-1.7.33.jar $HBASE_HOME/lib/client-facing-thirdparty/slf4j-api-1.7.33.jar.bak

高可用配置

HBaseHMaster 负责监控 HRegionServer 的生命周期,均衡 RegionServer 的负载,如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 HMaster 的高可用配置。

1)在 conf 目录下创建 backup-masters 文件

touch $HBASE_HOME/conf/backup-masters

2)在 backup-masters 文件中配置高可用 HMaster 节点

echo hadoop103 > $HBASE_HOME/conf/backup-masters

分发 HBase 文件

xsync $HBASE_HOME/

服务的启停

1)单点启动/停止服务

$HBASE_HOME/bin/hbase-daemon.sh start master
$HBASE_HOME/bin/hbase-daemon.sh start regionserver$HBASE_HOME/bin/hbase-daemon.sh stop master
$HBASE_HOME/bin/hbase-daemon.sh stop regionserver

2)集群启动/停止服务

$HBASE_HOME/bin/start-hbase.sh$HBASE_HOME/bin/stop-hbase.sh

启动顺序

zookeepeer➡hadoop➡hbase

./zk.sh start./myhadoop.sh startstart-hbase.sh

停止顺序

hbase➡hadoop➡zookeepeer

stop-hbase.sh./myhadoop.sh stop./zk.sh stop

验证进程

HQuorumPeer 进程是一个 ZooKeeper 实例,由 HBase 控制和启动。如果没有使用自己的 Zookeeper,而是使用 Hbase 托管的, 那么每个集群节点只能使用一个实例,并且仅适用于测试。

QuorumPeerMain 进程是 Zookeeper 独立的进程, ZooKeeperHBase 之外运行。

有关 ZooKeeper 配置的更多信息,包括使用 HBase 的外部ZooKeeper 实例,查看 zookeeper 文档。

hadoop102、hadoop103、hadoop104 jps Output 至少应该含有以下进程:

./jpsall=============== hadoop102 ===============
32673 HMaster
33457 Jps
24836 QuorumPeerMain
26555 HRegionServer
=============== hadoop103 ===============
24160 Jps
20241 HRegionServer
21018 HMaster
19709 QuorumPeerMain
=============== hadoop104 ===============
17744 QuorumPeerMain
18084 NodeManager
21260 Jps

查看 Web 端页面

默认情况下,它部署在主服务器的端口 16010 上(HBase RegionServer 默认情况下监听端口 16020,并在端口 16030 上放置一个信息 HTTP 服务器)。如果 Master 在默认端口上名为 hadoop102 的服务器上运行,将浏览器指向 hadoop102:16010 以查看 Web 界面。

同时在 HDFS 上也会创建一个 hbase 目录

HBase 启动后,可以查阅 shell exercises,了解如何创建表,添加数据,扫描插入,最后禁用和删除表。

# 进入 HBase 客户端命令行
hbase shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在哪个Linux发行版上运行python,怎么在linux上运行python

Linux默认是已经安装好了Python程序目前来说&#xff0c;大多数的Linux发行版是安装了两个版本的Python程序一个是Python 2.x一个是Python 3.x一些系统自带的程序文件需要Python 2的支持&#xff0c;另外Python 3又是大势所趋所以&#xff0c;我们最好不要动系统的Python版本需…

职场上个人的核心技术_职场上,这3种人表面老实,实际却是个“高手”,要远离...

职场上&#xff0c;这3种人表面老实&#xff0c;实际却是个“高手”&#xff0c;要远离&#xff01;在职场生活中&#xff0c;每一步都需要走好&#xff0c;因为你不慎走错了一步也就可能满盘皆输。而公司里面也有一种比较特殊的情况&#xff0c;也就是有这么3种类型的人&#…

linux编程参数列表,Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)...

一. 概述linux安全系统的核心是用户账户。 创建用户时会分配用户ID(UID)。 UID是唯一的&#xff0c;但在登录系统时不是用UID&#xff0c;而是用登录名。在讲文件权限之之前&#xff0c;先了解下linux是怎样处理用户账户的。以及用户账户需要的文件和工具&#xff0c;这样处理文…

GitHub托管BootStrap资源汇总(持续更新中…)

Twitter BootStrap已经火过大江南北&#xff0c;对于无法依赖美工的程序员来说&#xff0c;这一成熟前卫的前端框架简直就一神器&#xff0c;轻轻松松地实现出专业的UI效果。GitHub上相关的的开源项目更是层出不穷&#xff0c;在此整理列举一些感觉不错的组件或增强实现&#x…

aix linux运维,运维老司机分享的八个AIX日常运维经验及案例

原文来自微信公众号&#xff1a;AIX专家俱乐部【经验分享】在AIX启动时&#xff0c;打开debug模式经常遇到aix无法启动&#xff0c;但又不知道pending在哪&#xff0c;因此打开启动过程的debug模式&#xff0c;对于诊断问题有很大的帮帮助。下面是打开debug的方法&#xff1a;打…

php 区块链算法_PoW/BFT等5种主流区块链共识算法的开源代码实现

共识算法是实现自主产权区块链的必不可少的关键环节&#xff0c;本文列出社区中相对成熟的区块链共识算法开源实现&#xff0c;包括BFT共识、Raft共识、Paxos共识、PoW共识等&#xff0c;可供希望开发自主产权区块链的团队参考学习。相关推荐&#xff1a;区块链开发系列教程1、…

[每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure........................................A20...

转载请注明出处&#xff1a;http://blog.csdn.net/guoyjoe/article/details/10859315 正确答案&#xff1a;D 一、模拟上题的错误&#xff1a; &#xff11;、删除4号文件 [oraclemydb ~]$ cd /u01/app/oracle/oradata/ocm/ [oraclemydb ocm]$ rm -rf users01.dbf&#xff12;、…

kafka集群 kubernetes_为什么 Kubernetes 如此受欢迎?

点击上方蓝色“火丁笔记”关注我们&#xff0c;设个星标&#xff0c;每天学习全栈知识在撰写本文时&#xff0c;Kubernetes 已有 6 年历史[1]了&#xff0c;在过去的两年中&#xff0c;它的流行度不断提高&#xff0c;一直是最受欢迎的平台之一[2]。今年&#xff0c;它成为最受…

android 动画 返回,Android“菜单图标变返回”动画

此例用到SVG动画&#xff0c;其中涉及三个XML文件&#xff0c;分别为&#xff1a;Vector矢量图&#xff0c;objectAnimator动画&#xff0c;以及一个animated-vector文件将前两个文件联合起来。1.在drawable文件夹下新建vector文件描述矢量图android:height"200dp"an…

全志A10 Bootload加载过程分析

A10的启动过程大概可分为5步&#xff1a;BootRom&#xff0c;SPL&#xff0c;Uboot&#xff0c;Kernel&#xff0c;RootFileSystem。本文只关注镜像的加载过程&#xff0c;分析RootRom->SPL->Uboot的启动流程。系统上电后&#xff0c;ARM处理器在复位时从地址0x000000开始…

android老 电池,为什么安卓手机不会因为电池的老化而降频呢?

前段时间&#xff0c;苹果手机的降频事件也是闹的沸沸扬扬&#xff0c;库克也为此进行了公开道歉&#xff0c;各位的吃瓜群众也是看的不亦乐乎&#xff0c;于是&#xff0c;也有不少的小伙伴会问&#xff1a;“为什么安卓手机不会因为电池的老化而降频&#xff1f;”今天&#…

android 5.0.1 libdvm.so,Android逆向进阶—— 脱壳的奥义(基ART模式下的dump)

本文作者&#xff1a;i春秋作家HAI_ZHU000 前言市面上的资料大多都是基于Dalvik模式的dump&#xff0c;所以这此准备搞一个ART模式下的dump。Dalvik模式是Android 4.4及其以下采用的模式&#xff0c;之后到了Android 5.0 之后就是ART模式&#xff0c;关于这两个模式的详细内容&…

android+3.0新加的动画,Android动画片

使用Android两年多了&#xff0c;工作中的动画也动能应付&#xff0c;自认为Android中的动画自己也能用个八九不离十&#xff0c;结果我在学习[Periscope点赞效果](http://www.jianshu.com/p/03fdcfd3ae9c)的时候发现动画的这些高级功能我从没用过、也没见过&#xff0c;静下来…

在线打开html文件,html是什么文件?html文件怎么打开?

html是什么&#xff1f;html即超文本标记语言&#xff0c;现在大多网页都是html的格式。而所谓的html文件是一种超文本文件&#xff0c;其中超文本可以是图片或音乐等非文字元素&#xff0c;使用很广泛。但是很多用户都不太明白html是什么文件&#xff1f;也不清楚html文件要如…

gsoap使用心得! (win32)

最近换了个工作环境&#xff0c;现在在大望路这边上班&#xff0c;呵&#xff0c;刚上班接到的任务就是熟悉gsoap&#xff01;废话少说&#xff0c;现在开始gSoap学习&#xff01;gSOAP是一个夸平台的&#xff0c;用于开发Web Service服务端和客户端的工具&#xff0c;在Window…

html怎么置顶导航栏,css怎么实现滚动页面导航栏固定在顶部

css怎么实现滚动页面导航栏固定在顶部(吸顶效果)功能&#xff1a;当网页向下滚动时&#xff0c;导航栏一直在固定在顶部一、css设置这里主要用到css中position中的relative与fixed&#xff1b;其中relative是生成相对定位的元素&#xff0c;相对于其正常位置进行定位。fixed是生…

numpy读取csv_Numpy——IO操作与数据处理

一、问题&#xff1f;大多数数据并不是我们自己构造的&#xff0c;存在文件当中。我们需要工具去获取&#xff0c;但是Numpy其实并不适合去读取处理数据&#xff0c;这里我们了解相关API&#xff0c;以及Numpy不方便的地方即可。二、Numpy读取genfromtxt(fname[, dtype, commen…

android 中radiogroup滑动切换,巧妙实现缺角radiogroup控制多个fragment切换和滑动

在android开发中&#xff0c;用一个radiogroup控制多个fragment切换是十分常见的需求。但是如果fragment是一个ListView&#xff0c;如何保证滑动的时候通过缺角可以看到下面的listview是一个难点。直接上图:(1)完美效果(2)较差效果另外&#xff0c;不妨假设缺角的高度是5dp&am…

荣耀智慧屏评测 鸿蒙OS加持,荣耀智慧屏评测:鸿蒙OS加持 面向未来的超智能电视...

原标题&#xff1a;荣耀智慧屏评测&#xff1a;鸿蒙OS加持 面向未来的超智能电视 来源&#xff1a;TechWeb.com.cn当华为选择在今年公布鸿蒙OS系统后&#xff0c;很多人都在期待它的庐山真面目。无论是以后非常时期不再受制于人&#xff0c;或是循序渐进将系统过渡给自家设备&a…

2021河南固高高考成绩查询,河南信阳最好的4所高中,前三所学霸如云,看看有没有你的母校?...

河南省信阳市处于豫之南&#xff0c;鄂之北。南边是连绵的群山&#xff0c;北边是广袤的平原。千里淮河&#xff0c;曲折盘旋&#xff0c;它的源头便是这里。都说信阳是一个神奇的地方&#xff0c;一点儿也不为过&#xff0c;狮河穿城而过&#xff0c;周围群山环抱&#xff0c;…