docker 土法制作zookeeper镜像 并且搭建集群 基于centos7.2
2016-12-01 22:09
1361 查看
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、
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、
确保配置有如下:
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分钟 最早开的实例会持续重启 之后三个节点就会慢慢正常不在重启了
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=2000 initLimit=10 syncLimit=5 dataDir=/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/zkdata mkdir /zookeeper/logs vi
/zookeeper/zkdata/myid 建立一个空文件即可
8、
vi /etc/profile 最后加上
export ZOOKEEPER_HOME=/zookeeper export 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分钟 最早开的实例会持续重启 之后三个节点就会慢慢正常不在重启了
相关文章推荐
- centos7.2 基于zookeeper集群搭建activeMQ的集群
- ZooKeeper此例简单介绍基于docker的zookeeper安装与集群搭建
- ZooKeeper此例简单介绍基于docker的zookeeper安装与集群搭建
- 制作mesos的docker镜像(centos7.2)
- centos7 搭建docker内运行rabbitmq,然后再镜像ha方案的完全教程,暂时一个宿主机只能运行一个docker的rabbitmq,但是集群 ha都正常
- 基于Mesos+Marathon+Zookeeper的Docker集群管理环境搭建过程分享
- Centos-7.2 下搭建 Zookeeper-3.5.3 集群的搭建与测试
- (centos7)搭建基于docker的hadoop集群:一
- 在CentOS 7.2上搭建Docker私有镜像仓库
- 基于 Harbor 和 Cephfs 搭建高可用 Docker 镜像仓库集群
- 基于docker的centos:latest镜像制作nginx的镜像
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(环境Centos6.8)
- quay.io/coreos/etcd 基于Docker镜像的集群搭建
- Centos7.2 新镜像、系统到手 更新清理 并且安装docker1.2以后版本 目前内容适合docker 1.7.x ce(社区版)
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.1创建虚拟机
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.9. 配置用户等效性(可选项)
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.4.无法图形化安装Grid Infrastructure