Mac 上zookeeper的安装和使用以及本地模拟集群
Mac上zookeeper安装和使用
zookeeper 安装
在MacOS里面安装程序比较方便的做法都是直接Homebrew 安装,恰巧了,zookeeper支持brew安装:
brew install zookeeper
正常他都是先这么更新一下,完事了才会去下载安装,但是如果你要等待很久,你可能会怀疑是你的网络问题,我是参考这里解决。还有一个快速跳过这个更新操作:command+c 就会立马结束更新,大概过了一秒左右就会直接下载了
完事之后会直接安装到 /usr/local/etc/zookeeper
启动命令 zkServer start
查看状态命令 zkServer status
关闭命令 zkServer stop
请注意macOS里zookeeper并没有什么zkServer.sh
查看客户端 zkcli
查看服务状态没有显示
如果你没有显示这个Mode: standalone ,然后你使用IDEA去测试,提示你各种奇奇怪怪的问题比如
KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented
你使用客户端去创建节点或者查看节点也是各种奇奇怪怪的问题
KeeperErrorCode = ConnectionLoss for /
网上各种尝试修复无果。苦恼了很久,终于发现原来 jdk1.8是不支持这个zookeeper 3.5.5版本,是版本不匹配,使用brew install zookeeper默认下载当前最新版本
带着懊恼卸载程序 brew uninstall zookeeper 消失吧
指定版本安装,我用的是这个3.4.14的版本jdk1.8是支持的
brew install https://homebrew.bintray.com/bottles/zookeeper-3.4.14.catalina.bottle.tar.gz
本地模拟集群
配置三台机器作为集群,需要修改zoo.cfg配置文件、data/myid对应server机器编号
cp /usr/local/etc/zookeeper /usr/local/etc/zookeeper1
修改zoo.cfg信息
cd /usr/local/etc/zookeeper1
#server.节点序号=ip地址:节点通讯端口:选举端口
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
再复制zookeeper2,zookeeper3跟上面一样的操作
设置server机器编号
打开你的数据存储 /usr/local/var/run/zookeeper1/data
重复以上操作设置zookeeper2,zookeeper3
启动服务就好了
因为是多个服务,所以要指定启动的配置,不然会启动默认的
**启动服务 zkServer start /usr/local/etc/zookeeper2/zoo.cfg **
**关闭服务 zkServer stop /usr/local/etc/zookeeper2/zoo.cfg **
**查看服务 zkServer status /usr/local/etc/zookeeper2/zoo.cfg **
客户端连接也是一样需要指定端口
客户端连接 zkCli -server 127.0.0.1:2182
启动之后可以查看状态,可以看到随机选取的leader
集群参考地址
至此基本上就好了,剩下的就是电脑连接测试就好了。