HBase 管理ZooKeeper 实例什么意思

2025-05-09 08:57:34
推荐回答(1个)
回答1:

HBase的安装包里面有自带zookeeper的。很多系统部署也是直接启动上面的zookeeper。本来也是没有问题的,想想吧,系统里也只有hbase在用zookeeper。先启动zookeeper,再将hbase起来就好了?但是今天遇到了一个很蛋疼的问题。和同事争论了很久。?因为我们是好多hbase集群共用一个zookeeper的,其中一个集群需要从hbase0.90.2升级到hbase0.92上,自然,包也要更新。但是其中一台regionserver上面同时也有跑zookeeper,而zookeeper还是用hbase0.90.2自带的zookeeper在跑。?现在好了,升级一个regionserver,连着zookeeper也要受到牵连,看来必须要重启,不然,jar包替换掉,可能会影响到zk正在跑的经常。但是重启zk毕竟对正在连接这个zk的client端会有短暂的影响。?真是蛋疼。本来只是升级hbase,zk却强耦合了。?虽然后来证明zookeeper只要启动了,哪怕jar包删除也不会影响到正在跑的zk进程,但是这样的不规范带来的风险,实在是没有必要。?所以作为运维,我强烈建议zk和hbase分开部署,就直接部署官方的zk好了,因为zk本身就是一个独立的服务,没有必要和hbase耦合在一起。?在分布式的系统部署上面,一个角色就用一个专门的文件夹管理,不要用同一个目录下,这样子真的容易出问题。?当然datanode和tasktracker另当别论,他们本身关系密切。