我要养成记录的习惯!!!
首先下载(版本zookeeper-3.4.12)-解压
zookeeper伪分布式安装就是在同一台机器上安装多个zookeeper(即在同一台机器上有多个QuorumPeerMain进程)。
我在同一台机器上安装了3个zookeeper。
把解压完成的zookeeper-3.4.12重新命名为zookeeper01 :
mv zookeeper-3.4.12 zookeeper01
因此zookeeper01才是zookeeper的安装文件。
创建一个zookeeper目录:
mkdir zookeeper-3.4.12
先在zookeeper-3.4.12的目录下创建3个文件:
mkdir -p zookeeper-3.4.12/zk01data/logs
mkdir -p zookeeper-3.4.12/zk02data/logs
mkdir -p zookeeper-3.4.12/zk03data/logs
zk01data、zk02data和zk03data存放myid文件和logs文件。
在zk01data、zk02data、zk03data中配置专属的myid内容
echo "1" > ~/zk01data/myid
echo "2" > ~/zk02data/myid
echo "3" > ~/zk03data/myid
配置zookeeper01的文件
把zoo_sample.cfg重新命名伪zoo.cfg,zoo_sample.cfg是否保留均可,我在此保留了:
cp zoo_sample.cfg zoo.cfg
配置zook.cfg文件,以下为zoo.cfg中要配置的文件:
dataDir=/home/zhuhaichuan/zookeeper-3.4.12/zk01data
dataLogDir=/home/zhuhaichuan/zookeeper-3.4.12/zk01data/logs
server.1=zhumaster:2888:3888
server.2=zhumaster:2889:3889
server.3=zhumaster:2890:3890
此处:
server后面的数字与dataDir目录下myid中的内容应当是一样的。zhumaster是机器的hostname
保存即可。
因为是在同一台机器上安装3个zookeeper,因此对zookeeper01复制两份,分别重新命名伪zookeeper02和zookeeper03
cp zookeeper01 zookeeper02
cp zookeeper01 zookeeper03
需要对zookeeper02和zookeeper03的配置文件需要修改
首先修改zookeeper02的配置文件zoo.cfg
修改dataDir、dataLogDir和clientPort:
dataDir=/home/zhuhaichuan/zookeeper-3.4.12/zk02data
dataLogDir=/home/zhuhaichuan/zookeeper-3.4.12/zk02data/logs
clientPort=2182 (clientPort默认是2181,zookeeper01中已经使用了端口2181,防止端口冲突,必须修改此端口号,在此设置成clientPort=2182)
其他的不用修改。
修改zookeeper03的配置文件zoo.cfg
修改dataDir、dataLogDir和clientPort:
dataDir=/home/zhuhaichuan/zookeeper-3.4.12/zk03data
dataLogDir=/home/zhuhaichuan/zookeeper-3.4.12/zk03data/logs
clientPort=2183 (修改此端口号是为了防止与同一台机器上的其他zookeeper冲突)
至此,基本的zookeeper伪分布式配置完成
启动各个zookeeper
在分别在zookeeper01、zookeeper02、zookeeper03的目录下执行:bin/zkServer.sh start
使用jps查看,若有3个QuorumPeerMain进程开启说明基本配置成功。