Debian系统支持HBase集群的部署步骤
/etc/hosts文件或DNS解析)。在所有节点执行以下命令安装OpenJDK 11:
sudo apt update
sudo apt install -y openjdk-11-jdk
# 验证安装
java -version # 应输出Java 11及以上版本信息
配置JAVA_HOME环境变量(全局生效):
echo "export JAVA_HOME=$(readlink -f /usr/bin/javac | sed 's:/bin/javac::')" >> /etc/profile
source /etc/profile
选择稳定版本的HBase(如2.4.x),在Master节点执行:
wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
sudo tar -xzvf hbase-2.4.9-bin.tar.gz -C /usr/local/ # 解压至/usr/local/
sudo mv /usr/local/hbase-2.4.9 /usr/local/hbase # 重命名为hbase
配置HBase环境变量(全局生效):
echo "export HBASE_HOME=/usr/local/hbase" >> /etc/profile
echo "export PATH=\$PATH:\$HBASE_HOME/bin" >> /etc/profile
source /etc/profile
编辑HBase主配置文件$HBASE_HOME/conf/hbase-site.xml,添加以下关键配置:
<configuration>
<!-- HBase数据存储路径(指向HDFS) -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://namenode:9000/hbase</value> <!-- 替换为你的HDFS NameNode地址 -->
</property>
<!-- 启用分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- ZooKeeper数据目录 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/lib/zookeeper</value> <!-- 本地存储ZooKeeper数据 -->
</property>
<!-- ZooKeeper集群地址(逗号分隔) -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>zookeeper1,zookeeper2,zookeeper3</value> <!-- 替换为你的ZooKeeper节点主机名 -->
</property>
</configuration>
可选优化:
regionservers文件($HBASE_HOME/conf/regionservers),列出所有RegionServer节点的主机名(每行一个)。$HBASE_HOME/conf/hbase-env.sh,添加:export HBASE_MANAGES_ZK=false
start-dfs.sh、start-yarn.sh),且HDFS正常运行(可通过hdfs dfsadmin -report查看节点状态)。zoo.cfg中的server.x列表),启动ZooKeeper服务(zkServer.sh start),并通过zkServer.sh status验证Leader/Follower状态。在Master节点执行以下命令启动集群:
$HBASE_HOME/bin/start-hbase.sh
启动后,通过以下命令验证进程是否运行:
jps # 应看到HMaster(主节点)、HRegionServer(RegionServer节点)进程
$HBASE_HOME/bin/hbase shell
status # 查看集群状态(应显示Master和RegionServer运行中)
create 'testtable', 'cf' # 创建测试表
put 'testtable', 'row1', 'cf:column1', 'value1' # 插入数据
get 'testtable', 'row1' # 查询数据
若上述命令执行成功,说明HBase集群已正常运行。允许HBase相关端口通过防火墙(以ufw为例):
sudo ufw allow 16000:16030/tcp # HBase Master Web UI及RPC端口
sudo ufw allow 2181:2186/tcp # ZooKeeper默认端口
sudo ufw allow 50010:50020/tcp # HDFS数据传输端口
sudo ufw allow 60000:60030/tcp # HBase RegionServer RPC端口
ntpdate),确保时间误差≤1秒,避免分布式协调问题。backup-masters文件)提升HBase Master的高可用性。http://master:16010)监控集群状态。