HBase 分布式搭建

前言:

请先确保 Hadoop 集群搭建完成。

搭建环境介绍:

三台主机,一主两从,系统为 Centos 7.5。

相关组件版本信息如下:

  • jdk1.8
  • hadoop-3.1.3
  • zookeeper-3.5.7
  • hbase-2.2.3

注意,以下安装教程中涉及到的路径请替换成自己的!

ZooKeeper 安装

解压并改名
# 解压文件
cd /opt/software/
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

# 改名
cd /opt/module
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
添加环境变量
vim /etc/profile

在文件末尾插入如下代码:

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin

最后使修改生效:source /etc/profile

配置服务器编号

在 ZooKeeper 安装目录下创建一个文件夹 zkData,在 zkData 中创建一个文件 myid 用以保存服务器编号。

# 进入 ZooKeeper 安装目录
cd $ZOOKEEPER_HOME

# 创建文件夹
mkdir zkData

# 创建文件并添加编号
cd zkData

echo 1 > myid
配置 zoo.cfg 文件
# 进入 ZooKeeper 的配置文件目录
cd $ZOOKEEPER_HOME/conf/

# 修改文件名称
mv zoo_sample.cfg zoo.cfg

# 编辑 zoo.cfg 文件
vim zoo.cfg

修改数据的存储位置,指定为:/opt/module/zookeeper-3.5.7/zkData

然后在文件末尾添加服务器配置,如下所示:

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

#监听所有IP
quorumListenOnAllIPs=true

注意,每一行的后面都不要有空格。

在这里插入图片描述

添加完成后保存并退出。

文件分发与同步

在 master 服务器中将 ZooKeeper 安装文件分发到其它服务器上。

scp -r /opt/module/zookeeper-3.5.7/ slave1:/opt/module/
scp -r /opt/module/zookeeper-3.5.7/ slave2:/opt/module/

在 master 服务器中将环境变量文件同步至其它服务器中。

rsync /etc/profile root@slave1:/etc/profile
rsync /etc/profile root@slave2:/etc/profile

我们分别进入 slave1、slave2 服务器中,先初始化环境变量,然后修改 ZooKeeper 编号,编辑 myid 文件,依次写入为:23

启动 ZooKeeper

我们分别进入 master、slave1、slave2 服务器中,启动 ZooKeeper 服务。

# 启动 ZooKeeper
zkServer.sh start

启动完成后会显示出如下 STARTED 提示:

在这里插入图片描述

我们也可以通过命令 jps 来检查 ZooKeeper 服务是否启动,如下所示:

在这里插入图片描述

HBase 安装

解压
cd /opt/software/

# 解压 HBase 安装包
tar -zxvf hbase-2.2.3-bin.tar.gz -C /opt/module/
配置环境变量

通过 vim /etc/profile 命令编辑配置文件,在文件末尾输入如下代码(不可以有空格):

#HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.2.3
export PATH=$PATH:$HBASE_HOME/bin

然后,保存并退出。执行命令 source /etc/profile,使刚刚的配置生效。

配置 HBase 相关文件

首先切换到 HBase 安装文件的 conf 目录下。

cd $HBASE_HOME/conf

1、修改 hbase-env.sh 文件

在文件末尾添加如下内容:

export HBASE_MANAGES_ZK=false
export JAVA_HOME=/opt/module/jdk1.8

添加完成后保存并退出。

2、配置 hbase-site.xml 文件

configuration 标签中添加如下内容:

   <!--指定 zookeeper 服务器 -->
   <property>
      <name>hbase.zookeeper.quorum</name>
      <value>master,slave1,slave2</value>
   </property>

   <!--指定 hbase 根路径 -->
   <property>
      <name>hbase.rootdir</name>
      <value>hdfs://master:8020/hbase</value>
   </property>

   <!--将 hbase 设置为分布式部署。 -->
   <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
   </property>
  
   <!-- 避免出现启动错误。 -->
   <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
   </property>

修改完成后保存并退出。

3、修改 regionservers 文件

添加如下内容:

master
slave1
slave2

添加完成后保存并退出。

解决 log4j 兼容性问题

HBase 与 Hadoop 在运行时会出现 log4j 兼容性问题,这是因为 HBase 的 log4j 版本与 Hadoop 的产生了冲突,我们这里将 HBase 的 log4j 设置为备份。

mv /opt/module/hbase-2.2.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar /opt/module/hbase-2.2.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar.bak
文件分发与同步

将 master 服务器的 HBase 安装文件分发到 slave1、slave2 服务器上。

cd /opt/module

scp -r hbase-2.2.3/ slave1:/opt/module
scp -r hbase-2.2.3/ slave2:/opt/module

将 master 服务器的环境变量文件与 slave1、slave2 服务器进行同步。

rsync /etc/profile slave1:/etc/profile
rsync /etc/profile slave2:/etc/profile

在 slave1、slave2 服务器上分别执行 source /etc/profile 使发送来的配置生效。

启动 HBase 集群

只需要在 master 服务器上执行。

# 启动 HBase 服务
start-hbase.sh

启动后会出现如下提示:

在这里插入图片描述

验证 HBase 节点在三台机器上的运行情况,正常启动如下图所示:

在这里插入图片描述

HBase 分布式搭建完成啦!

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
HBase是一个基于Hadoop分布式NoSQL数据库系统,它采用了Hadoop分布式文件系统HDFS作为底层的存储支持,具有高可靠性、高可扩展性、高性能等特点,适用于大规模数据的存储和访问。 下面是HBase完全分布式搭建的步骤: 1. 安装Hadoop 在所有节点上安装Hadoop,并确保Hadoop已经正确配置并且能够正常运行。 2. 安装Java 在所有节点上安装Java,建议使用Oracle JDK 1.8或更高版本。 3. 下载并解压HBase 从官网下载HBase的tar包并解压,将解压后的文件夹放到所有节点的相同位置,建议使用 /opt 目录。 4. 配置HBase 在所有节点上修改HBase的配置文件 hbase-site.xml,其中需要配置以下内容: - Hadoop的配置路径:hbase.rootdir - ZooKeeper地址:hbase.zookeeper.quorum - RegionServer内存大小:hbase.regionserver.heapsize - Master内存大小:hbase.master.heapsize 5. 启动HBase 在所有节点上启动HBase,可以使用以下命令: ``` $HBASE_HOME/bin/start-hbase.sh ``` 6. 验证HBase是否正常运行 使用HBase Shell进行验证。在任意节点上执行以下命令: ``` $HBASE_HOME/bin/hbase shell ``` 在HBase Shell中输入以下命令: ``` list ``` 如果输出了系统表名,则说明HBase已经成功搭建。 7. 添加RegionServer 如果需要添加新的RegionServer,可以在新节点上安装HBase并配置好Hadoop和Java,然后将新节点添加到HBase集群中。具体操作步骤如下: - 修改新节点的hbase-site.xml文件。 - 在新节点上启动HBase。 ``` $HBASE_HOME/bin/hbase-daemon.sh start regionserver ``` - 在HBase Master节点上使用以下命令添加新节点: ``` $HBASE_HOME/bin/hbase shell add_regionserver 'new_node:port' ``` 其中new_node是新节点的主机名或IP地址,port是新节点的RegionServer端口号。 至此,HBase完全分布式搭建完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

月亮给我抄代码

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值