第一步:首先下载Zookeeper的镜像文件:

从仓库中pull 这个zookeeper镜像:docker pull jplock/zookeeper:3.4.8

然后docker images查看该镜像:

最后一个可以看出镜像文件已经下载下来了;

第二步:运行这个镜像文件,即启动一个Zookeeper的容器:docker run -t --name zookeeper1 jplock/zookeeper:3.4.8

会出现如下的信息,说明在启动容器

当光标停止后,按Ctrl+C,然后通过docker ps -a来查看容器的信息。

第三步:进入Zookeeper容器中,并修改其配置信息。

3.1、进入容器:sudo docker exec -it ce1ca3255bf9 /bin/bash  (ce1ca3255bf9 为容器的id)

通过ls命令来查看ZooKeeper容器下有哪些目录和文件,发现和我们平时的操作系统上是一样的。

圈起来的地方表示我们已经进入了容器了。

3.2、ps命令来查看容器中的进程运行情况;

第四步:修改ZooKeeper的配置文件;/opt/zooleeper/conf/zoo.cfg

4.1、通过如下命令: vi conf/zoo.cfg 来修改配置文件:

如上图所示,在clientPort=2181下面添加一行:server.1=127.0.0.1:2888:3888

"server.id=host:port:port"标识了不同的ZooKeeper服务器的配置。用户可以从"server.id=host:port:port"中读取相关的配置信息。

参数中,host和port比较直观,id表示的是不同的服务器。每台机器使用三个端口,分别是 clientPort:2181; port:2888; port:3888。其中2888端口是进行leader选举的端口,而3888端口则是组成ZooKeeper服务的机器之间的通信端口。

4.2、创建data目录(在dataDir=/tmp/zookeeper目录下) 以及一个myid文件。vi myid

然后在myid里面输入一个1,后保存。1就是id的值。

最后重启zkServer.sh 就安装好了。

bin/zkServer.sh restart

这时候ZooKeeper重启成功了,另外一定要注意的是:zookeeper使用的端口有2181,2888,3888 所以要在centos7中开启这些端口,首先exit命令退出容器;

开启端口,下面三行命令必须是手动敲进去,好像复制进去的系统不识别,至少我是这样的。

firewall-cmd -–zone=public –-add-port=2181/tcp –-permanent 
firewall-cmd -–zone=public –-add-port=2888/tcp –-permanent 
firewall-cmd -–zone=public –-add-port=3888/tcp –-permanent

–-zone #作用域

–-add-port=2181/tcp #添加端口,格式为:端口/通讯协议

–-permanent #永久生效,没有此参数重启后失效

重启防火墙

firewall-cmd –-reload

Docker环境下如何安装Zookeeper的更多相关文章

  1. windows环境下,安装zookeeper~

    1.   概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂 ...

  2. docker环境下elasticsearch安装ik和拼音分词

    elasticsearch拼音分词地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases 在elasticsearch下面 ...

  3. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  4. Elasticsearch Docker环境下安装

    Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...

  5. Nginx系列(8)- Nginx安装 | Docker环境下部署

    Docker环境下部署Nginx https://www.cnblogs.com/gltou/p/15186971.html

  6. Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问

    本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程. 在官方文档中提到,TensorFlow的安装主要有以下五种形 ...

  7. Docker环境下的Mysql8 实现主从数据库数据同步方案

    本文记录下通过MySQL Replication在Docker环境下,通过多个容器 实现数据库主从配置. MySQL Replication就不多解释了,简单说就是MySQL非常出色的一个功能,该功能 ...

  8. Docker环境下eShopOnContainers部署

    从头开始学eShopOnContainers--Visual Studio 2017环境配置 https://www.cnblogs.com/dusthunter/p/9973815.html 一.安 ...

  9. Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点

    Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...

随机推荐

  1. LigerUI一个前台框架增、删、改asp.net代码

    LigerUI一个前台框架增.删.改asp.net代码的实现   先上代码:前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  2. Cygwin 是一个用于 Windows 的类 UNIX shell 环境

    cygwin的安装使用   Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 ...

  3. Node.js基础知识

    Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...

  4. MVC中使用Unity Ioc Container

    ASP.NET MVC中使用Unity Ioc Container   写在前面 安装Unity 添加服务层 IArticleRepository类型映射 服务注入到控制器 Global.asax初始 ...

  5. Visual Stuido也有非常多的快捷键

    最近看到很多同事用 VI 来开发Ruby,Python脚本. 编辑代码全部用的是快捷键,效率很高. 其实Visual Stuido也有非常多的快捷键,熟练运用后,能大大提高工作效率. 本文介绍一些最常 ...

  6. Sql Server实现多行数据按分组用逗号分隔成一行数据

    例如,要将下面的数据 以GROUP_ID进行分组,一组一行,一组中的多个PRODUCT_ID用逗号分隔,select 出来成如下结果: 在Sql Server中,我目前想到的一种方法是写一个函数,如下 ...

  7. 设计模式之观察者模式(Observable与Observer)

    设计模式之观察者模式(Observable与Observer) 好久没有写博客啦,之前看完了<设计模式之禅>也没有总结一下,现在回忆一下设计模式之观察者模式. 1.什么是观察者模式 简单情 ...

  8. C语言面试问答(3)

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(3) 前文链接:http://www.cnblogs.com/pmer/p/3322429.html 5,atexit wit ...

  9. Power BI移动端应用

    随笔- 420  文章- 6  评论- 1927  无处不在的商业智能---Power BI移动端应用   此篇来自于微软商业智能网站的官方博客团队发布的Power BI在线资料其中的一部分,完整版地 ...

  10. Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)

    Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...