1.将安装包解压出来(可以通过wget或者本地下载上传到服务器都可以)

tar -zxvf  apche-zookeeper-3.5.8-bin.tar.gz   解压到当前目录或者

tar -zxvf  apche-zookeeper-3.5.8-bin.tar.gz -C  xxxx指定目录

zookeeper单机搭建虚拟分布式环境

2.解压完。我们需要修改配置文件。

进入conf目录下,将原先zoo_simple.cfg的名字改为zoo.cfg即可

mv  zoo_simple.cfg  zoo.cfg

3.修改配置文件内容

zookeeper单机搭建虚拟分布式环境

搭建虚拟集群需要注意。端口号不能重复,然后dataDir LogDir目录不能重复,然后需要复制三分文件,可以命名其他名字,但是我们启动的时候必须带上以哪个配置文件参数启动。然后还需要注意的是。我们必须要在定义的dataDir下的/data目录里面创建myid文件(echo 1 > myid)。这个1值对应下面的server.1 代表server id的。启动三个实例的话。这三个id必须不一样

zookeeper单机搭建虚拟分布式环境

zookeeper单机搭建虚拟分布式环境

zookeeper单机搭建虚拟分布式环境

4.配置文件都修改完毕后。我们接下来就直接带配置文件启动zk

进入zk的bin目录使用  ./zkServer.sh start-foreground  ../myconf1/zoo.cfg  

-foreground参数是显示报错信息,比如启动失败时我们可以看到具体原因导致的。如果我们data目录下没有设置myid文件,就会报如下错误:

zookeeper单机搭建虚拟分布式环境

所以一定要设置好myid文件。

5.如何知道我启动的哪个端口是leader机子呢。

我们使用./zkServer.sh status ../myconf/zoo.cfg   注意。因为我们是一台机子启动的多个实例。所以必须带下配置文件才知道哪一个实例对应的进程

zookeeper单机搭建虚拟分布式环境

6.启动实例这里注意一点。我们可以通过ps -aux | grep zookeeper  或者ps -ef | grep zookeeper查看zookeeper是否启动。但是

因为zk启动参数过多不好看。我们可以直接通过查看端口号的命令来看zk是否启动起来了

netstat -ntlp

zookeeper单机搭建虚拟分布式环境

可以看到2182 2183 的zk实例已经在监听了。还有心跳端口2889 3889等也在监听中

相关文章: