hbase安装(0.98.x)-LMS日志结构型数据库

本文详细介绍HBase在单机、伪分布式及完全分布式环境下的配置步骤,包括关键配置文件的修改、启动过程及常见问题排查。重点讲解如何在不同模式下调整参数以确保数据存储和访问的高效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:
数据库,按照数据库的存储结构来区分的话,
key-value数据结构:其中比较出名的有redis这种;
二叉树类型的数据结构:比较出名的是mysql和oracle;
LMS日志结构性数据库:就是hbase。

以下,大致讲解下hbase怎么去配置单机,伪分布式,完全分布式。

首先是hbase版本对应的信息如下:
在这里插入图片描述

前提条件,安装jdk 和 hadoop,并配置了环境变量

1.单机模式
直接解压安装包
tar -zxvf xxxxx.tar.gz
修改conf/hbase-site.xml,配置hbase使用的数据文件的位置,默认在/tmp/hbase-[username],此目录是linux的临时目录,可能会被系统清空,所以最好修改一下

			<property>
				<name>hbase.rootdir</name>
				<value>file:///<path>/hbase</value>
			</property>

2.伪分布式模式
修改conf/hbase-env.sh修改JAVA_HOME
export JAVA_HOME=xxxx
修改hbase-site.xml,配置使用hdfs

			<property>
				<name>hbase.rootdir</name>
				<value>hdfs://hadoop00:9000/hbase</value>
			</property>
			<property>
				<name>dfs.replication</name>
				<value>1</value>
			</property>

启动hbase

3.完全分布式模式
修改conf/hbase-env.sh修改JAVA_HOME
export JAVA_HOME=xxxx
修改hbase-site.xml,配置开启完全分布式模式
配置hbase.cluster.distributed为true。
配置hbase.rootdir设置为HDFS访问地址

			<property>
					<name>hbase.rootdir</name>
					<value>hdfs://hadoop00:9000/hbase</value>
				</property>
				<property>
					<name>hbase.cluster.distributed</name>
					<value>true</value>
				</property>
				<property>
					<name>hbase.zookeeper.quorum</name>
					<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
				</property>

修改conf/hbase-env.sh禁用对zookeeper的自动管理
export HBASE_MANAGES_ZK false

配置region服务器,修改conf/regionservers文件,其中配置所有hbase主机,每个主机名独占一行,hbase启动或关闭时会按照该配置顺序启动或关闭主机中的hbase

HBASE配置文件说明
		hbase-env.sh配置HBase启动时需要的相关环境变量
		hbase-site.xml配置HBase基本配置信息
		HBASE启动时默认使用hbase-default.xml中的配置,
		如果需要可以修改hbase-site.xml文件,此文件中的配  置将会覆盖hbase-default.xml中的配置
		修改配置后要重启hbase才会起作用
	启动集群
		启动zookeeper
		启动hadoop
		启动hbase
		访问http://xxxxx:60010来访问web界面,通过web见面管理hbase
		也可以通过hbase shell脚本来访问bhase

	启动备用master实现高可用
		hbase-daemon.sh start master

	关闭集群
		stop-hbase.sh

**安装教程记录:**解压对应的文件,如图
在hbase目录打开。以下的bin、conf、lib文件自然不用多说解释。habase-webapps。类似tomcat的同名文件。
提供页面访问hbase

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

habse-site.xml。此为hbase的核心配置文件
打开它。

在这里插入图片描述

发现空白。意思就是你不配置。就会采用默认的配置
配置单机的hbase环境,记得要在对应的文件上创建对应的tmp文件

在这里插入图片描述

配置完成后,尝试去bin目录启动hbase
在这里插入图片描述
启动命令
在这里插入图片描述

启动后,查看jps,发现HMaster。那么,hbase真的启动起来了吗?
在这里插入图片描述

访问http://xxxxx:60010来访问web界面,通过web见面管理hbase
也可以通过hbase shell脚本来访问bhase

在这里插入图片描述

只要能看见这个界面,就可以了

如果想关闭呢?
在这里插入图片描述

但是呢,单机模式,只有一台机器,底层数据也没有存到habase里面,而是存到了我指定的
在这里插入图片描述

这里对应的设置文件夹中。当然,不设置也可以。不设置会存在linux的临时目录,重启就可能丢失。

这个模式的存在意义,就是基本能用,拿来测试一下。

伪分布式的设置。差别就是如图的设置

在这里插入图片描述

那么,在底层数据的存储方面,就是把数据存到了hdfs里面,体现在这里对应的设置上。把数据真正的存到了hadoop上。
不过,伪分布式依然是单机环境,依然还是用在测试、开发环境上。在这里插入图片描述

在hbase按照目录下的conf下
在这里插入图片描述

找到hbase-env,sh,打开并编辑
在这里插入图片描述

找到对应的export设置,去掉注释。注意jdk要1.6版本以上
在这里插入图片描述

修改hbase-site.xml,配置开启完全分布式模式
配置hbase.cluster.distributed为true。
配置hbase.rootdir设置为HDFS访问地址

			<property>
					<name>hbase.rootdir</name>
					<value>hdfs://hadoop00:9000/hbase</value>
				</property>
				<property>
					<name>hbase.cluster.distributed</name>
					<value>true</value>
				</property>
				<property>
					<name>hbase.zookeeper.quorum</name>
					<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
				</property>

修改conf/hbase-env.sh禁用对zookeeper的自动管理
export HBASE_MANAGES_ZK false

配置region服务器,修改conf/regionservers文件,其中配置所有hbase主机,每个主机名独占一行,hbase启动或关闭时会按照该配置顺序启动或关闭主机中的hbase
--------------------------------------------------
~HBASE配置文件说明
hbase-env.sh配置HBase启动时需要的相关环境变量
hbase-site.xml配置HBase基本配置信息
HBASE启动时默认使用hbase-default.xml中的配置,如果需要可以修改hbase-site.xml文件,此文件中的配置将会覆盖hbase-default.xml中的配置
修改配置后要重启hbase才会起作用
--------------------------------------------------
但是伪分布式下,hadoop的副本只有一份。所以,要把这里的副本数也改为1
在这里插入图片描述

因为是这样,如果这里副本数你不告知hbase的话,那么hbase他还是会按照三份副本的数量去hdfs寻找blocket,会出现问题。所以你要告知hbase,副本数只有唯一一个。

配置完成后,启动hbase
在这里插入图片描述

发现启动失败
就去对应的日志,就是如图我框起来的,但是,打开的是log文件。这才是日志
在这里插入图片描述
在这里插入图片描述

启动日志很多,最新的日志都是在文本末尾处的。翻到最后一页去查看。

在这里插入图片描述

在这里插入图片描述

他连接被拒绝。这时,考虑刚才哪里需要连接,就是hadoop的hdfs。所以要保证hadoop的伪分布式能够起来.

在这里插入图片描述

再重新启动hbase。启动后,如果jps如下图所示,那么就是成功了
在这里插入图片描述

进去主页
在这里插入图片描述

看到下面句子,就是表明数据存储在hdfs上
在这里插入图片描述

--------------完全分布式部署重点--------------

## 以下是完全分布式的部分说明

在这里插入图片描述

而且,注意是hbase对zk的管理
如图,为何要设置false。由于此处,默认为true。启动的时候,hadoop01-03启动会自动帮助上面的zk启动,。那么,在关闭hadoop01-03的时候,zk也会被关闭。如果改了false,那么hbase对zk的控制权就没有了。要自己先启动zk,再去启动hbase。
但是,一个机器上,zk不可能只为hbase提供服务。还会为其他技术提供服务,那万一就是其他服务没有了zk,其他服务就出问题了,那么就尴尬了。

**配置region服务器,修改conf/regionservers文件,**其中配置所有hbase主机,每个主机名独占一行,hbase启动或关闭时会按照该配置顺序启动或关闭主机中的hbase。配置如下图。加入其他hadoop集群的主机名字

在这里插入图片描述

配置的顺序要注意,顺序决定了启动的顺序。

启动之前,注意HMaster有没有启动,还有hadoop的启动

但是,我这里做了三台hbase节点:具体进程如下,请详细看
hadoop01
在这里插入图片描述

hadoop02
在这里插入图片描述

hadoop03
在这里插入图片描述

三台主机hbase高可用。其中关系如下:
三台虚拟机,配置hostname和免密登录(名字分别为hadoop01至hadoop03)
zk服务安装在三台虚拟机
hbase安装在三台虚拟机中
hadoop伪分布式安装在hadoop01
hbase的存储文件放在hdfs上。
zk做hbase的高可用。

这里放置一下总结:zk主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理、Leader 选举、队列管理等。

首先,保证虚拟机hadoop伪分布式可用。
第二,注意,注意,zookeeper一定要配置zk集群,注意注意。一定要注意,我就是忘了。判断zk集群成功的话,就是在bin下面执行 sh zkServer.sh status 里面是leader或者follower

时间不够,只能写到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值