node1
、node2
、node3
),分別作為HMaster(主節點)、RegionServer(從節點,可兼ZooKeeper節點)。/etc/hosts
文件配置主機名與IP映射(如192.168.1.10 node1
、192.168.1.11 node2
、192.168.1.12 node3
)。ssh-keygen -t rsa
→ ssh-copy-id node2
→ ssh-copy-id node3
)。ntp
或chrony
同步所有節點時間(如sudo apt install ntp
→ sudo systemctl enable --now ntp
)。wget https://dlcdn.apache.org/hbase/2.5.7/hbase-2.5.7-bin.tar.gz
/usr/local
)并重命名:tar -zxvf hbase-2.5.7-bin.tar.gz
sudo mv hbase-2.5.7 /usr/local/hbase
cd /usr/local/hbase
/etc/profile
),添加HBase路徑:export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile
進入HBase配置目錄(/usr/local/hbase/conf
),修改以下文件:
hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # Debian默認OpenJDK路徑
export HBASE_MANAGES_ZK=false
hbase-site.xml
namenode
為HDFS NameNode主機名):<property>
<name>hbase.rootdir</name>
<value>hdfs://namenode:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/lib/zookeeper</value> # ZooKeeper數據存儲路徑
</property>
regionservers
node2
、node3
)。將HMaster節點的/usr/local/hbase
目錄同步到所有RegionServer節點(使用scp
):
scp -r /usr/local/hbase node2:/usr/local/
scp -r /usr/local/hbase node3:/usr/local/
start-dfs.sh
)。zkServer.sh start
,并通過zkServer.sh status
檢查狀態(需有1個Leader、2個Follower)。start-hbase.sh
/usr/local/hbase/logs/hbase-*-master-*.log
),確認無報錯。16010
,如http://node1:16010
),檢查集群狀態。在HMaster節點上執行:
stop-hbase.sh
依次停止ZooKeeper集群(zkServer.sh stop
)和Hadoop集群(stop-dfs.sh
)。
hbase-site.xml
、regionservers
文件需保持一致。16000
、16010
)、ZooKeeper(如2181
)的端口未被占用。hbase.regionserver.handler.count
(RPC線程數,默認100)、hbase.regionserver.global.memstore.size
(MemStore占比,默認0.4)等參數。