20200929更新 docker-zk
docker-create-zk
#!/bin/bash
mkdir -p /alex/data/"$1"/conf
mkdir -p /alex/data/"$1"/data
mkdir -p /alex/data/"$1"/logs
#docker run -itd --privileged --name="$1" --hostname="$1" -p "$2":2181 -p "$3":2888 -p "$4":3888 --log-driver=json-file -e ZOO_LOG4J_PROP="INFO,ROLLINGFILE" -v /alex/data/"$1"/data:/data -v /alex/data/"$1"/logs:/logs docker.io/zookeeper
docker run -itd --privileged --name="$1" --hostname="$1" -p "$2":2181 -p "$3":2888 -p "$4":3888 --log-driver=json-file -e ZOO_LOG4J_PROP="INFO,ROLLINGFILE" -v /alex/data/"$1"/conf/:/conf/ -v /alex/data/"$1"/data:/data -v /alex/data/"$1"/logs:/logs docker.io/zookeeper
[root@alex-pre-rtm-01 /alex/data/hn-zk/conf]$ cat zoo.cfg
clientPort=2181
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
在安装ZooKeeper之前,ZooKeeper服务器是用Java创建的,它运行在JVM上。您需要使用JDK 6或更高版本。参考文章:https://www.tutorialspoint.com/zookeeper/zookeeper_installation.htm
错误提示:Error contacting service. It is probably not running
菜坑两处:一 :win10 环境:
由于路径/和\的原因导致不能启动成功
#dataDir=/tmp/zookeeper
#dataDir=D:\java\tools\zookeeper-3.4.11\data 错误方式
dataDir=D:/java/tools/zookeeper-3.4.11/data
dataLogDir=D:/java/tools/zookeeper-3.4.11/logs
# the port at which the clients will connect
clientPort=2181
二 :centos7 流程如下
[root@alex /space/data/zk/zookeeper-3.4.11/bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /space/data/zk/zookeeper-3.4.11/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@alex /space/data/zk/zookeeper-3.4.11/bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /space/data/zk/zookeeper-3.4.11/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
原因:1:path要为全路径。2:端口要用默认的2181;因为虽然配置文件是2182,连接时默认2181.如图
最后就能成功了:
ps: 百度了好久,博友总结也不少,逗妹找到合适我的,什么防火墙啊,什么将 zoo.cfg文件写成了 zoo.conf。什么改myid啊,什么修改zkServer.sh 文件啊,不能说都是扯淡,但是他们也可能有他们的道理;
总结一句话:无难事,任何困难问题,都已经被前任解决过了;如果你还没成功,说明还没找到正确的博文,