docker安装kafka

news2024/11/14 23:50:09

1.下载镜像

docker pull wurstmeister/kafka
docker pull zookeeper:latest

2.启动镜像

1)启动zookeeper

docker run -d -p2181:2181 -v /etc/localtime:/etc/localtime --name zookeeper zookeeper:latest

2)启动kafka

docker run -d -p9092:9092 \
 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
 -e KAFKA_ADVERTISED_HOST_NAME=10.229.5.94 \
 -e KAFKA_ADVERTISED_PORT=9092 \
 -v /etc/localtime:/etc/localtime \
 --link zookeeper \
 --name kafka \
 wurstmeister/kafka:latest

KAFKA_ADVERTISED_HOST_NAME:写kafka所在宿主机的IP

3.验证

1)进入kafka容器

docker exec -it kafka bash

2)进入kafka目录

cd /opt/kafka_2.13-2.8.1

bin目录下存在大量对Kafka进行操作的脚本

 

3)创建一个名字为test的topic

bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test



root@9d43ff45db41:/opt/kafka_2.13-2.8.1# bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test

Created topic test.

4)查看topic

bin/kafka-topics.sh --list --zookeeper zookeeper:2181


root@9d43ff45db41:/opt/kafka_2.13-2.8.1# bin/kafka-topics.sh --list --zookeeper zookeeper:2181

test

5)运行一个生成者,向test写入数据

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

6)运行一个消费者,查看

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

 7)删除topic,test对应的topic被删除

bin/kafka-topics.sh --delete --zookeeper zookeeper:2181 --topic test


删除topic ,配置项delete.topic.enable=true开启

4.编译rdkafka

1)安装依赖

2)编译

git clone --recursive https://github.com/confluentinc/librdkafka.git

cd librdkafka

./configure --prefix=`pwd`/install

make -j4
make install

 因此,手动安装了缺少的

apt-get install libsasl2-dev -y
apt-get install libzstd-dev -y

5.使用cppkafka

apt-get install librdkafka-dev -y ///把librdkafka安装到系统目录就不需要了

cppkafka允许 C++ 应用程序使用 Apache Kafka 协议使用和生成消息。该库建立在librdkafka 之上,并提供了一个高级 API,该 API 使用现代 C++ 功能来简化代码编写,同时将包装器的性能开销保持在最低水平。

git clone --recursive https://github.com/mfontanini/cppkafka.git

cmake -DRDKAFKA_ROOT=/library/librdkafka/install -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
make 
make install

cmake  -DCMAKE_INSTALL_PREFIX=`pwd`/install ..

6.使用modern-cpp-kafka

git clone --recursive https://github.com/morganstanley/modern-cpp-kafka.git
cd modern-cpp-kafka
mkdir build
cd build
cmake  -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
make

问题解决:

1)需要注意kafka的C库和C++库的链接顺序,需要先连接C++库,后连接C库

即lrdkafka++ -lrdkafka

2)在linux在pthread可能不是默认的库,在连接时需要指定

target_link_libraries(
  test
  rdkafka++ 
  rdkafka
  pthread
)

参考Docker入门(七):使用镜像安装kafka+zookeeper_刘李404not found的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Twitter开发者账号申请

Twitter开发者账号申请 前期准备 Twitter绑定手机号 申请开发者账号要求绑定手机号,建议境外手机号,国内手机号容易出现收不到验证码的问题。一个可以正常使用的Twitter账号 被封的不可以。 开始注册 注册开发者管理平台账号 登录Twitter开发者管理…

STM32——ADC模数转换器

文章目录一、ADC模数转化器ADC简介逐次逼近型ADCADC框图二、ADC基本结构三、触发转换控制四、输入通道五、规则组的四种转换模式单次转换,非扫描模式连续转换,非扫描模式单次转换,扫描模式连续转换,扫描模式六、数据对齐七、转换时…

Linux系统下的rpm管理

文章目录Linux系统下的rpm管理1.介绍2.rpm包的简单查询指令3.rpm包的其它查询指今4.卸载rpm包5.安装rpm包Linux系统下的rpm管理 1.介绍 rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manage…

【设计篇】35 # 如何让可视化设计更加清晰?

说明 【跟月影学可视化】学习笔记。 分清信息主次&#xff0c;建立视觉层次 用醒目的颜色突出显示数据&#xff0c;把被淡化的其他视觉元素当作背景。 比如&#xff1a;平均温度与露点的散点例子 <!DOCTYPE html> <html lang"en"><head><m…

linux上安装python3.7.4

1.wget下载python3安装包 wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz2.wget下载的压缩包默认在~目录下 3.进入~目录&#xff0c;直接解压压缩包 tar -xzvf Python-3.7.2.tgz4.进入python解压后的目录&#xff0c;为python配置环境&#xff0c;指定pytho…

CMMI-培训管理

培训管理&#xff08;Training Management, TM&#xff09;是指根据机构&#xff08;或项目&#xff09;的需求来制定培训计划&#xff0c;并监督该计划的实施&#xff0c;确保培训取得预期效果。培训管理过程域是SPP模型的重要组成部分。本规范阐述了培训管理过程域的两个主要…

头歌:UDP Ping程序实现 接收并转发消息

头歌平台&#xff1a;头歌实践教学平台 (educoder.net)任务描述本关任务&#xff1a;在 Ping 服务端程序框架中&#xff0c;完成接收数据&#xff0c;并回传给相应客户端。如何接收数据包套接字数据在 UDP 通信中使用sendto()函数发送 UDP 数据。将数据发送到套接字&#xff0c…

Parallel Processing in Python - Python 中的并行处理

并行处理可以增加程序完成的任务数量&#xff0c;从而减少整体处理时间。这些有助于处理大规模问题。 参考链接&#xff1a;Parallel Processing in Python - GeeksforGeeks 1 并行处理介绍 对于并行性&#xff0c;重要的是将问题划分为不依赖于其他子单元 (或较少依赖) 的子…

【Vue中使用Echarts】大屏可视化项目整体布局(pink老师vue 版)

文章目录一、效果展示二、基本的布局三、背景四、代码布局中遇到的一些问题一、效果展示 先看一下展示的效果&#xff0c;无论是尺寸多宽的屏幕&#xff0c;都会将内容显示完整&#xff0c;做到了正正的响应式。唯一不足的是图表中的样例&#xff0c;会随着图表的缩放而变换位…

35-剑指 Offer 37. 序列化二叉树

题目 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑&#xff0c;你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 …

第02讲:HTTP操作之ElasticSearch索引操作

3.1.1、索引操作 实验1&#xff1a;创建索引 对比关系型数据库&#xff0c;创建索引就等同于创建数据库 在 Postman 中&#xff0c;向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/shopping { "acknowledged"【响应结果】: true, # true操作成功 "shards…

npm与包

1、包 1.1、什么是包 Node.js 中的第三方模块又叫做包。就像电脑和计算机指的是相同的东西&#xff0c;第三方模块和包指的是同一个概念&#xff0c;只不过叫法不同。 1.2、包的来源 不同于 Node.js 中的内置模块与自定义模块&#xff0c;包是由第三方个人或团队开发出来的&a…

跟踪数据集汇总

文章目录DanceTrack 运动跟踪数据集简介转为Labelme标注的物体检测数据集格式WiderPerson行人检测数据集简介转为Labelme标注的物体检测数据集格式DanceTrack 运动跟踪数据集 简介 DanceTrack 是一个大规模的多对象跟踪数据集。用于在遮挡、频繁交叉、同样服装和多样化身体姿…

DVWA之SQL注入漏洞与防御

数据来源 本文仅用于信息安全学习&#xff0c;请遵守相关法律法规&#xff0c;严禁用于非法途径。若观众因此作出任何危害网络安全的行为&#xff0c;后果自负&#xff0c;与本人无关。 耳熟能详的SQ注入是什么&#xff1f; 关于SQL注入漏洞&#xff0c;维基百科是这样解释的 …

传统离散制造行业的9个维度,你知道吗?

制造业是国家的经济基础&#xff0c;是立国之本、兴国之器、强国之基&#xff1b;作为我国实体经济的主体&#xff0c;是国民经济体系的重要组成部分。按照产品制造工艺过程特点&#xff0c;制造业总体上可以分为离散型制造、流程型制造、混合型制造。离散制造包括家电、家居、…

2022亚太杯数学建模E题(1月补赛)

占个位置吧&#xff0c;更新E题的详细思路代码&#xff0c;文章末尾名片获取&#xff01;ABC题已更新 持续为更新参考思路 E题思路分析&#xff1a; 第一问都是一些基础的数据分析问题&#xff0c;使用题目给出的数据稍加整理归纳即可得出结论。 E题给了4张表格数据&#x…

MySQL调优-MySQL索引优化实战二

目录 MySQL调优-MySQL索引优化实战二 分页查询优化 >>常见的分页场景优化技巧&#xff1a; 1、根据自增且连续的主键排序的分页查询 2、根据非主键字段排序的分页查询 Join关联查询优化 MySQL的表关联常见有两种算法&#xff1a; 1.嵌套循环连接 Nested-Loop Join…

Python入门注释和变量

1.1计算机的基本原理 1.2 计算机的组成 2.1编程语言与python 2.2在 Welcome to Python.org 里面进入 无脑下一步下载 下载后打开cmd&#xff0c;输入名令Python显示下载的版本号 exit&#xff08;&#xff09;退出编辑 Pycharm无脑安装 社区版无需破解&#xff0c;专业版需破…

MATLAB 矩阵数据可视化imagesc 以及 如何多图共用一个 colorbar

当遇到需要查看一个二维矩阵数据中值的大小分布情况时可以使用 MATLAB 把矩阵以图像的形式展现出来&#xff0c;这样更直观。MATLAB 的可视化函数之一是 imagesc( )&#xff0c;还有其他的方法&#xff0c;这里只介绍下 imagesc。 目录 1、单一作图 2、同时绘制多图并共用 c…

谷粒学院——第十九章、数据同步_网关

Canal 数据同步&#xff08;了解&#xff09; 网关 API 网关介绍 API 网关出现的原因是微服务架构的出现&#xff0c;不同的微服务一般会有不同的网络地址&#xff0c;而外部客户端可能 需要调用多个服务的接口才能完成一个业务需求&#xff0c;如果让客户端直接与各个微服务…