HBase與Zookeeper在CentOS上的協同工作主要涉及Zookeeper作為HBase的協調器,負責維護HBase集群狀態、分配RegionServer任務、確保數據一致性和高可用性。以下是它們協同工作的具體步驟:
下載并解壓Zookeeper:
wget http://www.apache.org/dyn/closer.cgi/zookeeper/zookeeper-3.4.10.tar.gz
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module
cd /opt/module/zookeeper-3.4.10
配置Zookeeper:
編輯/opt/module/zookeeper-3.4.10/conf/zoo.cfg
文件,添加或修改以下配置:
dataDir=/opt/module/zookeeper-3.4.10/zkData
clientPort=2181
initLimit=5
syncLimit=2
server.1 hadoop102:2888:3888
server.2 hadoop103:2888:3888
server.3 hadoop104:2888:3888
在每個Zookeeper節點上創建/tmp/zookeeper/myid
文件,并寫入對應的節點ID(如1、2、3)。
啟動Zookeeper:
/opt/module/zookeeper-3.4.10/bin/zkServer.sh start
/opt/module/zookeeper-3.4.10/bin/zkServer.sh status
下載并解壓HBase:
wget http://apache.fayea.com/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/module
cd /opt/module/hbase-1.3.1
配置HBase:
修改hbase-env.sh
:
export JAVA_HOME=/opt/module/jdk1.6.0_144
export HBASE_MANAGES_ZK=false
修改hbase-site.xml
:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:9000/HBase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>hadoop102:16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102,hadoop103,hadoop104</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
配置regionservers
:
在/opt/module/hbase-1.3.1/conf
目錄下創建regionservers
文件,并添加各RegionServer的地址(如hadoop102、hadoop103、hadoop104)。
設置環境變量:
編輯~/.bash_profile
文件,添加以下內容:
export HBASE_HOME=/opt/module/hbase-1.3.1
export PATH=$PATH:$HBASE_HOME/bin
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*
執行source ~/.bash_profile
使配置生效。
啟動HBase:
/opt/module/hbase-1.3.1/bin/start-hbase.sh
使用jps
命令查看HBase和Zookeeper的進程,確保它們正常運行。
通過以上步驟,HBase與Zookeeper可以在CentOS上成功協同工作。Zookeeper作為HBase的協調器,確保了HBase集群的高可用性、數據一致性和狀態管理。