HBase部署与启动
(1)下载、解压缩,在/etc/profile全局配置文件中添加
export HBASE_HOME=/export/servers/hbase-2.4.5
export PATH=$PATH:$HBASE_HOME/bin
(2)配置hbase-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_161
export HBASE_MANAGES_ZK=false # 使用外部的ZooKeeper
(3)配置hbase-site.xml
<configuration>
<!-- hbase数据存放的目录,若用本地目录,必须带上file://,否则hbase启动不起来 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://my2308-host:9000/hbase</value>
</property>
<!-- zk的位置 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
<description>my2308-host:2181</description>
</property>
<!--hbase.cluster.distributed表示是否分布式部署,指定为true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- hbase主节点的位置 -->
<property>
<name>hbase.master</name>
<value>my2308-host:60000</value>
</property>
</configuration>
(3)拷贝zookeeper的conf/zoo.cfg到hbase的conf/下
(4)启动HBase
执行start-hbase.sh脚本
注意:为了方便启动,可在/etc/profile中添加环境变量
export HBASE_HOME=/export/servers/hbase-2.4.5
export PATH=$PATH:$HBASE_HOME/bin
HBase 前提条件:
- 启动Hadoop集群:sbin/start-all.sh
- 启动ZooKeeper服务:zkServer.sh start
- 启动HBase服务:start-hbase.sh
操作HBase之前为什么要先启动ZooKeeper服务?
ZooKeeper是一个分布式协调服务,而HBase是一个分布式的面向列的NoSQL数据库。具体来说:
(1)ZooKeeper为HBase提供了可靠的协调服务:HBase使用ZooKeeper来进行集群中各个节点之间的通信和协调。
(2)ZooKeeper用于管理HBase元数据:HBase通过ZooKeeper来存储和管理其表结构、Region服务器的位置信息以及其他元数据。客户端可以通过与ZooKeeper交互获取这些元数据,从而了解如何访问和操作HBase集群中的数据。
(3)ZooKeeper监控HBase集群健康状态:ZooKeeper可以监控和报告HBase集群中各个节点的健康状态。它可以检测到节点故障并触发相应的处理机制,例如重新选择领导者或恢复失效节点。
总体上说,ZooKeeper提供了可靠的分布式协调服务,而HBase利用ZooKeeper来实现高可用性、数据一致性和元数据管理等功能,从而使得在大规模分布式环境下运行的HBase数据库更加稳定和可靠。