1.4 HBase 安装与部署


文档摘要

1.4 HBase 安装与部署 1.4 HBase 安装与部署 1.4.1 部署模式简介 HBase 支持三种部署模式,根据实际需求选择合适的模式: 单机模式 (Standalone Mode): 所有 HBase 守护进程(HMaster, HRegionServer, ZooKeeper)运行在同一个 JVM 实例中。这种模式适用于开发、测试以及学习 HBase。不需要 Hadoop 环境。 伪分布式模式 (Pseudo-Distributed Mode): 所有 HBase 守护进程运行在同一个机器上,但每个守护进程运行在独立的 JVM 实例中。需要 Hadoop 环境,但所有 Hadoop 守护进程也运行在同一台机器上。适用于开发、测试以及对 HBase 的基本功能进行探索。

1.4 HBase 安装与部署

1.4 HBase 安装与部署

1.4.1 部署模式简介

HBase 支持三种部署模式,根据实际需求选择合适的模式:

  • 单机模式 (Standalone Mode): 所有 HBase 守护进程(HMaster, HRegionServer, ZooKeeper)运行在同一个 JVM 实例中。这种模式适用于开发、测试以及学习 HBase。不需要 Hadoop 环境。

  • 伪分布式模式 (Pseudo-Distributed Mode): 所有 HBase 守护进程运行在同一个机器上,但每个守护进程运行在独立的 JVM 实例中。需要 Hadoop 环境,但所有 Hadoop 守护进程也运行在同一台机器上。适用于开发、测试以及对 HBase 的基本功能进行探索。

  • 完全分布式模式 (Fully-Distributed Mode): HBase 守护进程运行在集群中的不同机器上。需要一个完整的 Hadoop 集群环境。适用于生产环境,能够提供高可用性和可扩展性。

1.4.2 单机模式安装与部署

单机模式是最简单的 HBase 部署方式。

1. 前提条件:

  • Java Development Kit (JDK) 1.8 或更高版本

2. 下载 HBase:

从 Apache HBase 官方网站下载最新稳定版本的 HBase。

wget https://downloads.apache.org/hbase/2.5.4/hbase-2.5.4-bin.tar.gz tar -zxvf hbase-2.5.4-bin.tar.gz cd hbase-2.5.4

3. 配置 HBase:

编辑 conf/hbase-site.xml 文件,添加以下配置:

<configuration> <property> <name>hbase.rootdir</name> <value>file:///tmp/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/tmp/zookeeper</value> </property> </configuration>
  • hbase.rootdir: HBase 数据存储的根目录。 这里使用本地文件系统,因此前缀是 file:///。 在生产环境中,应使用 HDFS。

  • hbase.zookeeper.property.dataDir: ZooKeeper 数据存储目录。

4. 启动 HBase:

./bin/start-hbase.sh

5. 验证 HBase:

通过 HBase Shell 验证 HBase 是否成功启动:

./bin/hbase shell

如果成功进入 HBase Shell,则表示 HBase 已成功启动。

6. 停止 HBase:

./bin/stop-hbase.sh

Graph TD 图示:

1.4.3 伪分布式模式安装与部署

伪分布式模式需要 Hadoop 环境。

1. 前提条件:

  • Java Development Kit (JDK) 1.8 或更高版本

  • Hadoop 2.7 或更高版本

2. 安装和配置 Hadoop:

按照 Hadoop 官方文档安装和配置 Hadoop。 确保 Hadoop 可以正常启动和运行。 配置包括 core-site.xml, hdfs-site.xml, mapred-site.xml, 和 yarn-site.xml

3. 下载 HBase:

从 Apache HBase 官方网站下载最新稳定版本的 HBase。

wget https://downloads.apache.org/hbase/2.5.4/hbase-2.5.4-bin.tar.gz tar -zxvf hbase-2.5.4-bin.tar.gz cd hbase-2.5.4

4. 配置 HBase:

编辑 conf/hbase-site.xml 文件,添加以下配置:

<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/tmp/zookeeper</value> </property> </configuration>
  • hbase.rootdir: HBase 数据存储的根目录。 这里使用 HDFS,因此前缀是 hdfs://localhost:9000 是 Hadoop NameNode 的地址。

  • hbase.cluster.distributed: 设置为 true 表示 HBase 运行在分布式模式。

  • hbase.zookeeper.quorum: ZooKeeper 集群的地址。 在伪分布式模式下,ZooKeeper 运行在同一台机器上。

  • hbase.zookeeper.property.dataDir: ZooKeeper 数据存储目录。

编辑 conf/hbase-env.sh 文件,设置 JAVA_HOMEHBASE_MANAGES_ZK:

export JAVA_HOME=/path/to/your/jdk export HBASE_MANAGES_ZK=false
  • JAVA_HOME: JDK 的安装目录。

  • HBASE_MANAGES_ZK: 设置为 false 表示 HBase 不管理 ZooKeeper,需要单独启动 ZooKeeper。 如果设置为 true,HBase 会自动启动一个 ZooKeeper 实例,但仅适用于单机和伪分布式模式。

5. 启动 Hadoop:

start-dfs.sh start-yarn.sh

6. 启动 ZooKeeper:

如果 HBASE_MANAGES_ZK 设置为 false,需要单独启动 ZooKeeper。

zkServer.sh start

7. 启动 HBase:

./bin/start-hbase.sh

8. 验证 HBase:

通过 HBase Shell 验证 HBase 是否成功启动:

./bin/hbase shell

如果成功进入 HBase Shell,则表示 HBase 已成功启动。

9. 停止 HBase:

./bin/stop-hbase.sh

10. 停止 ZooKeeper:

zkServer.sh stop

11. 停止 Hadoop:

stop-yarn.sh stop-dfs.sh

Graph TD 图示:

1.4.4 完全分布式模式安装与部署

完全分布式模式需要在多台机器上安装和配置 Hadoop 和 HBase。

1. 前提条件:

  • Java Development Kit (JDK) 1.8 或更高版本

  • Hadoop 2.7 或更高版本

  • 至少三台机器 (一台 NameNode, 一台 ResourceManager, 至少一台 DataNode/NodeManager 和 HRegionServer)

  • SSH 免密码登录

2. 安装和配置 Hadoop:

按照 Hadoop 官方文档在集群中的所有机器上安装和配置 Hadoop。 配置包括 core-site.xml, hdfs-site.xml, mapred-site.xml, 和 yarn-site.xml。 确保 Hadoop 可以正常启动和运行。

3. 下载 HBase:

从 Apache HBase 官方网站下载最新稳定版本的 HBase。 将 HBase 安装包解压到集群中的所有机器的相同目录下。

wget https://downloads.apache.org/hbase/2.5.4/hbase-2.5.4-bin.tar.gz tar -zxvf hbase-2.5.4-bin.tar.gz cd hbase-2.5.4

4. 配置 HBase:

编辑 conf/hbase-site.xml 文件,添加以下配置:

<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://namenode:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>zk1,zk2,zk3</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/path/to/zookeeper/data</value> </property> <property> <name>hbase.master.info.port</name> <value>16010</value> </property> </configuration>
  • hbase.rootdir: HBase 数据存储的根目录。 这里使用 HDFS,因此前缀是 hdfs://namenode:9000 是 Hadoop NameNode 的地址。

  • hbase.cluster.distributed: 设置为 true 表示 HBase 运行在分布式模式。

  • hbase.zookeeper.quorum: ZooKeeper 集群的地址。 zk1,zk2,zk3 是 ZooKeeper 集群中所有 ZooKeeper 节点的 hostname 或 IP 地址。

  • hbase.zookeeper.property.dataDir: ZooKeeper 数据存储目录。

  • hbase.master.info.port: HBase Master 的 Web UI 端口。

编辑 conf/hbase-env.sh 文件,设置 JAVA_HOMEHBASE_MANAGES_ZK:

export JAVA_HOME=/path/to/your/jdk export HBASE_MANAGES_ZK=false
  • JAVA_HOME: JDK 的安装目录。

  • HBASE_MANAGES_ZK: 设置为 false 表示 HBase 不管理 ZooKeeper,需要单独启动 ZooKeeper。

编辑 conf/regionservers 文件,列出所有 HRegionServer 节点的 hostname 或 IP 地址。 每行一个地址。

regionserver1 regionserver2 regionserver3

5. 配置 ZooKeeper:

在 ZooKeeper 集群中的所有机器上安装和配置 ZooKeeper。

6. 启动 Hadoop:

在 NameNode 节点上启动 HDFS:

start-dfs.sh

在 ResourceManager 节点上启动 YARN:

start-yarn.sh

7. 启动 ZooKeeper:

在 ZooKeeper 集群中的所有机器上启动 ZooKeeper:

zkServer.sh start

8. 启动 HBase:

在 Master 节点上启动 HBase:

./bin/start-hbase.sh

9. 验证 HBase:

通过 HBase Shell 验证 HBase 是否成功启动:

./bin/hbase shell

如果成功进入 HBase Shell,则表示 HBase 已成功启动。 可以通过 HBase Web UI (http://master_node:16010) 监控 HBase 集群的状态。

10. 停止 HBase:

./bin/stop-hbase.sh

11. 停止 ZooKeeper:

在 ZooKeeper 集群中的所有机器上停止 ZooKeeper:

zkServer.sh stop

12. 停止 Hadoop:

在 ResourceManager 节点上停止 YARN:

stop-yarn.sh

在 NameNode 节点上停止 HDFS:

stop-dfs.sh

Graph TD 图示:

1.4.5 常见问题与解决方案

  • HBase 启动失败: 检查日志文件,查看错误信息。 常见原因包括:

    • JDK 版本不兼容

    • Hadoop 配置错误

    • ZooKeeper 配置错误

    • 防火墙阻止了端口访问

    • 内存不足

  • HBase Shell 连接失败: 检查 HBase 是否成功启动,以及 ZooKeeper 连接是否正常。

  • HRegionServer 无法启动: 检查 regionservers 文件是否配置正确,以及 HRegionServer 节点是否可以访问 NameNode 和 ZooKeeper。

1.4.6 总结

本章节详细介绍了 HBase 的三种部署模式,并提供了相应的安装和配置步骤。 根据实际需求选择合适的部署模式,并仔细检查配置信息,可以成功搭建 HBase 环境。 在实际部署过程中,可能会遇到各种问题,需要仔细阅读日志文件,并根据错误信息进行排查。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U