docker服务编排 yml文件

安装:yum install docker-compose

version: '3.1'
services:zoo1:image: wurstmeister/zookeeperrestart: alwayshostname: zoo1container_name: zoo1ports:- 2184:2181      将zk1,主机映射到容器上volumes:关联卷路径- /data/wangzunbin/volume/zkcluster/zoo1/data:/data:Z- /data/wangzunbin/volume/zkcluster/zoo1/datalog:/datalog:Zenvironment:ZOO_MY_ID: 1ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888zoo2:image: wurstmeister/zookeeperrestart: alwayshostname: zoo2container_name: zoo2ports:- 2185:2181                将zk2,主机映射到容器上volumes:- /data/wangzunbin/volume/zkcluster/zoo2/data:/data:Z- /data/wangzunbin/volume/zkcluster/zoo2/datalog:/datalog:Zenvironment:ZOO_MY_ID: 2ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888zoo3:image: wurstmeister/zookeeperrestart: alwayshostname: zoo3container_name: zoo3ports:- 2186:2181                将zk3,主机映射到容器上volumes:- /data/wangzunbin/volume/zkcluster/zoo3/data:/data:Z- /data/wangzunbin/volume/zkcluster/zoo3/datalog:/datalog:Zenvironment:ZOO_MY_ID: 3ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
**`zoo1,zoo2,zoo3,,,,,zk集群`**kafka1:image: wurstmeister/kafkarestart: alwayshostname: kafka1container_name: kafka1ports:- 9092:9092    开放映射端口environment:KAFKA_ADVERTISED_HOST_NAME: kafka1     设置主机名,跟本地host文件设置有关联KAFKA_ADVERTISED_PORT: 9092  KAFKA_BROKER_ID: 1     设置brokerKAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:9092KAFKA_LISTENERS: PLAINTEXT://kafka1:9092volumes:- /data/wangzunbin/volume/kfkluster/kafka1/logs:/kafka:Zexternal_links:- zoo1- zoo2- zoo3kafka2:image: wurstmeister/kafkarestart: alwayshostname: kafka2container_name: kafka2ports:- 9093:9092environment:KAFKA_ADVERTISED_HOST_NAME: kafka2KAFKA_ADVERTISED_PORT: 9092KAFKA_BROKER_ID: 2KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka2:9092KAFKA_LISTENERS: PLAINTEXT://kafka2:9092volumes:- /data/wangzunbin/volume/kfkluster/kafka2/logs:/kafka:Zexternal_links:- zoo1- zoo2- zoo3kafka3:image: wurstmeister/kafkarestart: alwayshostname: kafka3container_name: kafka3ports:- 9094:9092environment:KAFKA_ADVERTISED_HOST_NAME: kafka3KAFKA_ADVERTISED_PORT: 9092KAFKA_BROKER_ID: 3KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka3:9092KAFKA_LISTENERS: PLAINTEXT://kafka3:9092volumes:- /data/wangzunbin/volume/kfkluster/kafka3/logs:/kafka:Zexternal_links:- zoo1- zoo2- zoo3
kafka1,2,3,作为kafka集群,由port进行映射,通过9092-3,4-》9092

docker-compose up -d 进行将文件实现好

docker命令:拉取imgage (wurstmeister/kafka wurstmeister/zookeeper)

创建容器container_name: kafka3,kafka2,kafka1,zoo1,zoo2,zoo3
重启容器docker container restart  容器名或id名
进入容器docker exec -it 容器名 /bin/bash   进入容器终端
修改配置文件重启容器,修改配置失效,

创建topic 副本,分区

kafka-topics.sh --create --zookeeper xxxxxxxxxxxx:2184
–replication-factor 3 --partitions 5 --topic TestTopic

查看分区信息

kafka-topics.sh --describe --zookeeper xxxxxxxxxxxx:2184 --topic
TestTopic

本地修改host===》如本地出异常hostname等问题填写

C:\Windows\System32\drivers\etc

    {ip  服务器} kafka1{ip  服务器} kafka2{ip  服务器} kafka3

本地创建生产者,

public class Demo {public static void main(String[] args) {//创建一个Properties对象,用于存储连接kafka所需要的配置信息Properties kafkaProps = new Properties();
//配置kafka集群地址kafkaProps.put("bootstrap.servers", "xxxx:9092,xxxx:9093,xxxx:9094");
//向kafka集群发送消息,除了消息值本身,还包括key信息,key信息用于消息在partition之间均匀分布。
//发送消息的key,类型为String,使用String类型的序列化器kafkaProps.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
//发送消息的value,类型为String,使用String类型的序列化器kafkaProps.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
//创建一个KafkaProducer对象,传入上面创建的Properties对象KafkaProducer<String, String> producer = new KafkaProducer<String, String>(kafkaProps);
/*** 使用ProducerRecord<String, String>(String topic, String key, String value)构造函数创建消息对象* 构造函数接受三个参数:* topic--告诉kafkaProducer消息发送到哪个topic;* key--告诉kafkaProducer,所发送消息的key值,注意:key值类型需与前面设置的key.serializer值匹配* value--告诉kafkaProducer,所发送消息的value值,即消息内容。注意:value值类型需与前面设置的value.serializer值匹配*/ProducerRecord<String, String> record =new ProducerRecord<>("TestTopic", "messageKey", "hello kafka");try {//发送前面创建的消息对象ProducerRecord到kafka集群//发送消息过程中可能发送错误,如无法连接kafka集群,所以在这里使用捕获异常代码producer.send(record);//关闭kafkaProducer对象producer.close();} catch (Exception e) {e.printStackTrace();}}
}

最终实现效果,消费者接收消息

bash-5.1# ./kafka-console-consumer.sh --bootstrap-server xxxxxxxxx:9093 --topic TestTopic> `hello kafka`bash-5.1# ./kafka-console-consumer.sh --bootstrap-server xxxxxxxxx:9092 --topic TestTopic> `hello kafka`bash-5.1# ./kafka-console-consumer.sh --bootstrap-server xxxxxxxxx:9094 --topic TestTopic> `hello kafka`

zk+kafka集群相关推荐

  1. Kafka 集群搭建(含 ZK 模式和 Kraft 模式)

    前言 环境介绍 虚拟机软件:VirtualBox Linux 发行版本:Ubuntu 20.04.4 虚拟机核心数:1 core 虚拟机内存:2 GB JDK 版本:1.8.0_202 ZK 版本:3 ...

  2. java kafka 集群消费_kafka集群搭建和使用Java写kafka生产者消费者

    转自:http://chengjianxiaoxue.iteye.com/blog/2190488 1 kafka集群搭建 1.zookeeper集群 搭建在110, 111,112 2.kafka使 ...

  3. 搭建zookeeper+kafka集群

      搭建zookeeper+kafka集群 一.环境及准备 集群环境:   软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或 ...

  4. kafka之四:Kafka集群搭建

    1.软件环境 1.linux一台或多台,大于等于2 2.已经搭建好的zookeeper集群 3.软件版本kafka_2.11-0.9.0.1.tgz 2.创建目录并下载安装软件 #创建目录 cd /o ...

  5. 安装搭建kafka集群

    文章目录 一.简介 二.kafka架构 三.kafka安装部署 四.启动kafka集群 五.测试 一.简介 Kafka,分布式的消息队列系统(Message Queue)官网:https://kafk ...

  6. php连接kafka集群,Kafka集群环境配置

    Kafka集群环境配置 1 环境准备 1.1 集群规划 Node02 Node03 Node04 zk zk zk kafka kafka kafka 1.2 jar包下载 安装包:kafka_2.1 ...

  7. 融云发送自定义消息_数据源管理 | Kafka集群环境搭建,消息存储机制详解

    一.Kafka集群环境 1.环境版本 版本:kafka2.11,zookeeper3.4 注意:这里zookeeper3.4也是基于集群模式部署. 2.解压重命名 tar -zxvf kafka_2. ...

  8. Apache Kafka-初体验Kafka(03)-Centos7下搭建kafka集群

    文章目录 概述 部署信息 配置信息 验证 概述 对于kafka来说,一个单独的broker意味着kafka集群中只有一个节点.要想增加kafka集群中的节点数量,只需要多启动几个broker实例即可. ...

  9. Zookeeper+kafka集群搭建,问题(zoo.cfg file is running,it‘s probably not running,option ‘UseCompressedOops‘)

    1. 下载Zookeeper 1.1 从Zookeeper官网选择对应版本下载,我这边是3.4.5,如下图. 1.2 将下载的压缩包拉到要安装集群主机的 /usr/local 目录(你也可以进入 /u ...

  10. Kafka学习:CentOS7下Kafka集群搭建

    文章目录 准备 集群安装 1.创建目录 2.解压缩安装包 3.修改配置文件 4.启动 5.查看集群是否安装成功 测试Kafka 1.创建测试mytopic 2.查看mytopic副本信息 3.查看已创 ...

最新文章

  1. [置顶] 应广大童鞋的要求提供一个封装模块,直接和ADB 服务进程交互
  2. 【备份恢复】Oracle 数据备份与恢复微实践
  3. linux处理机调度实验报告,处理机调度试验
  4. 【WSN同步捕获】无线传感器网络的同步捕获和跟踪误差的MATLAB仿真
  5. tensorflow中张量、常量、变量、占位符
  6. boost asio resolver
  7. c#鼠标点击TextBox控件后清空默认字体-完美解决方案
  8. win11开机记录如何查看 Windows11查看开机记录的设备方法
  9. 使用get传参的时候,参数在后头获取不到或者出现别的错误。
  10. python里的点_Python里面这些点,据说80%的新手都会一脸懵逼
  11. 计算机能安装几个硬盘,一台电脑最多能接多少个硬盘?
  12. 你知道CAD中的样条曲线的绘制方法吗?
  13. 生活随记 - 春节快递延误的正确处理方式
  14. 北京“快速AI体温检测”应对返工潮;盖茨基金出资1亿美元抗击新冠病毒;腾讯再设2亿元资金池抗击疫情...
  15. Spring Boot 2.0 配置图文教程第 2 章 Spring Boot 配置## 书信息 demo.book.name=[Spring Boot 2.x Core Action] demo.b
  16. C++控制台操作(基本操作的代码)
  17. 关于软件测试行业现状的一些思考
  18. android5自动刷,nexus5怎么刷Android5.0 nexus5刷Android5.0教程
  19. win10 家庭中文版没有Hyper-V选项
  20. h5+js调取相机做取景框_使用Vue.js开发微信小程序:开源框架mpvue解析

热门文章

  1. Linux chrome/firefox flash过期问题解决办法
  2. 数学猜想验证步骤_小学数学思维之猜想验证法
  3. VirtualBox中不能正常使用OpneGL的问题
  4. 调整html元素大小 resize
  5. 名字作诗,拯救诗歌的最后一根稻草
  6. python 3d重建_python三维重建
  7. 用c语言开发一个安卓APP,c语言开发的app-用c语言可以开发app吗
  8. php 月份查询生日_PHP判断日期(生日)格式是否正确合法的方法
  9. excel如何制作图表
  10. 如何下载Eclipse?