通过Docker快速搭建ZooKeeper伪集群环境

保姆级教程:用Docker快速搭建DolphinScheduler伪集群环境 本文提供了一份详细的Docker Compose部署指南,帮助用户快速搭建Apache DolphinScheduler伪集群环境。通过容器化技术,用户可在单机上模拟分布式集群,体验完整的工作流调度功能,涵盖环境准备、服务编排、数据库初始化及基础验证,是学习和测试的绝佳方案。 阅读详情

在这里插入图片描述

1. 介绍

ZooKeeper作为分布式协调服务,在微服务架构、分布式锁、配置管理等场景中扮演着重要角色。在开发测试阶段,搭建一个完整的ZooKeeper集群通常需要多台物理机或虚拟机,资源消耗较大。使用Docker容器技术,我们可以在一台机器上快速启动多个ZooKeeper实例,模拟出集群环境,极大地方便了本地开发和测试。

本文将详细介绍如何使用Docker Compose快速搭建一个三节点的ZooKeeper伪集群,并验证集群的高可用性。

2. 环境准备

确保你的系统已经安装以下工具:

  • Docker:版本20.10.0或更高
  • Docker Compose:版本2.0.0或更高(或使用Docker Desktop内置的Compose)

可以通过以下命令检查版本:

docker --version
docker-compose --version

3. 编写Docker Compose配置文件

创建一个名为 docker-compose.yml 的文件,内容如下:

version: '3.8'

services:
  zoo1:
    image: zookeeper:3.8
    container_name: zookeeper-1
    restart: unless-stopped
    hostname: zoo1
    ports:
      - "2181:2181"
      - "2888:2888"
      - "3888:3888"
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ZOO_4LW_COMMANDS_WHITELIST: "*"
    volumes:
      - ./data/zoo1/data:/data
      - ./data/zoo1/datalog:/datalog
    networks:
      - zookeeper-network

  zoo2:
    image: zookeeper:3.8
    container_name: zookeeper-2
    restart: unless-stopped
    hostname: zoo2
    ports:
      - "2182:2181"
      - "2889:2888"
      - "3889:3888"
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ZOO_4LW_COMMANDS_WHITELIST: "*"
    volumes:
      - ./data/zoo2/data:/data
      - ./data/zoo2/datalog:/datalog
    networks:
      - zookeeper-network

  zoo3:
    image: zookeeper:3.8
    container_name: zookeeper-3
    restart: unless-stopped
    hostname: zoo3
    ports:
      - "2183:2181"
      - "2890:2888"
      - "3890:3888"
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
      ZOO_4LW_COMMANDS_WHITELIST: "*"
    volumes:
      - ./data/zoo3/data:/data
      - ./data/zoo3/datalog:/datalog
    networks:
      - zookeeper-network

networks:
  zookeeper-network:
    driver: bridge

配置说明:

  • image: 使用官方 zookeeper:3.8 镜像。
  • hostname & container_name: 为每个容器设置唯一的主机名和容器名,用于服务间通信。
  • ports: 将每个容器的2181端口映射到宿主机的不同端口(2181, 2182, 2183),避免冲突。
  • environment:
    • ZOO_MY_ID: 每个节点的唯一ID(1, 2, 3),对应 data/myid 文件。
    • ZOO_SERVERS: 定义集群中的所有服务器列表。格式为 server.id=hostname:peer_port:election_port;client_port。
  • volumes: 将数据目录挂载到宿主机,确保数据持久化。

4. 启动ZooKeeper伪集群

在包含 docker-compose.yml 文件的目录下,执行以下命令启动集群:

# 启动所有服务(在后台运行)
docker-compose up -d

# 查看运行状态
docker-compose ps

输出应类似如下,表明三个节点都已成功启动:
在这里插入图片描述

5. 验证集群状态

docker exec zookeeper-1 zkServer.sh status
docker exec zookeeper-2 zkServer.sh status
docker exec zookeeper-3 zkServer.sh status

在这里插入图片描述
在这里插入图片描述

5.2 测试高可用性(故障转移)

  1. 查看当前Leader:通过上述方法连接三个节点,分别执行 stat,找出 Mode: leader 的节点(假设是 zookeeper-1)。
  2. 模拟Leader宕机:停止Leader容器。
    docker stop zookeeper-1
    
  3. 观察集群选举:快速连接另外两个存活节点(zookeeper-2 或 zookeeper-3)的客户端,执行 stat。你会看到其中一个节点的 Mode 变成了 leader,证明集群自动完成了故障转移和领导者选举。
  4. 恢复节点:重新启动 zookeeper-1,它将自动以 follower 身份重新加入集群。
    docker start zookeeper-1
    

6. 基本操作示例

创建一个持久节点并写入数据:

# 假设已连接到某个节点的客户端
[zk: localhost:2181(CONNECTED) 0] create /myapp "initial_data"
Created /myapp
[zk: localhost:2181(CONNECTED) 1] get /myapp
initial_data
cZxid = 0x...
...

在其他节点上获取该数据,验证数据在集群内同步:

# 连接到另一个节点(如 zoo2)的客户端
[zk: localhost:2181(CONNECTED) 0] get /myapp
initial_data # 数据一致,说明同步成功

7. 停止与清理

# 停止并移除所有容器、网络
docker-compose down

# 如果希望同时删除挂载的卷(数据目录),使用 -v 参数
# docker-compose down -v

执行 down 后,容器将被删除,但宿主机上 ./data/ 目录下的数据文件会保留。如需完全清理,可手动删除该目录。

8. 总结

通过 Docker Compose,我们成功在单机上部署了一个三节点的 ZooKeeper 伪集群。这种方法资源占用少,部署速度快,非常适合开发、测试和学习环境。你可以基于此配置进行扩展,例如调整节点数量、配置参数,或集成到更复杂的微服务栈中进行测试。

docker 下搭建zookeeper+kafka集群 前言 最近在学docker,随着微服务的发展,服务直接部署到云主机上似乎有点浪费,于是容器化部署就被提出,并且发展迅速。学了docker总要练练,于是就学习了zookeeper和kafka,来用它们来搭建集群,在网上看了许多其他大神的博客,有多机器搭建集群,也有单节点搭建的伪集群,做了参考,我这里计划单节点搭建集群。话不多说,直接开始。 环境 CPU: 1核 内存: 2 GiB 操作系统: ... 阅读详情

相关推荐

使用 git一个仓库管理多个项目

我们需要在 git 里面创建一个空分支,该分支不继承任何提交,没有父节点,完全是一个干净的分支,这时候就需要使用 orphan。该命令会创建一个新的分支,并且该分支有前一个分支下的所有文件,我们不想提交任何内容,所以我们需要把当前内容全部删除。此时 master 分支已经有一个项目了,下面我们创建新的分支管理另一个项目。此时可以在该分支目录上初始化你的项目,在执行 git 命令提交代码。此时我们就完成了在同一个仓库管理不同项目的需求了。下载仓库到本地之后,进入项目目录,查看分支信息。

xrs151的博客 2027

用Docker Compose快速部署Hadoop-Zookeeper伪集群:开发环境极速搭建教程

本文详细介绍了如何使用Docker Compose在单机上快速搭建一个Hadoop-Zookeeper伪集群,旨在为开发测试提供极速、轻量且易于管理的大数据环境。教程涵盖了从环境准备、容器化设计到Docker Compose编排的完整流程,并提供了集群初始化脚本和常见故障排查方法,帮助开发者高效完成集群搭建。

g2h3i4j5的博客 99

从零构建知识图谱:本体工程与知识建模实战指南

本文是一份从零构建知识图谱的实战指南,重点阐述了知识建模与本体工程的核心地位。文章详细介绍了如何使用Protégé工具进行本体设计,包括定义领域、复用现有本体、构建类层次与属性约束,并讲解了如何利用D2RQ工具将关系数据库数据转换为RDF三元组,最终通过Apache Jena Fuseki搭建SPARQL端点进行知识查询与推理,让知识图谱真正“活”起来。

weixin_29057695的博客 568

在Linux系统下基于Docker安装Zookeeper集群

一、概述 Zookeeper 部署有三种方式,单机模式、集群模式、伪集群模式,接下来讲解怎么采用 Docker 的方式部署伪集群Zookeeper,当然,因为它是基于Docker安装的,我们一个容器一台服务器,所以启动的时候我们会启动三台服务器,所以还是属于真集群的部署的。 注意: 集群为大于等于3个奇数,如 3、5、7,不宜太多,集群机器多了选举和数据同步耗时长,不稳定。 二、搭建步骤 步骤一:...

weixin_42146366的博客 1664

【Web实战】微信小程序逆向

2E 70 6E 67”为带存放路径的文件名称,“00 00 11 7C”对应文件在小程序包中的具体偏移位置,“00 01 01 F7“对应文件在小程序包中的数据长度。但这并不是最初的原项目文件结构,原因是微信服务器会将小程序源码中所有的“js”文件压入“app-service.js”文件中,将所有的“json”文件压入“app-config.json”中,将所有的“wxml”文件压入“page-frame.html”文件中,“wxss”则在处理之后以“html”文件的形式存留在对应页面目录之下。

若有战,召必回 1944

树莓派安装snowboy

1、树莓派换源 参考链接:https://blog.youkuaiyun.com/qq_43556844/article/details/113615915 2、更新pip3 参考链接:https://blog.youkuaiyun.com/qq_43556844/article/details/113616214 3、存取麦克风 我们使用PortAudio作为音频输入/输出的跨平台支持。我们还使用sox作为快速实用程序来检查麦克风设置是否正确。 sudo apt-get install python-pyaudio python

qq_43556844的博客 1923

Kafka学习征途:基于Docker搭建Kafka环境

【Kafka】|总结/Edison Zhou1准备工作这里我们使用一台Linux CentOS系统的服务器来模拟三个Kafka Broker的伪集群(即一台server上开三个不同端口)环境用于学习测试,大概的准备工作有两个:安装Docker# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-c...

dotNET跨平台 463

Cyclone MAX独立编程实战:从硬件接口到SAP镜像的嵌入式烧录指南

在嵌入式系统开发与量产中,固件烧录是连接软件与硬件的关键环节。其核心原理是通过特定的调试接口(如JTAG、BDM)和编程算法,将编译后的机器码写入目标处理器的非易失性存储器。这项技术的价值在于确保软件在硬件上的可靠部署,是产品功能实现和质量保证的基础,广泛应用于汽车电子、工业控制等对一致性与可靠性要求极高的领域。独立编程器(Stand-Alone Programmer)在此基础上,通过集成存储、交互界面和任务逻辑,实现了脱离PC的自动化操作,极大提升了产线效率和现场维护的便捷性。本文以Cyclone MAX

weixin_34038293的博客 467

Zookeeper集群搭建(多节点,单机伪集群,Docker集群)

Zookeeper介绍 原理简介 ZooKeeper是一个分布式的、开源的分布式应用程序协调服务。它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步、配置维护、组和命名服务。它的设计易于编程,并使用了一个数据模型样式后熟悉的目录树结构的文件系统。它在Java中运行,并且有Java和C的绑定。 集群模型 在Zokeeper集群中,server有3重角色和四种状态 角色 状态 leader,follower,observer leading,following,observi

starsray的博客 978

MDT部署实战:除了Office,这些“装机必备”软件也能一键静默安装(含静默参数)

本文详细介绍了如何利用Microsoft Deployment Toolkit(MDT)实现企业级软件的静默安装,包括浏览器、开发工具和系统增强工具等“装机必备”软件的部署方案。通过命令行参数和MSI属性,IT运维团队可以高效构建标准化工作环境,提升部署效率并确保版本一致性。文章还提供了安装顺序控制、结果验证和常见问题排错等高级技巧。

weixin_26985923的博客 172

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用到PCIE接口,这篇文章记录了从硬件连接、内核驱动到最终实现网络通信的整个调试过程,包括可能遇到的问题和解决方案。Realtek RTL8125是为高带宽需求设计的一款高性价比2.5G以太网控制器。它不仅提供了高达2.5Gbps的网络传输速率,还具备良好的节能特性、硬件卸载引擎和广泛的操作系统支持。无论是在家庭网络、企业NAS,还是游戏和云计算等场景中,RTL8125都能为用户提供更快速、更稳定的网络连接。

flypig has a dream! 3680

Windows本地开发,用Docker快速搭建Zookeeper伪集群(附docker-compose配置)

本文详细介绍了在Windows本地开发环境下,使用Docker快速搭建Zookeeper伪集群的完整流程。通过docker-compose配置实现多节点部署,涵盖环境准备、集群架构设计、配置文件解析以及集群验证方法,帮助开发者高效构建分布式协调服务测试环境。

weixin_33672400的博客 615

MySQL数据库面试题(2022版)

序列号 内容 链接 1 Java基础知识面试题(2022版) https://blog.youkuaiyun.com/qq_43061290/article/details/124023797 2 Java集合容器面试题(2022版) https://blog.youkuaiyun.com/qq_43061290/article/details/124043363 3 Java异常面试题(2022版) https://blog.youkuaiyun.com/qq_43061290/article/details/124....

拉格朗日的学习笔记 1万+

使用 Docker搭建 ZooKeeper 集群

使用 Docker搭建 ZooKeeper 集群 背景 原来学习 ZK 时, 我是在本地搭建的伪集群, 虽然说使用起来没有什么问题, 但是总感觉部署起来有点麻烦. 刚好我发现了 ZK 已经有了 Docker 的镜像了, 于是就尝试了一下, 发现真是爽爆了, 几个命令就可以搭建一个完整的 ZK 集群. 下面我简单记录一下使用 Docker 搭建 ZK 集群的一些步骤. 镜像下载 hub.docker...

weixin_45284484的博客 1072

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

docker快速启动zookeeper&kafka本地测试伪集群

1,首先本地需要装docker环境,windows用DockerQuickStartTerminal就好,启动 2,装git客户端,能Git Bash Here的那种 3,随便找个路径建一个xml复制以下内容,到xml所在路径下右击 Git Bash Here 4,输入命令 docker-compose -f zk-multiple-kafka-multiple.yml -d up 创建容器并启...

qq_34842333的博客 400

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

使用 Docker 一步搞定 ZooKeeper 集群的搭建

作者:杨冬 欢迎转载,也请保留这段声明。谢谢! 出处: https://andyyoung01.github.io/ 或 http://andyyoung01.16mb.com/ ZooKeeper为分布式应用提供高效、高可用的分布式协调服务,它有三种运行模式:单机模式、伪集群模式和集群模式。本文通过探索ZooKeeper的官方Docker镜像,来看看怎样快速搭建一个ZooKeeper

Ryan Z 的技术日志 6710

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

zookeeper 伪集群 java_1.使用docker安装Zookeeper伪集群

## 镜像下载hub.docker.com 上有不少 ZK 镜像, 不过为了稳定起见, 我们就使用官方的 ZK 镜像吧.首先执行如下命令:```docker pull zookeeper```## ZK 镜像的基本使用### 启动 ZK 镜像```\>>> docker run --name my\_zookeeper -d zookeeper:latest```这个命令会在后台...

weixin_42676678的博客 152

Docker一键ZooKeeper伪集群的搭建

详情参考:使用 Docker 一步搞定 ZooKeeper 集群的搭建 注:其中docker-compose的使用需要先安装docker-compose,否则不能使用 安装步骤如下: 下载并安装 curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(...

u011191463的专栏 833

zookeeper-基于docker安装

参考:https://www.jianshu.com/p/a71dbcfaf098 这里通过Docker Compose的方式安装伪集群模式: 拉取镜像 docker pull zookeeper 注意:拉取最新的zookeeper镜像,可能会有点儿问题,下面能看到,可以换成3.4.13版本。但这里还是先用最新版看下问题 创建docker-compose.yml配置文件 [root@localh...

weixin_44125034的博客 320

使用Docker 安装Zookeeper 并搭建伪集群

这几天搞ZK头疼,找到一篇不错的文章。来源声明:https://segmentfault.com/a/1190000006907443镜像下载docker pull zookeeper当出现如下结果时, 表示镜像已经下载完成了:&gt;&gt;&gt; docker pull zookeeper Using default tag: latest latest: Pulling from libr...

凌晨的博客 1091

Docker搭建Zookeeper集群(神器)

大家好,我是程序员小罗,这是我的技术学习笔记。 起因 由于最近在学习zookeeper的原理,所以需要在安装一个集群来实验一些特性加深理解。 但是问题来了,我们作为个人学习者,要搭建集群又没有那么多机器,要么就是搭建伪集群,或者就是需要安装一个虚拟机软件(比如vmWare),装多个虚拟机。 这两种方法我之前都试过,都不太理想,一个需要改端口,一种需要安装很多虚拟机,而且换了电...

程序员七哥 512

Docker Zookeeper集群搭建(伪集群)

主要通过修改容器 zookeeper 里面的配置文件实现 1、Docker安装 zookeeper镜像获取各个版本的docker安装需要自行百度, 基本上都是采用 yum install docke 或者 apt-get install docker 等方式安装 2、Docker版本 [root@localhost ~]$ docker version Client: Versio...

好记性不如烂笔头 2731

用 Docker 快速搭建 Kafka 集群

版本 JDK 14 Zookeeper Kafka 安装 Zookeeper 和 Kafka Kafka 依赖 Zookeeper,所以我们需要在安装 Kafka 之前先拥有 Zookeeper。准备如下的 docker-compose.yaml 文件,将文件中的主机地址 192.168.1.100 替换成你自己的环境中的主机地址即可。 version: "3" services: zookeeper: image: zookeeper build: context:.

曾是然的博客 347
上一篇: 微服务架构六层模型详解:从基础设施到接入治理
下一篇: 基于SpringBoot和Dubbo的分布式服务架构实现服务远程调用
IT_WEH_coder
博客等级 码龄5年 2万+粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT_WEH_coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值