一、下载zookeeper,Apache官网下载:https://zookeeper.apache.org/releases.html
二、打开Xshell,连接远程服务器,使用Linux命令对远程服务器进行 *** 作。
三、将压缩包上传到linux,并解压zookeeper(位置自己选择)
四、在/opt下新建myzookeeper目录(自己选择),并复制三份解压好的zookeeper到目录下,分别命名zk01,zk02,zk03
五、zookeeper使用的配置文件是zoo.cfg ,分别将zk01,zk02,zk03 conf下 zoo_sample.cfg配置文件重命名为zoo.cfg(或复制一份后重命名)
六、 分别在zk01,zk02,zk03下创建data目录及logs目录
七、修改zoo.cfg配置内容
注意事项
由于是伪集群模式,所以三个clientPort端口号必须不一致,若在三台服务器上可以一样。
server.X=A:B:C
X:是一个数字,表示这是第几号server
A: 是该server所在的IP地址
B: 配置该server和集群中的leader交换信息所使用的的端口
C: 配置选举leader时所使用的端口,由于配置的是伪集群,所以各个server的B,C参数必须不同
注意事项
clientPort:Zookeeper 服务器监听端口,用来接受客户端的访问请求。
dataDir:存放数据文件
dataLogDir:存放日志文件
由于配置的三台zookeeper,zk01、zk02、zk03均在/opt/myzookeeper下,因此当配置自己的数据和log路径时应将路径写全,否则会报错:myid file is missing
zk01.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/myzookeeper/zk01/data clientPort=2181 dataLogDir=/opt/myzookeeper/zk01/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389
zk02.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/myzookeeper/zk02/data clientPort=2182 dataLogDir=/opt/myzookeeper/zk02/logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389
zk03.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/myzookeeper/zk03/data clientPort=2183 dataLogDir=/opt/myzookeeper/zk03//logs server.1=localhost:2287:3387 server.2=localhost:2288:3388 server.3=localhost:2289:3389
八、在zk01,zk02,zk03 data路径下创建myid文件,分别写入当前实例的server id,即1.2.3
server.X和myid:
server.X 这个数字就是对应data/myid中的数字,在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配 server.1 server.2,server.3就行了,因为在同一台机器上,后面连着的2个端口,3个server都不要一样,否则端口冲突
九、分别进入/zk01/bin,/zk02/bin,/zk03/bin目录,输入命令:./zkServer.sh start 启动服务器。
十、查看状态:./zkServer.sh status
查看集群启动进程 ps -ef | grep zookeeper
接入客户端 进入任意一个服务器的zookeeper/bin目录下,启动一个客户端,接入服务
例如./zkCli.sh –server 192.168.0.106:2183
一些命令
启动
./zkServer.sh start ../conf/zoo1.cfg
停止
./zkServer.sh stop ../conf/zoo1.cfg
查看状态
./zkServer.sh status ../conf/zoo1.cfg
启动客户端
./zkCli.sh -server 127.0.0.1:2181
部署问题
使用伪集群模式必须关闭防火墙。若没有关闭防火墙,会出现没有路由连接到主机的错误。
rpm -qa 查看防火墙是否安装
yum install iptables 如果防火墙没有安装,使用该命令安装防火墙(必须联网)
service iptable status 查看防火墙状态
service iptable start 开启防火墙
service iptable status 关闭防火墙
zookeeper是需要JDK来编译的,需要提前安装JDK
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)