← 返回首页
HBase基础教程(四)
发表时间:2023-04-20 02:24:40
HBase伪分布式集群安装

HBase伪分布式集群安装。

1.hbase与JDK和Hadoop版本对应关系

hbase与jdk版本的对应关系。

hbase与hadoop版本的对应关系。

2.解压安装

tar -zxvf hbase-1.2.4-bin.tar.gz -C  /usr/local
cd /usr/local
mv hbase-1.2.4-bin hbase

3.配置hbase.env.sh

# The java implementation to use.  Java 1.7+ required.
export JAVA_HOME=/usr/local/jdk/

# 关闭HBase自带的Zookeeper,使用Zookeeper集群
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false

4.配置hbase-site.xml

<configuration>
  <property>
     <name>hbase.rootdir</name>
     <value>hdfs://localhost:9000/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <!--
    <value>/usr/local/hadoop/tmp/zookeeper</value>
    -->
    <value>/usr/local/zookeeper/data</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>

5.启动hbase

cd /usr/local/hbase/bin

[root@hadoop-master bin]# ./start-hbase.sh
starting master, logging to /usr/local/hbase/logs/hbase-root-master-hadoop-master.out
starting regionserver, logging to /usr/local/hbase/logs/hbase-root-1-regionserver-hadoop-master.out

#hbase shell观察hbase的运行状态。

[root@hadoop-master bin]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.4, r67592f3d062743907f8c5ae00dbbe1ae4f69e5af, Tue Oct 25 18:10:20 CDT 2016

hbase(main):001:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load

#jps观察hbase相关进程

[root@hadoop-master bin]# jps
19872 SecondaryNameNode
16128 Jps
6643 HMaster
14484 QuorumPeerMain
6789 HRegionServer
19638 DataNode
19438 NameNode

关于hbase的HQuorumPeer和QuorumPeerMain的问题:

首先启动hadoop,然后就来问题了:zookeeper和hbase的启动顺序是什么?

1).先启动hbase:hbase有内置的zookeeper,如果没有装zookeeper,启动hbase的时候会有一个HQuorumPeer进程。

2).先启动zookeeper:如果用外置的zookeeper管理hbase,则先启动zookeeper,然后启动hbase,启动后会有一个QuorumPeerMain进程。

两个进程的名称不一样: - HQuorumPeer表示hbase管理的zookeeper。 - QuorumPeerMain表示zookeeper独立的进程。

6.HDFS观察是否有hbase名空间

cd /usr/local/hadoop/bin

[root@hadoop-master bin]# hdfs dfs -ls /
Found 2 items
drwxr-xr-x   - root supergroup          0 2023-04-20 10:17 /hbase