【大数据】分布式数据库HBase下载安装教程

目录

1.下载安装

2.配置

2.1.启动hadoop

2.2.单机模式

2.3.伪分布式集群


1.下载安装

HBase和Hadoop之间有版本对应关系,之前用的hadoop是3.1.3,选择的HBase的版本是2.2.X。

下载地址:

Index of /dist/hbase

配置环境变量:

之前在PATH中已经配置了JAVA的环境变量,直接用:隔开,追加一个hbase的环境变量

复制代码
export JAVA_HOME=/jdk/jdk8
export PATH=$JAVA_HOME/bin:$PATH:/hbase/hbase-2.2.2/bin
export CLASSPATH="."

刷新环境变量:

复制代码
 source /etc/profile

查看是否生效:

复制代码
hbase version

2.配置

HBASE有三种模式:

  • 单机模式

  • 伪分布式模式

  • 分布式模式

分布式模式太吃机器性能了,学习来说的话伪分布式模式就够了。本文将会讲解单机模式和伪分布式模式的配置。

运行HBase的前置环境:

  • JDK

  • 对应版本的Hadoop

  • SSH

以上环境在我们之前安装hadoop的时候就已经安装过了,此处不再赘述。

2.1.启动hadoop

我用的Windows的wsl版本的ubuntu,所以没有用systemctl命令,而是用service命令来直接启动服务。

hbase依赖于hdfs,所以要先启动hdfs,hdfs依赖于ssh,所以最先启动ssh。

复制代码
service start ssh
./sbin/start-dfs.sh

2.2.单机模式

在HBase的单机模式下,所有HBase组件(包括HMaster、HRegionServer以及ZooKeeper)都运行在一个JVM进程中,且不依赖于Hadoop的HDFS,而是直接使用本地文件系统来存储数据。

HBase的配置文件所在位置:

复制代码
vi /hbase/hbase-2.2.2/conf/hbase-env.sh

配置如下内容:

复制代码
export JAVA_HOME=/jdk/jdk8/ #设置JDK路径
export HBASE_MANAGES_ZK=true #HBASE本身自带一个zookeeper,设置使用自带的zookeeper,而不是外界的

配置

复制代码
 vi /hbase/hbase-2.2.2/conf/hbase-site.xml

设置rootdir,用来存储hbase的数据,不设置数据的存储路径的话,每次重启hbase都会丢数据。

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

启动HBase:

复制代码
 ./bin/start-hbase.sh

进入交互式界面:

复制代码
 ./bin/hbase shell

在交互式界面可以指向hbase的命令:

list指令查看所有,exit命令退出交互式界面,stop-hbase.sh关闭hbase:

2.3.伪分布式集群

伪分布式模式模拟了分布式环境,但实际上所有HBase组件(包括HMaster、多个HRegionServer以及ZooKeeper)仍然运行在同一台物理机器上,但是每个组件都在各自的JVM进程中运行。此外,伪分布式模式会使用Hadoop的HDFS作为底层存储,这意味着数据会被分布在本地文件系统的不同目录中,模拟了分布式存储的效果。

配置hbase-env.sh:

复制代码
export HBASE_CLASSPATH=/hadoop/hadoop-3.1.3/etc/hadoop/ #配置hadoop的配置文件路径,挂载到hdfs上

配置hbase-site.xml:

复制代码
<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相关组件启动了

相关推荐
星恒随风15 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
吴名氏.17 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
爱码少年17 小时前
Springboot下如何将CSV文件数据导入H2、Mysql数据库表
数据库·mysql·csv
可乐ea18 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
阿义有问题19 小时前
MySQL 迁移达梦全流程实战:DTS 七步图解 + 对象名全大写适配(附踩坑清单)
数据库
猫猫不是喵喵.1 天前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
lsc_blog1 天前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
YIN_尹1 天前
【git原理与使用】git基本操作及底层原理(二)
大数据·git·elasticsearch
武子康1 天前
H3-World 写了 CPU offload,为什么还不能保证塞进 48GB?
大数据·人工智能·深度学习
墨痕诉清风1 天前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库