【写在前面】飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适配认证四大板块,旨在共享尖端技术,为开发者提供一个涵盖多领域的开发平台和工具套件。点击这里开始你的技术升级之旅吧

image.png

本文分享至飞腾开发者平台《飞腾平台Hbase2.4.9安装配置手册》

1 介绍

  HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。

2 环境要求

2.1 硬件要求

  硬件要求如下表所示。

项目说明
CPUFT-2000+/64服务器
网络无要求
存储无要求
内存无要求

2.2 操作系统要求

  操作系统要求如下表所示。

项目说明
CentOS8
Kernel4.18.0-193.el8.aarch64

2.3 软件环境要求

  软件环境要求如下表所示。

项目说明
JDK11.0.11
Maven3.3.9
Protpbuf2.6.1
Hadoop3.2.2

3 安装与配置步骤

3.1 基本环境

  因为HBase 是以 HDFS 作为底层存储文件系统的,所以Hadoop 是部署Hbase的基础。而JDK是 Hadoop 和 HBase 运行的环境,两者都采用 Java 语言实现,它们的守护进程都运行在JVM下,因此在安装Hbase前,确保系统中存在已经部署好的Hadoop以及JDK。明确Hadoop与JDK的版本与储存路径。本文使用的是Hadoop3.2.2和JDK11.0.11. 要部署的Hbase版本是2.4.9。

3.2 下载Hbase

  1)下载Hbase安装包:

    a)http://archive.apache.org/dist/hbase/2.4.9/ 官网

    b)https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.9/ 清华镜像网站

  注*:在下载Hbase安装包时,要选择编译好的,可以直接使用的压缩包,如下图所示:

image.png

  2)解压压缩包

>>tar -zxvf hbase-2.4.9-bin.tar.gz

  3)查看解压后的文件,并查看Hbase版本判断是否可用

image.png

>>bin/hbase version

  执行命令后,输出信息如下图所示:

image.png

  出现Hbase以及对应的版本号则说明已经安装成功。

3.3 添加Hbase权限

>> sudo chown -R XXX ./hbase

注*:执行此命令的作用是将hbase下的所有文件的所有者改为XXX,XXX是当前用户的用户名(也有教程说是运行Hadoop的账户)。因此该命令存疑,在不清楚用户名的情况下可省略该步骤。

3.4 将Hbase添加至环境变量

  编辑位于/etc目录下的profile文件

>> vim /etc/profile

  将以下代码追加至文件尾部

export HBASE_HOME=/GSH/Hadoop-Hbase/hbase-2.4.9

export PATH=\$PATH:\$HBASE_HOME/bin

  保存后,执行命令使上述代码生效:

>> source /etc/profile

3.5 Hbase配置

3.5.1 单机模式配置

  Hbase相关的配置文档存储在解压目录的conf文件夹下

  1)编辑位于/root/GSH/Hadoop-Hbase/hbase-2.4.9/conf下的hbase-env.sh

>> vim hbase-env.sh

  配置jdk路径:

export JAVA_HOME=/opt/jdk-11.0.11

  配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper:

export HBASE_MANAGERS_ZK=true

image.png

  配置完成后保存并退出。

  2)编辑位于/root/GSH/Hadoop-Hbase/hbase-2.4.9的hbase-site.xml:

>> vim hbase-site.xml

  将如下代码添加至hbase-site.xml文件中:

<configuration>

    <property>

        <name>hbase.rootdir</name>

        <value>file:///root/GSH/Hadoop-Hbase/hbase-2.4.9/tmp</value>

    </property>

</configuration>

  设置属性hbase.rootdir,用于指定HBase数据的存储位置,防止每次重启系统丢失数据。

  保存并退出。

3.5.2 伪分布式模式配置

  1)对/root/GSH/Hadoop-Hbase/hbase-2.4.9/conf下的hbase-env.sh内容更新:

>> vim hbase-env.sh

  配置HBASE_CLASSPATH:

export HBASE_CLASSPATH=/root/GSH/Hadoop-Hbase/hadoop3.2.2/conf

image.png

  保存并退出。

  2)对/root/GSH/Hadoop-Hbase/hbase-2.4.9/conf下的hbase-site.xml内容更新:

>> vim hbase-site.xml

  将<configuration>与</configuration>之间的内容修改成如下代码:

<property>  
    <name>hbase.rootdir</name>  
    <value>hdfs://localhost:9000/hbase</value>  
</property>  
<property>  
    <name>hbase.cluster.distributed</name>  
    <value>true</value>  
</property>
<property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
</property>
<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
</property>

image.png

  hbase.rootdir用于指定HBase的存储目录,hbase.cluster.distributed设置集群处于分布式模式,hbase.tmp.dir指定本地文件系统tmp目录。

4 启动Hbase

4.1 启动Hadoop

  切换至/root/GSH/Hadoop-Hbase/hadoop-3.2.2目录下,启动Hadoop:

>> start-all.sh

  执行启动命令后,出现如下图所示输出信息说明启动成功

image.png

  也可以使用jps命令查看是否启动成功:

>> jps

  出现NameNode, NodeManager等进程说明启动成功,如下图所示

image.png

4.2 启动Hbase

  切换回到安装Hbase的目录:

>> cd /root/GSH/Hadoop-Hbase/hbase-2.4.9

  启动Hbase:

>> bin/start-hbase.sh

  执行后的输出信息如下图所示:

image.png

  输入命令jps:

>> jps

看到如下界面说明Hbase启动成功:

image.png

4.3 关闭Hbase

  关闭Hbase:

>> bin/stop-hbase.sh

5 Hbase Shell基础命令

  在命令行中输入hbase shell即可进入hbase shell命令行

  1)创建表

  create '表名' , '属性1' , '属性2'....

>> create 'student', 'name','grade','course'

  2)查看表结构

>> describe 'student'

  3)添加数据

  HBase中用put命令添加数据,注:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据,

  HBase的表中会有一个系统默认的属性作为行键,无需自行创建,默认为put命令操作中表名后第一个数据。

  插入姓名为“GSH”的数据:

>> put 'student','1001','name','GSH'

  1001就是默认的行键,它对应了一个表中某一个独一无二的数据,可以理解为“学号”,“身份证号”等等。将GSH的“math”属性设置为90:

>> put 'student','1001','course:math','90'

  4)查看数据

    a)Get

>> get 'student','1001'

  查看student表中1001号的数据

    b)Scan

>> scan 'student

  查看student表中所有数据

  5)删除数据

    a)delete

>> delete 'student','1001','name'

  删除student表中1001行name列的数据

    b)deleteall

>> deleteall 'student','95001'

  删除student表中的1001行的全部数据

  6)删除表

  需停止表的可用性,再删除表

>> disable 'student'

>> drop 'student'


推荐阅读

欢迎广大开发者来飞腾开发者平台获取更多前沿技术文档及资料

如开发者在使用飞腾产品有任何问题可通过在线工单联系我们



版权所有。飞腾信息技术有限公司 2023。保留所有权利。

未经本公司同意,任何单位、公司或个人不得擅自复制,翻译,摘抄本文档内容的部分或全部,不得以任何方式或途径进行传播和宣传。

商标声明

Phytium和其他飞腾商标均为飞腾信息技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

本文档的内容视为飞腾的保密信息,您应当严格遵守保密任务;未经飞腾事先书面同意,您不得向任何第三方披露本文档内容或提供给任何第三方使用。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,飞腾在现有技术的基础上尽最大努力提供相应的介绍及操作指引,但飞腾在此明确声明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保证。

本文档中所有内容,包括但不限于图片、架构设计、页面布局、文字描述,均由飞腾和/或其关联公司依法拥有其知识产权,包括但不限于商标权、专利权、著作权等。非经飞腾和/或其关联公司书面同意,任何人不得擅自使用、修改,复制上述内容。


飞腾开发者
6 声望3 粉丝

飞腾开发者技术小助手,定期分享飞腾技术文档,助力开发者打怪升级。更多材料获取:[链接]