HBase2.5.4单机模式与伪分布式的安装与配置(Ubuntu系统)

HBase的安装也分为三种,单机模式、伪分布式模式、完全分布式模式;我们先来安装单机版。

一、环境准备

1. 系统要求

  • Ubuntu 20.04/22.04 LTS

  • Java 8(必须,HBase不兼容更高版本)

  • Hadoop(单机模式不需要,伪分布式模式和分布式模式需要)

  • SSH

  • Vim编辑器

如果以上内容没有安装,请回到Hadoop3.3.5的安装参考如何安装。

2. 验证基础环境

bash 复制代码
java -version  # 需显示1.8.x

ssh localhost   # 确保SSH免密登录正常

二、HBase下载安装

1.下载HBase

点击下面的地址下载HBase2.5.4安装文件HBase官网下载地址,找到hbase-2.5.4-bin.tar.gz文件,下载到本地。

2.安装HBase

使用FinalShell工具将hbase-2.5.4-bin.tar.gz文件上传至虚拟机目录:/home/wll/下载

解压安装包hbase-2.5.4-bin.tar.gz至路径 /usr/local,命令如下:

bash 复制代码
sudo tar -zxf /home/wll/下载/hbase-2.5.4-bin.tar.gz -C /usr/local

下面把hbase目录权限赋予给wll用户:

bash 复制代码
sudo chown -R wll /usr/local/hbase-2.5.4

3. 配置环境变量

将hbase2.5.4下的bin目录添加到path中,这样启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。

编辑~/.bashrc文件

bash 复制代码
vim ~/.bashrc

如果没有引入过PATH,请在~/.bashrc文件尾行添加如下内容:

bash 复制代码
export HBASE_HOME=/usr/local/hbase-2.5.4
export PATH=$PATH:{HBASE_HOME}/bin

如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,":"是分隔符。如下图:

编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:

bash 复制代码
source ~/.bashrc

4. 查看HBase版本

确定hbase安装成功,命令如下

bash 复制代码
/usr/local/hbase-2.5.4/bin/hbase version

三、HBase单机模式的配置

1. 配置文件/usr/local/hbase-2.5.4/conf/hbase-env.sh

配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:

bash 复制代码
vim /usr/local/hbase2.5.4/conf/hbase-env.sh

在hbase-env.sh 文件头部中添加如下代码:

bash 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_MANAGES_ZK=true             #使用HBase内置ZooKeeper

添加完成后:wq命令保存退出即可。

2. 配置文件/usr/local/hbase-2.5.4/conf/hbase-site.xml

用vi命令打开并编辑hbase-site.xml,命令如下:

bash 复制代码
vim /usr/local/hbase-2.5.4/conf/hbase-site.xml

在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase-2.5.4/hbase-tmp),配置如下:

html 复制代码
<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>file:///usr/local/hbase-2.5.4/hbase-tmp</value>
        </property>
</configuration>

3.启动与验证HBase

首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:

bash 复制代码
cd /usr/local/hbase-2.5.4
bin/start-hbase.sh
bin/hbase shell

上述三条命令中, bin/start-hbase.sh用于启动HBase,bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库。成功启动HBase,截图如下:


exit退出Hbase shell命令行模式:

若想停止HBase运行,命令如下:

bash 复制代码
bin/stop-hbase.sh

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase-2.5.4)下的logs子目录中的日志文件查看错误原因。

四、HBase伪分布模式的配置

1.配置/usr/local/hbase-2.5.4/conf/hbase-env.sh

用命令vim打开并编辑hbase-env.sh,命令如下:

bash 复制代码
vim /usr/local/hbase-2.5.4/conf/hbase-env.sh

配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK,

HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase-2.5.4/conf)

bash 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_CLASSPATH=/usr/local/hbase-2.5.4/conf 
export HBASE_MANAGES_ZK=true

2.配置/usr/local/hbase-2.5.4/conf/hbase-site.xml

用命令vim打开并编辑hbase-site.xml,命令如下:

bash 复制代码
vim /usr/local/hbase-2.5.4/conf/hbase-site.xml

修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设为true。若当前Hadoop集群运行在伪分布式模式下,在本机上运行,NameNode运行在9000端口。

html 复制代码
<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.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
</configuration>

hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式.

另外,上面配置文件中,hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。也就是说,如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误。

3.测试运行HBase

第一步:启动Hadoop集群

启动Hadoop集群的程序在/usr/local/hadoop-3.3.5/sbin/目录下,由于我们配置了HDDOOP环境变量,所以可以在任意目录下输入start-dfs.sh命令启动hadoop集群,jps查看启动进程。

bash 复制代码
start-dfs.sh

第二步:启动HBase

启动HBase的程序在/usr/local/hbase-2.5.4/bin/目录下,由于我们配置了HBase的环境变量,所以可以在任意目录下输入start-hbase.sh命令启动hadoop集群,jps查看启动进程,hbase-shell启动shell命令行窗口。

bash 复制代码
start-hbase.sh      #启动HBase
jps                 #查看启动进程
hbase-shell         #启动hbase shell

第三步:停止HBase运行

bash 复制代码
stop-hbase.sh
jps

若出现关闭HBase时,输入stop-hbase.sh命令一直处于等待状态。

解决方法:

首先停止HBase的主进程master,然后再执行停止命令。

bash 复制代码
hbase-daemon.sh stop master

stop-hbase.sh

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase-2.5.4)下的logs子目录中的日志文件查看错误原因。
这里启动关闭Hadoop和HBase的顺序一定是:
启动Hadoop--->启动HBase--->关闭HBase--->关闭Hadoop

相关推荐
深圳UMI17 分钟前
AI模型设计基础入门
大数据·人工智能
计算机毕业编程指导师21 分钟前
毕业设计选题推荐之基于Spark的在线教育投融数据可视化分析系统 |爬虫|大数据|大屏|预测|深度学习|数据分析|数据挖掘
大数据·hadoop·python·数据挖掘·spark·毕业设计·在线教育投融
白雪讲堂1 小时前
【GEO从入门到精通】生成式引擎与其他 AI 技术的关系
大数据·人工智能·数据分析·智能电视·geo
yangmf20402 小时前
Easysearch 冷热架构实战
java·大数据·elasticsearch·搜索引擎
2501_924730612 小时前
智慧城管复杂人流场景下识别准确率↑32%:陌讯多模态感知引擎实战解析
大数据·人工智能·算法·计算机视觉·目标跟踪·视觉检测·边缘计算
喵桑..3 小时前
视图是什么?有什么用?什么时候用?MySQL中的视图
数据库·mysql
小Tomkk4 小时前
数据仓库命名规范
大数据·数据仓库·spark
申耀的科技观察4 小时前
【观察】亚信科技:AI大模型交付引领,三大新引擎重构业务增长逻辑
大数据·人工智能·科技·重构
奋进小子5 小时前
达梦DISQL执行SQL和SQL脚本
数据库·sql