使用docker搭建zookeeper集群
2016-07-03 21:56
996 查看
使用docker搭建zookeeper集群
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。docker下zookeeper镜像构建
配置集群zookeeper的网络设置
配置集群zookeeper的公共配置
docker-compose的zookeeper集群配置
docker下zookeeper镜像构建
去git clone源码构建自定义镜像git clone https://gogs.cuisongliu.com/docker-library/zookeeper.git[/code]
构建zookeerper的自定义镜像,需要修改基础镜像(只要是jdk 环境即可)cd zookeeper docker build -t jerry/zookeeper:latest .配置集群zookeeper的网络设置
docker network 设置docker network create zoo配置集群zookeeper的公共配置
配置zoo.cfg 配置文件tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/data clientPort=2181 dataLogDir=/opt/log server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888 server.4=zk4:2888:3888 server.5=zk5:2888:3888 server.6=zk6:2888:3888
dataDir :zookeeper的数据目录
clientPort: 外部访问端口
dataLogDir: zookeeper的日志目录
server.1=zk1:2888:3888 : 节点端口之间通信docker-compose的zookeeper集群配置
docker-compose.yml:zoo1: image: jerry/zookeeper:latest restart: always net: zoo container_name: zk1 volumes: - /mnt/data/zoo1:/opt/data - /mnt/logs/zoo1:/opt/log - /mnt/docker-project/zookeeper/zoo:/opt/zookeeper/conf ports: - "2181:2181" expose: - "2888" - "3888" zoo2: image: jerry/zookeeper:latest restart: always net: zoo container_name: zk2 volumes: - /mnt/data/zoo2:/opt/data - /mnt/logs/zoo2:/opt/log - /mnt/docker-project/zookeeper/zoo:/opt/zookeeper/conf ports: - "2182:2181" expose: - "2888" - "3888" zoo3: image: jerry/zookeeper:latest restart: always container_name: zk3 net: zoo volumes: - /mnt/data/zoo3:/opt/data - /mnt/logs/zoo3:/opt/log - /mnt/docker-project/zookeeper/zoo:/opt/zookeeper/conf ports: - "2183:2181" expose: - "2888" - "3888" zoo4: image: jerry/zookeeper:latest restart: always container_name: zk4 net: zoo volumes: - /mnt/data/zoo4:/opt/data - /mnt/logs/zoo4:/opt/log - /mnt/docker-project/zookeeper/zoo:/opt/zookeeper/conf ports: - "2184:2181" expose: - "2888" - "3888" zoo5: image: jerry/zookeeper:latest restart: always container_name: zk5 net: zoo volumes: - /mnt/data/zoo5:/opt/data - /mnt/logs/zoo5:/opt/log - /mnt/docker-project/zookeeper/zoo:/opt/zookeeper/conf ports: - "2185:2181" expose: - "2888" - "3888" zoo6: image: jerry/zookeeper:latest restart: always container_name: zk6 net: zoo volumes: - /mnt/data/zoo6:/opt/data - /mnt/logs/zoo6:/opt/log - /mnt/docker-project/zookeeper/zoo:/opt/zookeeper/conf ports: - "2186:2181" expose: - "2888" - "3888"
net 设置之前的zoo 网络
container_name:当前容器名称,设置名称好做集群。docker-compose up -d
ps: 在zoo.cfg文件中定义的server机器上都创建dataDir和dataLogDir定义的目录,同时在dataDi目录下创建myid文件,该文件的内容根据server定义的不同而不同,如server.1 该文件的内容是1,server.2 该文件内容是 2,以此类推.
相关文章推荐
- centos6.5上安装docker
- docker容器的网络信息查看
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- mysql集群之MMM简单搭建
- openstack kilo-with-dokcer
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- MySQL的集群配置的基本命令使用及一次操作过程实录
- MySQL slave_net_timeout参数解决的一个集群问题案例
- Redis 集群搭建和简单使用教程
- Windows Server 2003 下配置 MySQL 集群(Cluster)教程
- 在Docker中自动化部署Ruby on Rails的教程
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- Shell脚本实现自动安装zookeeper
- 搭建基于Docker的PHP开发环境的详细教程
- Docker容器的Tengine实践
- 利用OpenVSwitch在多台主机上部署Docker的教程
- ubuntu14.04+docker的安装及使用
- Docker 清理命令集锦