基于飞腾平台的Hbase的安装配置

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

​​​

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

1 介绍

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

2 环境要求

2.1 硬件要求

硬件要求如下表所示。

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

2.2 操作系统要求

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

项目 说明
CentOS 8
Kernel 4.18.0-193.el8.aarch64

2.3 软件环境要求

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

项目 说明
JDK 11.0.11
Maven 3.3.9
Protpbuf 2.6.1
Hadoop 3.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安装包时,要选择编译好的,可以直接使用的压缩包,如下图所示:

2)解压压缩包

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

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

>>bin/hbase version

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

出现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

配置完成后保存并退出。

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

保存并退出。

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>

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

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

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

>> jps

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

4.2 启动Hbase

切换回到安装Hbase的目录:

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

启动Hbase:

>> bin/start-hbase.sh

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

输入命令jps:

>> jps

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

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和其他飞腾商标均为飞腾信息技术有限公司的商标。

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

注意

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

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

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

相关推荐
CoolTiger、2 分钟前
【Vmware16安装教程】
linux·虚拟机·vmware16
m0_7417688533 分钟前
使用docker的小例子
运维·docker·容器
学习3人组1 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
高兴就好(石1 小时前
DB-GPT部署和试用
数据库·gpt
厨 神1 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
这孩子叫逆1 小时前
6. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
数据库·mysql
Karoku0662 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
懒洋洋的华3692 小时前
消息队列-Kafka(概念篇)
分布式·中间件·kafka
geek_Chen012 小时前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
码农郁郁久居人下2 小时前
Redis的配置与优化
数据库·redis·缓存