HBase 2.5.4 伪分布式部署实战:Ubuntu 22.04 单机 3 进程配置与验证

HBase 2.5.4 伪分布式部署实战:Ubuntu 22.04 单机 3 进程配置与验证

HBase 2.5.4 伪分布式部署实战:Ubuntu 22.04 单机 3 进程配置与验证

1. 环境准备与前置条件

在Ubuntu 22.04上部署HBase伪分布式环境前,需要确保以下组件已正确安装:

  • Java 8+:HBase 2.5.4需要JDK 1.8或更高版本
  • SSH免密登录:伪分布式模式下进程间通信需要
  • Hadoop(可选):如需使用HDFS作为存储后端

1.1 安装JDK

sudo apt update sudo apt install openjdk-11-jdk -y

验证安装:

java -version

1.2 配置SSH免密登录

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys

测试SSH连接:

ssh localhost

2. HBase 2.5.4安装与配置

2.1 下载并解压HBase

wget https://archive.apache.org/dist/hbase/2.5.4/hbase-2.5.4-bin.tar.gz tar -zxvf hbase-2.5.4-bin.tar.gz -C /opt sudo ln -s /opt/hbase-2.5.4 /opt/hbase

2.2 配置环境变量

编辑~/.bashrc文件:

export HBASE_HOME=/opt/hbase export PATH=$PATH:$HBASE_HOME/bin

使配置生效:

source ~/.bashrc

3. 伪分布式模式核心配置

3.1 修改hbase-env.sh

vim $HBASE_HOME/conf/hbase-env.sh

关键配置项:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HBASE_MANAGES_ZK=true # 使用HBase内置Zookeeper export HBASE_PID_DIR=/var/hbase/pids

3.2 配置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.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/$(whoami)/hbase/zookeeper</value> </property> </configuration>

3.3 配置regionservers

echo "localhost" > $HBASE_HOME/conf/regionservers

4. 启动与验证

4.1 启动HDFS(可选)

如果使用HDFS作为存储后端:

start-dfs.sh

4.2 启动HBase集群

start-hbase.sh

4.3 验证进程状态

使用jps命令检查关键进程:

jps

正常应看到以下3个核心进程:

  • HMaster
  • HRegionServer
  • HQuorumPeer

4.4 Web UI访问

  • HMaster UI:http://localhost:16010
  • RegionServer UI:http://localhost:16030

5. 基本操作测试

5.1 进入HBase Shell

hbase shell

5.2 创建测试表

create 'test_table', 'cf1', 'cf2'

5.3 数据操作示例

put 'test_table', 'row1', 'cf1:col1', 'value1' scan 'test_table' get 'test_table', 'row1'

6. 常见问题排查

6.1 端口冲突问题

常见冲突端口及解决方案:

端口号服务解决方案
16000HMaster RPC检查是否已有HBase实例运行
16020RegionServer修改hbase-site.xml中的配置
2181Zookeeper确保没有独立Zookeeper在运行

6.2 日志文件位置

关键日志路径:

$HBASE_HOME/logs/ ├── hbase-$(whoami)-master-$(hostname).log └── hbase-$(whoami)-regionserver-$(hostname).log

6.3 启动失败排查步骤

  1. 检查Java环境变量
  2. 验证SSH免密登录
  3. 查看日志文件中的ERROR信息
  4. 确认端口未被占用
  5. 检查HDFS状态(如果使用)

7. 性能优化建议

7.1 内存配置调整

编辑hbase-env.sh

export HBASE_HEAPSIZE=4G export HBASE_REGIONSERVER_OPTS="-Xmx8G -Xms8G"

7.2 重要参数调优

在hbase-site.xml中添加:

<property> <name>hbase.hregion.memstore.flush.size</name> <value>134217728</value> <!-- 128MB --> </property> <property> <name>hbase.hstore.blockingStoreFiles</name> <value>10</value> </property>

7.3 系统级优化

# 增加最大文件打开数 echo "$(whoami) soft nofile 65536" | sudo tee -a /etc/security/limits.conf echo "$(whoami) hard nofile 65536" | sudo tee -a /etc/security/limits.conf # 调整内核参数 echo "vm.swappiness = 0" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

8. 安全关闭流程

  1. 停止HBase:
stop-hbase.sh
  1. 停止HDFS(如果使用):
stop-dfs.sh
  1. 验证进程是否完全退出:
jps