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