博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker 土法制作zookeeper镜像 并且搭建集群 基于centos7.2
阅读量:5911 次
发布时间:2019-06-19

本文共 4245 字,大约阅读时间需要 14 分钟。

docker 土法制作zookeeper镜像 并且搭建集群 基于centos7.2

1、镜像基底:

docker run -itd --name=zookeeper1  192.168.2.200:5000/centos   我用的自建仓库

2、docker exec -it zookeeper1 bash 进入镜像

注意:可能需要修改docker容器内部主机名 hostnamectl set-hostname zookeeper1(还有2和3)

3、cd /;curl -O http://mirrors.cnnic.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz  镜像里默认只有curl 没有wget

4、 tar -xzvf zookeeper-3.4.10.tar.gz;mv zookeeper-3.4.10 zookeeper;rm -rf zookeeper-3.4.10.tar.gz;  解压、整理下目录名

5、cd zookeeper;安装jdk

curl -O http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1499007072_b569bf74213e7c95aeea01f8a5576d91

or 找到一个国内镜像:(url来源:http://www.jb51.net/softs/551517.html) curl -O  http://qunying.jb51.net:8080/201704/tools/jdk-linux-x64.rpm

(jdk7 http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.rpm?AuthParam=1489065546_d42b336298b1c645252e592f0c3f7023

mv jdk-7u80-linux-x64.rpm?AuthParam=1489065546_d42b336298b1c645252e592f0c3f7023  jdk.rpm)

mv jdk-8u131-linux-x64.rpm?AuthParam=1499007072_b569bf74213e7c95aeea01f8a5576d91  jdk.rpm

rpm -ivh jdk.rpm

rm -rf jdk.rpm

6、cp conf/zoo_sample.cfg conf/zoo.cfg;vi conf/zoo.cfg;

确保配置有如下:

tickTime=2000initLimit=10syncLimit=5dataDir=/zookeeper/zkdata dataLogDir=/zookeeper/logs clientPort=2181 server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888 7、创建目录
mkdir /zookeeper/zkdatamkdir /zookeeper/logs vi /zookeeper/zkdata/myid 建立一个空文件即可
8、vi /etc/profile 最后加上
export ZOOKEEPER_HOME=/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH 9、source /etc/profile 10、exit 2次 退出 exec模式 11、打成本地包 并且挂我的私有仓库tag  docker commit zookeeper1 192.168.2.200:5000/zookeeper 12、docker push 192.168.2.200:5000/zookeeper 好了 现在在仓库里  就有之前做的zookeeper images了 13、 在3台要启动zk的机器上 vi /etc/hosts 附加

192.168.1.108 zookeeper1

192.168.1.113 zookeeper2
192.168.1.116 zookeeper3

注:就是你涉及本次要搭建的集群的物理机(当然你可能用的是虚拟机,总之是docker服务运行所在的机器的ip,当然三个ip直接得能网络互通)

14、启动准备文件:

在每一台机器上

注意:可能需要修改外部主机名 hostnamectl set-hostname zookeeper1(还有2和3)

 

cd /

mkdir zookeeper

cd zookeeper

mkdir /zookeeper/zkdata

mkdir /zookeeper/logs

cd /zookeeper/zkdata

vi start.sh

以下内容

 

#!/bin/bash

cd /;
source /etc/profile;
zookeeper/bin/zkServer.sh start-foreground;

注意:有的情况下 得用zookeeper/bin/zkServer.sh start  而不能用后台模式start-foreground; 否则会无限重启  具体请自己尝试  另外文件头#前不能有空白哦  不然也会无限重启

 

chmod +x start.sh

 

以下不同节点:

zookeeper1 里:vi myid 内容1

zookeeper2 里:vi myid 内容2

zookeeper3 里:vi myid 内容3

15、

以防万一先开端口

firewall-cmd --permanent --zone=public --add-port=2181/tcp;firewall-cmd --reload;

firewall-cmd --permanent --zone=public --add-port=2888/tcp;firewall-cmd --reload;
firewall-cmd --permanent --zone=public --add-port=3888/tcp;firewall-cmd --reload;

如果卸载了centos7.x系统的原装防火墙 就自己整iptables

如果是云 可能得再云那边设防火墙

 

zk1上 :

docker stop zookeeper;docker rm zookeeper;rm -rf /zookeeper/zkdata/version-2 /zookeeper/zkdata/zookeeper.out /zookeeper/zkdata/zookeeper_server.pid /zookeeper/logs/*;docker run -it -d --restart=always --name=zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 -v /etc/hosts:/etc/hosts -v /zookeeper/logs:/zookeeper/logs -v /zookeeper/zkdata:/zookeeper/zkdata --hostname zookeeper1 192.168.2.200:5000/zookeeper /zookeeper/zkdata/start.sh
zk2上 :
docker stop zookeeper;docker rm zookeeper;rm -rf /zookeeper/zkdata/version-2 /zookeeper/zkdata/zookeeper.out /zookeeper/zkdata/zookeeper_server.pid /zookeeper/logs/*;docker run -it -d --restart=always --name=zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 -v /etc/hosts:/etc/hosts -v /zookeeper/logs:/zookeeper/logs -v /zookeeper/zkdata:/zookeeper/zkdata --hostname zookeeper2 192.168.2.200:5000/zookeeper /zookeeper/zkdata/start.sh
zk3上 :
docker stop zookeeper;docker rm zookeeper;rm -rf /zookeeper/zkdata/version-2 /zookeeper/zkdata/zookeeper.out /zookeeper/zkdata/zookeeper_server.pid /zookeeper/logs/*;docker run -it -d --restart=always --name=zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 -v /etc/hosts:/etc/hosts -v /zookeeper/logs:/zookeeper/logs -v /zookeeper/zkdata:/zookeeper/zkdata --hostname zookeeper3 192.168.2.200:5000/zookeeper /zookeeper/zkdata/start.sh

 

这里要注意 加载start.sh的时候 #!/bin/bash前面不能有多余的空白内容 否则可能不正常 我就碰到过这个坑

16、开始的几十秒到1、2分钟  最早开的实例会持续重启  之后三个节点就会慢慢正常不在重启了

 

posted on
2016-12-01 22:09 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/sfissw/p/6123802.html

你可能感兴趣的文章
【转载】强大的命令行工具wmic
查看>>
JavaScript里的数组转化新方法Array.From
查看>>
修改eclipse下maven项目的java文件编译目录路径
查看>>
直接启动tomcat时为tomcat指定JDK 而不是读取环境变量中的配置
查看>>
ubuntu 安装 chef安装
查看>>
需求整理步骤规范
查看>>
《JAVA面向对象的特征 》
查看>>
技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)
查看>>
mongodb基础(1)
查看>>
httpd
查看>>
php 笔试题汇总
查看>>
能冒泡的事件
查看>>
easyui-tree 修改图标
查看>>
变频电源老化测试重要吗?需要做老化测试吗
查看>>
Linux下Nginx源码安装
查看>>
一文带你快速了解,python是如何解析XML文件
查看>>
如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招
查看>>
云越发展,锁定问题就会越严重?
查看>>
什么样人适合学平面设计?零门槛入门工具收藏
查看>>
用户访问网页的流程原理
查看>>