Ubuntu上HBase配置步骤(单机/伪分布式模式)
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装OpenJDK 11
sudo apt install -y openjdk-11-jdk
# 验证Java安装
java -version # 应输出Java 11版本信息
wget命令:wget https://downloads.apache.org/hbase/2.6.0/hbase-2.6.0-bin.tar.gz
/usr/local/目录,并重命名为hbase:sudo tar -zxvf hbase-2.6.0-bin.tar.gz -C /usr/local/
sudo mv /usr/local/hbase-2.6.0 /usr/local/hbase
~/.bashrc文件:添加HBase环境变量,使终端能全局识别hbase命令:echo 'export HBASE_HOME=/usr/local/hbase' >> ~/.bashrc
echo 'export PATH=$PATH:$HBASE_HOME/bin' >> ~/.bashrc
source命令加载修改后的环境变量:source ~/.bashrc
HBase的主配置文件位于$HBASE_HOME/conf/目录下,需修改以下文件:
hbase-env.shJAVA_HOME注释并设置为Java安装路径(若未自动识别):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际路径调整
export HBASE_MANAGES_ZK=true
hbase-site.xmlhbase-site.xml文件,设置HBase根目录(HDFS路径)和ZooKeeper地址:<configuration>
<!-- HBase数据存储路径(HDFS) -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<!-- 是否启用分布式模式(单机为false) -->
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<!-- ZooKeeper本地数据目录 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/zk</value>
</property>
</configuration>
$HBASE_HOME目录下运行以下命令:cd /usr/local/hbase
bin/start-hbase.sh
jps(应显示HMaster和HRegionServer进程)。bin/hbase shell(若提示HBase shell提示符,说明启动成功)。test_table、包含cf列族的表:create 'test_table', 'cf'
test_table表的row1行、cf:col1列插入值value1:put 'test_table', 'row1', 'cf:col1', 'value1'
row1行的所有数据:get 'test_table', 'row1'
test_table表的所有数据:scan 'test_table'
hbase-site.xml中的端口(如hbase.master.port默认16000)是否被占用,可通过修改端口解决。$HBASE_HOME/logs/目录下的日志文件(如hbase-*.log),定位错误原因。hbase.rootdir指向HDFS),需提前启动Hadoop集群(start-dfs.sh),并确保core-site.xml中的fs.defaultFS与hbase.rootdir一致。