增加zookeeper搭建

This commit is contained in:
yangyu 2018-07-11 19:58:37 +08:00
parent 590150a359
commit 5074d19486
3 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,38 @@
FROM centos:7
MAINTAINER Yang <yangyufans@qq.com>
ENV ZOOKEEPER_VERSION=3.4.12
RUN yum install -y wget java-1.8.0-openjdk.x86_64
RUN cd / && wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz \
&& tar -zxvf zookeeper-$ZOOKEEPER_VERSION.tar.gz \
&& rm -rf zookeeper-$ZOOKEEPER_VERSION.tar.gz \
&& mv zookeeper-$ZOOKEEPER_VERSION zookeeper
RUN mkdir /data /dataLogs /logs
RUN echo "ZONE=Asia/Shanghai" > /etc/sysconfig/clock && \
rm -rf /etc/localtime && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "tickTime=2000" >> /zookeeper/conf/zoo.cfg && \
echo "dataDir=/data" >> /zookeeper/conf/zoo.cfg && \
echo "dataDir=/dataLogs" >> /zookeeper/conf/zoo.cfg && \
echo "clientPort=2181" >> /zookeeper/conf/zoo.cfg && \
echo "initLimit=5" >> /zookeeper/conf/zoo.cfg && \
echo "syncLimit=2" >> /zookeeper/conf/zoo.cfg
RUN sed -i 's/ZOO_LOG_DIR="."/ZOO_LOG_DIR="\/logs"/' /zookeeper/bin/zkEnv.sh && \
sed -i 's/ZOO_LOG4J_PROP="INFO,CONSOLE"/ZOO_LOG4J_PROP="INFO,ROLLINGFILE"/' /zookeeper/bin/zkEnv.sh && \
sed -i 's/zookeeper.root.logger=INFO, CONSOLE/zookeeper.root.logger=INFO,ROLLINGFILE/' /zookeeper/conf/log4j.properties && \
sed -i 's/zookeeper.log.dir=./zookeeper.log.dir=\/logs/' /zookeeper/conf/log4j.properties
COPY start.sh /
RUN chmod 777 /start.sh
EXPOSE 2181 2888 3888
ENTRYPOINT ["/start.sh"]

35
zookeeper/3.4.12/start.sh Normal file
View File

@ -0,0 +1,35 @@
#!/bin/bash
echo "$ZOO_MY_ID" > /data/myid
if [ -n "$SERVICE_1" ]; then
echo "service.1=$SERVICE_1:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
if [ -n "$SERVICE_2" ]; then
echo "service.1=$SERVICE_2:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
if [ -n "$SERVICE_3" ]; then
echo "service.1=$SERVICE_3:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
if [ -n "$SERVICE_4" ]; then
echo "service.1=$SERVICE_4:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
if [ -n "$SERVICE_5" ]; then
echo "service.1=$SERVICE_5:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
if [ -n "$SERVICE_6" ]; then
echo "service.1=$SERVICE_6:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
if [ -n "$SERVICE_7" ]; then
echo "service.1=$SERVICE_7:2888:3888" >> /zookeeper/conf/zoo.cfg
fi
/zookeeper/bin/zkServer.sh start-foreground

23
zookeeper/README.md Normal file
View File

@ -0,0 +1,23 @@
# zookeeper 集群搭建
## 创建镜像
进入相应版本文件夹
```bash
docker build -t zookeeper:3.4.12 .
```
## 生成容器
```bash
docker run -d \
--privileged=true \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
-v /data/zookeeper/data:/data \
-v /data/zookeeper/dataLogs:/dataLogs \
-v /data/zookeeper/logs:/logs \
-e ZOO_MY_ID=1 \
-e SERVICE_1=10.211.55.11 \
-e SERVICE_2=10.211.55.12 \
-e SERVICE_3=10.211.55.13 \
--name zookeeper \
zookeeper:3.4.12
```