HBase之完全分布式

本文详细介绍了如何配置HBase的完全分布式环境,包括内置和外部Zookeeper的设置,涉及HBase与Hadoop的集成、环境变量配置、Zookeeper配置、表的操作以及启动和测试流程。还探讨了HQuorumPeer和'Hbase Table already exist'问题的解决方法。

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

HBase的伪分布式依赖于Hadoop的环境,所以需要配置Hadoop,完全分布式,HA都可以。这里依照最简单的Hadoop完全分布式配置。
HBASE 理论

1. Hadoop的配置

Hadoop 完全分布式
Hadoop HA

2.HBase完全分布式[内置zookeeper]

基于Hadoop伪分布式

[root@hadoop001 ~]# /export/conf/jps.sh 
==========hadoop001的JPS=============
3859 ResourceManager
3525 DataNode
4374 Jps
3322 NameNode
3994 NodeManager
==========hadoop002的JPS=============
5296 SecondaryNameNode
5473 NodeManager
5665 Jps
5101 DataNode
==========hadoop003的JPS=============
3360 NodeManager
3552 Jps
3153 DataNode

2.1 copy文件到/export/software下并解压hbase

[root@hadoop001 software]# ls -ll
total 488868
-rw-r--r-- 1 root root 214092195 Apr 18 18:54 hadoop-2.7.3.tar.gz
-rw-r--r-- 1 root root 104659474 May 26  2021 hbase-1.2.6-bin.tar.gz
-rw-r--r-- 1 root root 146799982 Apr 18 18:55 jdk-8u311-linux-x64.tar.gz
-rw-r--r-- 1 root root  35042811 Mar 24 00:37 zookeeper-3.4.10.tar.gz

[root@hadoop001 software]# tar -xzvf /export/software/hbase-1.2.6-bin.tar.gz -C /export/servers/
[root@hadoop001 software]# cd /export/servers/
[root@hadoop001 servers]# ls -ll
total 12
drwxr-xr-x 10 root  root   150 Jun  6 18:12 ha
lrwxrwxrwx  1 root  root    29 Jun  6 20:41 hadoop -> /export/servers/hadoop-2.7.3/
drwxr-xr-x 10 root  root  4096 Aug 17  2016 hadoop-2.7.3
drwxr-xr-x  7 root  root   150 Jun 12 06:57 hbase-1.2.6
lrwxrwxrwx  1 root  root    13 Apr 18 18:59 jdk -> jdk1.8.0_311/
drwxr-xr-x  8 10143 10143 4096 Sep 27  2021 jdk1.8.0_311
lrwxrwxrwx  1 root  root    17 May 30 18:43 zookeeper -> zookeeper-3.4.10/
drwxr-xr-x 10  1001  1001 4096 Mar 23  2017 zookeeper-3.4.10

2.2 配置hbase环境变量

[root@hadoop001 servers]# vi /etc/profile.d/hadoop_env.sh
#在这里插入代码片
export JAVA_HOME=/export/servers/jdk
export ZOOKEEPER_HOME=/export/servers/zookeeper
export HADOOP_HOME=/export/servers/hadoop
export HBASE_HOME=/export/servers/hbase-1.2.6
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

#source /etc/profile.d/hadoop_env.sh使得配置生效
[root@hadoop001 servers]# source /etc/profile.d/hadoop_env.sh

2.3 为 $HBASE_HOME/conf/hbase-env.sh配置JAVA_HOME

由于HBase依赖JAVA_HOME环境变量,所以要编辑$HBASE_HOME/conf/hbase-env.sh文件,并取消注释以#export JAVA_HOME =开头的行,然后将其设置为Java安装路径。

[root@hadoop001 servers]# vi $HBASE_HOME/conf/hbase-env.sh
#取消JAVA_HOME的注释,并设置JAVA_HOME
export JAVA_HOME=/export/servers/jdk

2.4 配置hbase使用的 zookeeper

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
# export HBASE_MANAGES_ZK=true

语句【export HBASE_MANAGES_ZK=true】表示采用HBase自带的ZooKeeper管理。如果想用外部ZooKeeper管理HBase,可以自行安装、配置ZooKeeper,再把该句删除。

2.5 $HBASE_HOME/conf/hbase-site.xml

[root@hadoop001 servers]# vi $HBASE_HOME/conf/hbase-site.xml

<configuration>
  <!--HBase的运行模式,false是单机模式,true是分布式模式。若为false,HBase和Zookeeper会运行在同一个JVM里面-->
  <property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
  </property> 
  <!--region server的共享目录,用来持久化HBase-->
  <property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://hadoop001:9000/hbase</value> 
  </property> 
  <!--Zookeeper集群的地址列表-->
  <property> 
    <name>hbase.zookeeper.quorum</name> 
    <value>hadoop001,hadoop002,hadoop003</value>
  </property> 
  <!--HBase Master web 界面端口-->
  <property> 
    <name>hbase.master.info.port</name> 
    <value>60010</value> 
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/export/data/hbase/zookeeper</value>
  </property>
</configuration>

2.6 配置 $HBASE_HOME/conf/regionservers

[root@hadoop001 servers]# vi $HBASE_HOME/conf/regionservers
#修改内容如下
hadoop001
hadoop002
hadoop003
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值