第一步:首先下载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. Juqery遮罩插件

    Juqery遮罩插件,想罩哪就罩哪!   一  前言 在项目开发时发现没有一个用起来 爽一点的遮罩插件,看起来觉得不难 好吧那就利用空闲时间,自己折腾一个吧,也好把jquery再温习一下, 需要的功能 ...

  2. 点击表格的单元格时实现变颜色,通过for循环为每个单元格添加一个onclick事件

    <title>无标题文档</title> <script type="text/javascript" language="javascri ...

  3. vue.js源码精析

    MVVM大比拼之vue.js源码精析 VUE 源码分析 简介 Vue 是 MVVM 框架中的新贵,如果我没记错的话作者应该毕业不久,现在在google.vue 如作者自己所说,在api设计上受到了很多 ...

  4. iOS基础 - 单元测试

    单元测试(unit testing):对软件中最小可测试单元进行检查和验证.一般面向过程的语言中,基本单元为函数,面向对象的语言中,基本单元通常是类,其实对于一个手机上的app来说基本单元也可以是一个 ...

  5. iOS基础 - Copy

    copy和mutableCopy 一个对象使用copy或mutableCopy方法可以创建对象的副本 copy – 需要先实现NSCoppying协议,创建的是不可变副本(如NSString.NSAr ...

  6. c# 数据类型占用的字节数

    最近一直在使用C#中的关于各种数据类型转化为字节或者字节转化为各种数据类型进行数据解析.但是在此之前必须知道各种数据类型在字节中占的字节数. 所以在此归总. bool -> System.Boo ...

  7. 使用MMS(MongoDB Monitoring Service)监控MongoDB

    使用MMS(MongoDB Monitoring Service)监控MongoDB 一.MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可 ...

  8. iOS关于RunLoop和Timer

    RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在.RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop.永远不要手动创建一个run ...

  9. 使用EntityFramework持久化聚合

    目录 背景使用EntityFramework持久化聚合备注 背景返回目录 DDD中只有聚合根可以有仓储,仓储负责整个聚合持久化的相关生命周期,在不使用工作单元或POCO的情况下,我们可以让Order内 ...

  10. jQuery判断浏览器类型

    if ($.browser.msie) { alert("IE浏览器"); } else if ($.browser.opera) { alert("opera浏览器&q ...