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.sh
JAVA_HOME
注釋并設置為Java安裝路徑(若未自動識別):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根據實際路徑調整
export HBASE_MANAGES_ZK=true
hbase-site.xml
hbase-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
一致。