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集群的高可用性、数据一致性和状态管理。