Hbase伪分布安装配置

Hbase安装配置

Hbase安装前提

  • JDK
  • Hadoop(Hadoop自带了zookeeper, 所以不需要额外进行下载)

下载Hbase压缩包

Hbase下载

软件版本兼容性

Hadoop和Hbase

Hadoop和Hbase的匹配关系可以查看Hbase官方文档,搜索‘Hadoop version support matrix’: http://hbase.apache.org/book.html#basic.prerequisites

HBase与Hadoop版本对应关系如下:

图片描述

查看自己的hadoop版本为2.10.2

image-20230410151919747

release中的Hbase的2.3.x系列版本

image-20230410151800846

Hbase和JDK

HBase与JDK版本对应关系如下:

图片描述

image-20230410155934961

软件安装

软件位置

/usr/loca/hbase

image-20230417155107218

创建数据保存和日志保存文件夹

hbase_data 用于保存hbase产生数据的目录

hbase_log 用于记录hbase操作的日志目录

zookeeper_data 用于保存zookeeper产生数据的目录

image-20230417155300092

修改配置文件

修改hbase-site.xml文件

在Hadoop、HBase等Apache项目中,通常有一些默认的配置文件,如hadoop-default.xmlhbase-default.xml。这些默认的配置文件包含了项目的默认设置。

在部署这些项目时,为了避免直接修改默认配置文件,我们通常会创建一个名为<软件名>-site.xml的新配置文件,如hadoop-site.xmlhbase-site.xml。这个"site"后缀表示这些配置是针对您特定部署环境的。这样,在项目更新时,您可以保留您的部署特定设置,而不必担心与默认设置发生冲突。这些"site"配置文件中的设置会覆盖默认配置文件中的相应设置。

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

  <property>
    <name>hbase.rootdir</name>
    <value>file:///usr/local/hbase/hbase-2.3.1/hbase_data</value> <!-- hbase的data保存目录,需要手动创建 -->
  </property>

  <property>
    <name>hbase.zookeeper.quorum</name> <!-- 表示使用hbase自带的zookeeper -->
    <value>localhost</value>
  </property>

  <property>
    <name>hbase.zookeeper.property.clientPort</name> <!-- zookeeper的端口号 -->
    <value>2181</value>
  </property>

  <property>
    <name>hbase.zookeeper.property.dataDir</name> <!-- zookeeper的data保存目录 -->
    <value>/usr/local/hbase/hbase-2.3.1/zookeeper_data</value>
  </property>

修改hbase-env.sh文件

添加自己的Java和Hadoop变量

以及日志保存目录变量

export JAVA_HOME=/usr/local/Java/jdk1.8.0_361
export HADOOP_HOME=/usr/local/hadoop
export HBASE_MANAGES_ZK=false
export HBASE_LOG_DIR=/usr/local/hbase/hbase-2.3.1/hbase_log

修改~/.bashrc文件

添加hbase的环境变量

使得能够全局使用bin中的命令

#hbase
export HBASE_HOME=/usr/local/hbase/hbase-2.3.1
export PATH=$PATH:$HBASE_HOME/bin

启动hbase并验证

使用start-hbase.sh进行启动

使用jps进行验证, 如果出现hbase相关的HRegionServerHMaster进行则说明启动成功

image-20230417160239413

权限问题Permission denied

修改用户和用户组

更改目标目录的所属用户和所属用户组为当前用户

sudo chown -R yourUserName:yourUserName <floderName>

修改目标目录的权限

通常出现报错都是因为当前用户对目标文件夹没有写权限

所以需要开放该目录对当前用户的写权限

chmod -R 755 folder: 这个命令用于更改指定文件夹(以及其子文件夹和文件)的权限。

权限是以三位数字表示的,每个数字分别代表文件所有者文件所属组其他用户的权限。

例如755表示:

  • 所有者(第一个数字,即7):具有读、写和执行权限(7 = 4 + 2 + 1,其中4表示读权限,2表示写权限,1表示执行权限
  • 用户组(第二个数字,即5):具有读和执行权限(5 = 4 + 1)
  • 其他用户(第三个数字,即5):具有读和执行权限(5 = 4 + 1)

所以在确定当前用户在目标目录或文件的用户组中,可以使用一下命令进行权限的修改

sudo chown -R 775 <floderName>

SLF4J问题: Class path contains multiple SLF4J bindings.

SLF4J的多重绑定问题:

这个问题是由于在类路径中找到了多个SLF4J绑定导致的。虽然这个问题不会直接导致HBase启动失败,但建议解决它以避免潜在的问题。

要解决这个问题,可以从Hadoop或HBase的lib目录中删除其中一个绑定。

可以删除HBase的lib/client-facing-thirdparty目录下的slf4j-log4j12-1.7.30.jar文件。这样SLF4J就只会使用Hadoop中的slf4j-reload4j-1.7.36.jar绑定。

Hbase应用结合

Hbase + Redis

Hbase + solr

构建用户画像

参考文档

Hadoop、Hbase、Hive和zookeeper版本兼容关系

linux上部署最新版本zookeeper伪分布式集群

HBase 伪分布式模式安装与启动

HBase集群教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Every DAV inci

小辣鸡一枚,不求打赏啦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值