HBase与Ubuntu集成的完整流程
HBase运行需依赖Java(JDK 11及以上)和Hadoop(HDFS存储),Ubuntu环境下需先完成这两者的安装与配置。
sudo apt update && sudo apt install -y openjdk-11-jdk,安装完成后通过java -version验证(需显示Java 11版本信息)。/usr/local/hadoop,配置hadoop-env.sh(设置JAVA_HOME)、core-site.xml(HDFS地址)、hdfs-site.xml(NameNode数据目录)等文件,启动HDFS(start-dfs.sh)并验证状态(hdfs dfsadmin -report)。访问HBase官网(apache.org)下载稳定版本(如2.4.12),使用wget命令获取压缩包,解压至指定目录:
wget https://dlcdn.apache.org/hbase/2.4.12/hbase-2.4.12-bin.tar.gz
tar -zxvf hbase-2.4.12-bin.tar.gz
sudo mv hbase-2.4.12 /usr/local/hbase
为方便命令调用,建议将HBase加入系统环境变量。
编辑用户级环境变量文件(~/.bashrc),添加HBase相关路径:
echo 'export HBASE_HOME=/usr/local/hbase' >> ~/.bashrc
echo 'export PATH=$PATH:$HBASE_HOME/bin' >> ~/.bashrc
source ~/.bashrc # 立即生效
验证环境变量是否配置成功:echo $HBASE_HOME(应输出/usr/local/hbase)。
HBase的主配置文件为$HBASE_HOME/conf/hbase-site.xml,需修改以下关键参数以适配Ubuntu环境:
<configuration>
<!-- HBase数据存储路径(指向HDFS NameNode) -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<!-- 启用分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- ZooKeeper集群地址(单机模式用localhost) -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<!-- ZooKeeper数据存储目录 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper</value>
</property>
</configuration>
说明:hbase.rootdir需与HDFS地址一致,确保HBase数据存储在HDFS中;hbase.cluster.distributed设为true表示启用分布式模式(单机模式可设为false)。
进入HBase的bin目录,执行启动脚本:
cd /usr/local/hbase/bin
./start-hbase.sh
启动后,通过jps命令查看进程:若存在HMaster(主节点)和HRegionServer(Region服务器),则说明启动成功。
使用HBase自带的Shell工具验证集群状态:
hbase shell
在Shell中执行以下命令:
status(应显示“running”);list(初始为空);create 'test_table', 'cf'(创建名为test_table的表,包含cf列族);put 'test_table', 'row1', 'cf:col1', 'value1';get 'test_table', 'row1'(应返回插入的列值)。$HBASE_HOME/logs/hbase-*-master-*.log),常见原因包括Java版本不兼容(需JDK 11及以上)、HDFS未启动(需先启动HDFS)、hbase.rootdir配置错误。./zkServer.sh start,需提前安装ZooKeeper)或通过hbase-env.sh设置HBASE_MANAGES_ZK=true(让HBase自动管理ZooKeeper)。