Ubuntu18.04 docker kafka 本地测试环境搭建

这篇具有很好参考价值的文章主要介绍了Ubuntu18.04 docker kafka 本地测试环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、kafka 介绍

Kafka是一种分布式流处理平台,也是一个高吞吐量的分布式发布订阅消息系统。它由LinkedIn开发,并于2011年成为Apache软件基金会的顶级项目。

Kafka的设计目标是能够处理大规模的消息流,并提供持久性、高吞吐量和低延迟的特性。它的核心概念是发布-订阅模型,其中消息被组织成一个或多个主题(Topics),生产者(Producers)将消息发布到主题中,而消费者(Consumers)从主题中订阅并处理消息。

Kafka的主要特点包括:

  1. 高吞吐量:Kafka能够处理大规模的消息流,每秒可以处理数百万条消息。

  2. 持久性:Kafka将消息持久化存储在磁盘上,确保消息的可靠性和持久性。

  3. 可扩展性:Kafka采用分布式架构,可以在集群中添加更多的节点来扩展容量和吞吐量。

  4. 容错性:Kafka使用分布式复制机制来保证数据的可靠性,即使某个节点故障,数据仍然可用。

  5. 多语言支持:Kafka提供了多种编程语言的客户端接口,包括Java、Python、Go等,方便开发者使用。

Kafka在实时数据处理、日志收集、事件驱动架构等场景中被广泛应用。它被许多大型互联网公司用于构建高性能、可靠的数据管道和实时流处理系统。

二、Ubuntu docker kafka 本地测试环境搭建

2.1 docker kafka 启动

2.1.1 下载镜像

kafka需要zookeeper管理,所以需要先安装zookeeper

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

# 查看镜像是否下载成功
docker images

2.1.2 启动 wurstmeister/zookeeper

# 启动镜像生成容器
docker run -d --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 wurstmeister/zookeeper

这个Docker命令是用来启动一个名为"zookeeper"的容器,容器的镜像是"wurstmeister/zookeeper"。下面是对命令中各个参数的详细解释:

  • -d:表示将容器以后台模式运行,即在后台运行容器而不占用当前终端窗口。
  • –name zookeeper:指定容器的名称为"zookeeper",这个名称可以自定义。
  • -p 2181:2181:指定将容器的2181端口映射到主机的2181端口,这是Zookeeper的客户端端口。
  • -p 2888:2888:指定将容器的2888端口映射到主机的2888端口,这是Zookeeper的服务器之间通信的端口。
  • -p 3888:3888:指定将容器的3888端口映射到主机的3888端口,这是Zookeeper的选举端口。
  • wurstmeister/zookeeper:指定了容器的镜像,即使用"wurstmeister/zookeeper"镜像来创建容器。

通过运行这个Docker命令,你将在后台启动一个Zookeeper容器,并将其相关端口映射到主机的相应端口上,以便访问和使用Zookeeper服务。

# 进入容器
docker exec -it kafka bash

# 其他示例
docker run -d --name zookeeper -p 0.0.0.0:2181:2181 -p 0.0.0.0:2888:2888 -p 0.0.0.0:3888:3888 wurstmeister/zookeeper

2.1.3 启动 wurstmeister/kafka

docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=10.1.36.108 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka

以下是docker run命令中各个参数的详细说明:

-d:将容器设置为后台运行模式。

–name kafka:给容器命名为"kafka"。

–publish 9092:9092:将主机的9092端口映射到容器的9092端口,用于Kafka的通信。

–link zookeeper:将容器连接到名为"zookeeper"的另一个容器。

–env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181:设置环境变量KAFKA_ZOOKEEPER_CONNECT为"zookeeper:2181",指定Kafka连接到的Zookeeper的地址。

–env KAFKA_ADVERTISED_HOST_NAME=10.1.36.108:设置环境变量KAFKA_ADVERTISED_HOST_NAME为"10.1.36.108",指定Kafka广告的主机名,即Kafka对外公开的主机名。

–env KAFKA_ADVERTISED_PORT=9092:设置环境变量KAFKA_ADVERTISED_PORT为"9092",指定Kafka广告的端口号,即Kafka对外公开的端口号。

–volume /etc/localtime:/etc/localtime:将主机的/etc/localtime文件挂载到容器的/etc/localtime文件,用于设置容器的时区与主机相同。

wurstmeister/kafka:指定要使用的Kafka镜像。

这些参数用于在Docker中运行一个名为"kafka"的容器,并配置Kafka与Zookeeper的连接以及对外公开的主机名和端口号。

2.2 docker kafka 测试数据收发

2.2.1 docker kafka 测试数据收发

docker kafka 已运行,要测试Kafka的收发数据功能,可以按照以下详细步骤进行操作:

  1. 创建一个名为"test"的topic:
docker exec -it kafka kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
  1. 在一个终端窗口中,启动一个Kafka消费者来接收消息:
docker exec -it kafka kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092
  1. 在另一个终端窗口中,启动一个Kafka生产者来发送消息:
docker exec -it kafka kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
  1. 现在你可以在Kafka生产者的终端窗口中输入消息,并按下回车键发送。你会在消费者的终端窗口中看到接收到的消息。

这样,你就可以测试Kafka的收发数据功能了。记得在测试完成后,使用Ctrl+C来停止消费者和生产者的终端进程,并可以使用以下命令删除测试topic:

docker exec -it kafka kafka-topics.sh --delete --topic test --bootstrap-server localhost:9092

希望这些步骤和命令对你有帮助!如果有任何问题,请随时告诉我。

2.2.2 windows验证

windows上下载kafkatool,然后做验证:
Ubuntu18.04 docker kafka 本地测试环境搭建,物联网,docker,kafka,容器

三、嵌入式集成

在嵌入式 C/C++ 中集成 Kafka,有几个开源库可以使用。以下是其中一些常用的库:

  1. librdkafka:librdkafka 是一个功能强大且广泛使用的 C/C++ 客户端库,用于与 Kafka 集群进行通信。它提供了生产者和消费者的 API,支持高性能、低延迟的消息传递。

  2. libkafka:libkafka 是一个轻量级的 C++ 客户端库,用于与 Kafka 进行通信。它提供了生产者和消费者的 API,支持异步和同步消息传递。

  3. rdkafka:rdkafka 是 librdkafka 的 C++ 封装库,提供了更方便的 C++ 接口。它保持了 librdkafka 的高性能和稳定性,并提供了更易用的面向对象的编程接口。

这些库都是开源的,并且在大量项目中得到了广泛的使用和验证。你可以根据你的具体需求选择适合你的库,并参考它们的文档和示例代码以获取更多详细信息和用法示例。文章来源地址https://www.toymoban.com/news/detail-554511.html

四、kafka 原理

五、参考资料

  • ubuntu18.04 docker安装kafka
  • Docker安装kafka
  • Kafka Listeners - Explained
  • 在UBUNTU中禁用IPV6协议的两种办法.MD

到了这里,关于Ubuntu18.04 docker kafka 本地测试环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu18.04环境下Gtest框架安装测试

    最新版本的Gtest下载链接:https://github.com/google/googletest 可以选择自己下载解压安装,下载的安装包为.ZIP文件时,下载unzip工具进行解压。 也可以创建一个文件夹使用命令行自动打包下载,一般习惯创建一个新的文件夹作为下载目录。 下载之后进入googletest文件夹,新建一个文

    2023年04月10日
    浏览(89)
  • 从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。 顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。 最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研

    2024年02月06日
    浏览(156)
  • 在Ubuntu18.04中搭建基于QT的opencv环境

    前言 在看这篇文章之前,需要读者已经安装了qt环境如果还没有安装可以移步至这篇文章的后半断 链接: qt移植 获取cmake-gui sudo apt-get install cmake-gui 这一步主要是一会儿编译opencv的时候会用到 获取opencv的依赖环境 sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcod

    2024年01月17日
    浏览(43)
  • ubuntu18.04安装部署环境

    更新apt源 下载mysql-server 查看mysql的状态 进入mysql终端 设置root密码 登录mysql 回到不用密码的方式登录 添加账户 root账号远程访问 下载redis-server 检查redis服务状态 修改配置文件开启远程连接 重启服务 下载nginx 配置文件夹 启动nginx服务

    2024年02月01日
    浏览(55)
  • ubuntu 18.04安装docker

    from:Install Docker Engine on Ubuntu | Docker Documentation Install from a package If you can’t use Docker’s  apt  repository to install Docker Engine, you can download the  deb  file for your release and install it manually. You need to download a new file each time you want to upgrade Docker Engine. Go to Index of linux/ubuntu/dists/. Select your

    2024年02月05日
    浏览(66)
  • Ubuntu 18.04 搭建 DHCP 服务

    最近在公司进行边缘服务器的部署工作,借此机会和大家交流一下部署中的一个技术环节——DHCP 服务器的搭建,为什么要多此一举搭建这个服务呢,用现成的他不香吗?其实,这个取决于你的实际应用场景,如果你部署的边缘服务器是批量的,你是怎么识别每台边缘服务器

    2023年04月18日
    浏览(50)
  • 【Ubuntu 18.04 搭建 DHCP 服务】

    参考Ubuntu官方文档:https://ubuntu.com/server/docs/how-to-install-and-configure-isc-dhcp-server dhcpd.conf 手册页 配置:https://maas.io/docs/about-dhcp Ubuntu 18.04(172.16.65.128/24) dhcp服务端 Ubuntu 18.04(172.16.65.x/24) dhcp客户端 1.服务端设置静态ip vim /etc/netplan/00-installer-config.yaml 2.安装配置dhcp服务 vim /e

    2024年02月14日
    浏览(53)
  • 在Ubuntu 18.04安装Docker

    安装需要的包 $ sudo apt-get update 安装 apt 依赖包,用于通过HTTPS来获取仓库 添加 Docker 的官方 GPG 密钥 设置稳定版仓库 安装 Docker-ce 启动服务 设置开机自启动并启动 Docker-ce 安装成功后默认开启,可忽略该步骤 测试运行 添加当前用户到 docker 用户组 如果仍然无法直接使用dock

    2024年02月07日
    浏览(55)
  • Ubuntu18.04 系统安装 Docker

     

    2024年02月16日
    浏览(48)
  • 【Ubuntu18.04】Docker配置镜像源

    作者主页: 爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主 爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域. https://blog.csdn.net/Code_and516?type=blog 个人简介:打工人。 持续分享:

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包