HBase集群已安装好,在使用了其内置的zookeeper集群出现问题无法解决后改用自己安装的zookeeper集群,HBase集群可成功启动。
1、在/home/instal目录下,解压zookeeper-3.4.6到该目录下
tar -zxvf zookeeper-3.4.6.tar.gz -C /home/instal
2、复制zookeeper-3.4.6/conf下的zoo_sample.cfg,并且重命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
接下来在zoo.cfg中添加以下配置:
server.1=slaves7:2888:3888
server.2=slaves8:2888:3888
server.3=slaves9:2888:3888
dataDir=/home/install/zookeeper-3.4.6-data
新建zookeeper-3.4.6-data,文件夹下面新建myid文件,编辑myid文件,并在对应的IP的机器上输入对应的编号。如在slaves7上,myid的内容就是1,在slaves8上,myid的内容就是2,每台机器上面要一个一个改。
3、将配置好的zookeeper-3.4.6和zookeeper-3.4.6-data复制到其余zookeeper集群子节点:
$ scp -r zookeeper-3.4.6 slaves8:/home/install/
$ scp -r zookeeper-3.4.6-data slaves8:/home/install/
$ scp -r zookeeper-3.4.6 slaves9:/home/install/
$ scp -r zookeeper-3.4.6-data slaves9:/home/install/
并在对应的myid文件中做相应的server编号的修改。
4、由HBase集群内置的zookeeper集群变更为自己安装的zookeeper集群。HBase的配置文件需要改变的是:
hbase-env.sh:
将 export HBASE_MANAGES_ZK=true 修改为:export HBASE_MANAGES_ZK=false
hbase_site.xml:注释掉以下部分
<!--<property>
设置 hbase.zookeeper.property.dataDir属性来把ZooKeeper保存数据的目录地址改掉。
默认值是 /tmp ,这里在重启的时候会被操作系统删掉,可以修改
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/qiao/zookeeper_data</value>
</property> -->
(每个hbase节点上的这两个文件都要做相应的修改)
5、 启动zookeeper 逐个机器进行 zookeeper-3.4.6/bin/zkServer.sh start
关闭命令:zookeeper-3.4.6/bin/zkServer.sh stop