HBase 是一个分布式的、面向列的开源数据库,基于 Google 的 Bigtable 论文构建,运行在 Hadoop 文件系统(HDFS)之上。它非常适合存储海量稀疏数据,广泛应用于日志分析、实时查询等场景。本教程将详细讲解如何在 CentOS 系统上安装和配置 HBase 数据库,即使是初学者也能轻松上手。
一、准备工作
在开始安装 HBase 之前,请确保你的 CentOS 系统满足以下条件:
操作系统:CentOS 7 或 CentOS 8(推荐 CentOS 7) 已安装 Java 8(OpenJDK 或 Oracle JDK) 已安装 Hadoop(建议使用 Hadoop 3.x 版本) 网络互通,主机名解析正常(可通过 /etc/hosts 配置)首先,验证 Java 是否已正确安装:
如果未安装 Java,可执行以下命令安装 OpenJDK 8: 前往 Apache HBase 官网 下载最新稳定版(例如 hbase-2.4.18-bin.tar.gz)。使用 wget 命令下载: 编辑 /etc/profile 文件,添加 HBase 环境变量: 然后使配置生效: 进入 HBase 配置目录: 1. 编辑 hbase-env.sh 文件,设置 Java 路径: 2. 编辑 hbase-site.xml 文件,配置 HBase 核心参数: 说明:以上配置为单机模式(standalone mode),适合学习和测试。生产环境应使用分布式模式并连接 HDFS 和 ZooKeeper 集群。 启动 HBase 服务: 查看进程是否启动成功: 你应该能看到 HMaster 和 HRegionServer 进程(单机模式下)。 进入 HBase Shell 进行简单操作: 问题1:启动时报错“Java not found” 问题2:HBase Web UI 无法访问 通过本教程,你已经成功在 CentOS 系统上完成了 CentOS HBase安装教程 的全部步骤,并掌握了基本的 HBase 操作。无论是用于学习还是开发测试,这套配置都能满足你的需求。后续你可以深入学习 HBase数据库配置、CentOS部署HBase 的分布式模式,以及结合 Spark、Flink 等大数据组件进行高级应用开发。 希望这篇 HBase入门指南 对你有所帮助!如有疑问,欢迎留言交流。java -version sudo yum install -y java-1.8.0-openjdk-devel 二、下载并解压 HBase
cd /optsudo wget https://archive.apache.org/dist/hbase/2.4.18/hbase-2.4.18-bin.tar.gzsudo tar -zxvf hbase-2.4.18-bin.tar.gzsudo mv hbase-2.4.18 hbase 三、配置环境变量
sudo vi /etc/profile# 在文件末尾添加以下内容export HBASE_HOME=/opt/hbaseexport PATH=$PATH:$HBASE_HOME/bin source /etc/profile 四、配置 HBase
cd /opt/hbase/conf vi hbase-env.sh# 找到并修改以下行export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk vi hbase-site.xml<configuration> <property> <name>hbase.rootdir</name> <value>file:///opt/hbase/data</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/hbase/zookeeper</value> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property></configuration>
五、启动 HBase 并验证
/opt/hbase/bin/start-hbase.sh jps hbase shell# 创建表create 'test_table', 'cf'# 插入数据put 'test_table', 'row1', 'cf:name', 'Alice'# 查询数据get 'test_table', 'row1'# 退出exit 六、常见问题与优化建议
解决方法:确认 JAVA_HOME 路径是否正确,可通过 which java
和 readlink -f $(which java)
查找真实路径。
默认 Web 端口为 16010,确保防火墙已开放该端口:sudo firewall-cmd --permanent --add-port=16010/tcpsudo firewall-cmd --reload 七、总结
