【2023】kafka在linux和docker安装(kafka-1)

Linux 下使用 Docker-Compose 安装 Kafka 和 Kafka-UI(KRaft 模式) 通过 Kafka-UI 可以可视化查看消息流转情况,maven 依赖版本最好保持和 kafka 一致或高于 kafka 的版本。搭建本地 Kafka 环境,通过 Kafka-UI 可视化管理工具进行消息查看和调试的过程。集成在 ShenYu 插件中的 Kafka 消费者代码如下,用于日志订阅消费。创建的,Kafka 容器内的进程(通常为 UID 1000)无权限写入。是我从容器中搞出来的完整配置,按需修改端口和 ip, 我将端口改成了。Kafka 和 Kafka-UI 的完整部署配置。 阅读详情

一、linux安装kafka

环境主机 mac m2、虚拟机Ubuntu22.04.4

1. 安装jdk

yum install -y java-1.8.0-openjdk.x86_64

下载kafka,zk安装包

链接: https://pan.baidu.com/s/1FWKZWv-7H_xYSOs6iZhoEg?pwd=jddh 提取码: jddh

2. 上传解压到/usr/local目录下

    #通过解压命令
    tar -zvxf 压缩文件
  1. 执行配置

    • 安装jdk
      jdk不同的系统的有区别,就不做上传了,环境变量如果是通过上面的命令执行的,可以不用配置

      #解压
      tar -xvzf jdk-8u401-linux-aarch64.tar.gz
      #配置环境变量
      vim /etc/profile
      
      #配置, 
      exportJAVA_HOME=/usr/local/jdk1.8.0_401  #路径改为自己的解压路径
      exportCLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
      exportPATH=$PATH:${JAVA_HOME}/bin
      
      #重置环境变量
      source /etc/profile
      
      #查看是否安装成功
      java -version
      
    • 安装配置zookeeper

      #进入到zk的conf目录下
      cd /usr/local/zookeeper-3.4.12
      
      #查看zookeeper-3.4.12路径下是否有data文件,没有的话创建一个
      mkdir data
      
      #进入conf存放配置文件目录
      cd conf
      
      #通过zoo模版文件创建zoo.cfg配置文件
      cp zoo_sample.cfg ./zoo.cfg
      
    • 修改配置文件:其他的不用修改

      dataDir=/usr/local/zookeeper-3.4.12/data #存放节点数据路径地址
      

      在这里插入图片描述

    • 配置kafka

      #进入解压的kafka目录,可以修改kafka文件名
      mv kafka_2.12-2.4.1 kafka
      
      #在kafka里面添加一个logs目录
      mkdir logs
      
      #修改配置文件
      cd /usr/local/kafka/config
      vim server.properties
      
      • 修改配置文件

        注意下面几个配置

        broker.id=0 #如果是集群,这个broker.id不能重复
        log.dirs=usr/local/kafka/kafka-logs #数据日志存放位置,填自己的存放地址
        zookeeper.connect=10.211.55.4:2181 #zookeeper地址,填自己的ip
        
  2. 创建一键启动、关闭脚本

    cd /usr/local

    • 创建kafka启动文件脚本:vim

      #!/bin/sh
      #启动zookeeper
      /usr/local/zookeeper-3.4.12/bin/zkServer.sh start 
      
      sleep 3 #等3秒后执行
      
      #启动kafka脚本文件 使用的配置文件
      /usr/local/kafka/bin/kafka-server-start.sh  /usr/local/kafka/config/server.properties &
      
      
    • 创建kafka关闭脚本

      #!/bin/sh
      
      #关闭kafka
      /usr/local/kafka/bin/kafka-server-stop.sh &
      
      sleep 3 #等3秒后执行
      
      #关闭zookeeper
      /usr/local/zookeeper-3.4.12/bin/zkServer.sh stop
      
  • 把文件设置为可执行文件

    chmod +x kafka_start.sh
     
    chmod +x kafka_stop.sh
    
  • 设置开机自启动

    vi /etc/rc.d/rc.local #编辑,在最后添加一行
    sh /usr/local/kafka/kafka_start.sh & #设置开机自动在后台运行脚本
    
  1. 启动和关闭

    cd /usr/local
    #启动
    ./kafka_start.sh
    #关闭
    ./kafka_stop.sh
    

启动成功后通过jps查看是否有对应的进程

3、使用kafka

先进入kafka/bin目录下

  • . 创建topic
    1. ./kafka-topics.sh:脚本路径,都默认存放bin目录下
    2. my_topic:主题名字
    3. localhost:9092 :zookeeper的ip和端口
    4. 3 :分区设置三个
    5. 1:副本设置一个
#:脚本地址 
./kafka-topics.sh --create --topic my_topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
  • 查看主题
#查看所有主题
./kafka-topics.sh --list --bootstrap-server localhost:9092

#查看主题详情
./kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092
  • 删除主题
./kafka-topics.sh --delete --topic my_topic --bootstrap-server localhost:9092
  • 创建生产者并且生产消息

./kafka-console-producer.sh --topic my_topic --broker-list localhost:909
  • 创建消费者并且指定消费者
    1. my_consumer_group:消费组
    2. my_topic:消费者

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --group my_consumer_group

二、docker安装kafka

1. 下载

docker pull wurstmeister/kafka   //下载命令
docker pull zookeeper

2. 安装zookeeper

docker run -d --name zookeeper-kafka -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper

3. 安装kafka

docker run -d --name kafka-server2 \
-p 9092:9092 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.0.102:2181 \ #不能localhost
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.102:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka

4.测试使用

  • 进入kafka容器(镜像名字改为自己定义的)
docker exec -it kafka-server2 /bin/bash
  • 生产端生产数据
 /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

在这里插入图片描述

消费端消费数据

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

在这里插入图片描述

如果可以生产和消费,则表示已经没有问题了

【Kafka源码解读和使用指南】第02篇:手把手搭建Kafka开发环境——Win/Mac/Linux三平台全攻略 Kafka开发环境搭建指南(Win/Mac/Linux) 本文详细介绍了在Windows、macOS和Linux三大平台搭建Apache Kafka开发环境的完整流程。主要内容包括: 前置准备:各平台JDK安装与配置指南,明确不同Kafka版本对JDK的要求(Kafka 4.x需JDK 11+) 下载安装:提供Kafka官方下载地址,解释版本命名规则(如kafka_2.13-3.9.0中的Scala版本),并展示各平台解压方法 KRaft模式:重点讲解Kafka 3.3+引入的无ZooKeeper运行模式, 阅读详情

相关推荐

解决Kafka启动时的权限拒绝问题

在分布式系统中,文件权限管理是确保数据安全与系统稳定运行的基础。Kafka作为高性能消息队列,其启动过程中会通过文件锁机制保证对日志目录的独占访问,这是防止数据损坏的重要设计。当进程因权限不足无法创建.lock文件时,就会抛出经典的Permission denied错误。这类问题在Linux系统运维和Docker容器化部署中尤为常见,涉及用户权限、SELinux策略、文件系统挂载等多个技术点。通过合理配置目录权限、使用专用系统用户、或调整安全策略,可以有效解决此类问题。掌握这些调试技巧,对于构建稳定的Kaf

weixin_30765505的博客 413

【Linux】Docker安装kafka教程(超详细保姆篇)

docker exec:这是Docker的一个命令,用于在运行的Docker容器中执行命令。 - -it:这是两个选项的组合。-i 选项让Docker的输入保持打开,-t 选项让Docker分配一个伪终端(pseudo-tty)。 kafka:这是你要在其中执行命令的Docker容器的名称。 /bin/bash:这是你要在Docker容器中执行的命令。在这个例子中,你是在打开一个bash shell

A的博客 1万+

Debian 10 生产级 Kafka 手动部署指南:从 JDK 调优到 systemd 深度管控

Apache Kafka 是一种高吞吐、低延迟的分布式流处理平台,其稳定运行高度依赖底层操作系统与 JVM 的协同调优。理解 Kafka 原理需掌握其核心组件(Broker、Producer/Consumer、Controller)与协调机制(如 KRaft 或 ZooKeeper),而技术价值体现在实时数据管道、事件驱动架构和弹性水平扩展能力。典型应用场景包括支付对账、IoT 设备上报和实时风控系统,这些场景对消息持久性、端到端延迟和集群可用性提出严苛要求。在 Debian 10 这类以稳定性见长的 LT

weixin_30621959的博客 339

Linux 下 docker 安装 kafka

Ubuntu、Docker、Kafka

bigcucumber的博客 951

143.Kafka(一):kafka基本概念,安装启动,集群搭建,消息发送和接收

kafka基本概念,安装启动,集群搭建,消息发送和接收

鹏哥哥Aaa 403

我的架构梦:(八十六)消息中间件之Kafka在Linux环境下的搭建

一、环境准备 jdk下载地址链接:jdk 1.8,提取码: dv5h zookeeper下载地址链接:zookeeper3.4.14 ,提取码: 3dch kafka下载地址链接:kafka2.12,提取码: 61bc 1、Java环境为前提 1.1 上传jdk-8u261-linux-x64.rpm到服务器并安装 # 安装命令 rpm -ivh jdk-8u261-linux-x64.rpm 1.2 配置环境变量 # 编辑配置文件,jdk的bin目录到/etc/profile文件,对所有用户的she

riemann_的博客 948

利用docker搭建kafka集群并且进行相应的实践

最后先完成前期准备工作,再来看这篇文章。

m0_74216612的博客 1745

华为交换机密码策略配置避坑指南:明文/密文、长度、复杂度,一个命令就出错

本文详细解析华为交换机密码策略配置的关键要点,包括密码长度、复杂度及等保合规要求。通过实战案例揭示常见配置误区,如明文/密文密码格式差异、复杂度检查联动机制等,帮助网络工程师避免安全漏洞。特别针对等保二级和三级要求,提供可直接落地的安全加固方案。

weixin_30879169的博客 368

Linux下数据库和中间件安装配置

部署 zookeeper、kafka、redis、mysql、clichkhouse。(3)修改mysql密码校验规则与密码长度(必须先修改密码,否则这个无法执行)连接客户端:clickhouse-client --password。其中zookeeper、kafka、redis采用docker部署。启动service clickhouse-server start。到此,所有服务已成功安装完成。2、安装,要输入默认用户密码。红色部分为密文放于xml文件。2、安装mysql服务。3、启动MySql服务。

wolf1105的博客 1579

小程序选项卡以及swiper套用(跨页面)

选项卡tab和swpier之间的套用 其实我之前写过一篇选项卡的切换demo,大家阔以参考一下 小程序多个选项卡切换 那今天写这个demo呢,是因为项目需求,所以仅供参考。 我是拿到了home.wxml的数组下标, 通过url传参的方式去将这个id传到下一个页面, 下一个页面接收以后再将id赋值给对应的tabI或者currentId(swiper 的下标) 实现上一个页面进来以后直接进入对应的页...

Rechal_Mei的博客 3597

Diffix3D+复现

上下载模型,将其放在一个目录中,并将目录名填在demo代码中from_pretrained的cache_dir参数里。目录结构应该是"<PATH>/nvidia/difix/…给的requirements文件中pytorch和xformers的版本没有指定,这里测试过以下版本,可以成功运行。将readme中的demo代码新建一个python脚本复制进去,然后将脚本放在src目录中运行。如果遇到网络问题无法加载huggingface上的预训练模型,可以手动从。如果出现,以下错误重新。

NeverMakeIt的博客 1085

2023_Spark_实验二十四:Kafka集群环境搭建

KafKa集群环境的搭建,zookeeper集群搭建,Kafka部署验证,2023

pblh123的专栏 2670

【Zemax光学设计实训一】---单透镜光学设计

建立一个焦距为100mm、入瞳直径为25mm的单透镜系统,该透镜中心厚度为4mm,其两个面的曲率半径分别为100mm、-100mm,全视场2w=10°。该系统在可见光下工作,采用BK7玻璃,光阑设置在人射光线遇到的透镜的第一个光学表面;并对其展开优化。

yh的博客 3618

Docker 笔记(1),2024年最新Linux运维框架

为了做好运维面试路上的助攻手,特整理了上百道。

2401_84164672的博客 653

STM32单片机远程升级

stm32远程升级

fang_yang_wa的博客 1万+

Open3D 基于法向量夹角的特征点提取

基于法向量夹角的特征点提取是一种在点云处理中用于识别表面变化显著区域的技术。通过计算点云中每个点的法向量与其邻域点法向量之间的夹角,可以判断点云表面的局部变化程度,并提取那些法向量变化较大的点作为特征点。这种方法特别适用于提取边缘、角点等关键几何特征。

纵马踏花向自由 1554

Linux运维工程师面试题全面汇总(2023)

转存失败重新上传取消①PV - 物理卷:物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。②VG - 卷组:卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。③LV - 逻辑卷:逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。

征服Bug的博客 2万+

keil内无法打开ccs图形编程,弹框提示:无法加载一下来源的扩展程序:C:\...清单文件缺失或不可读取,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1377

SpringBoot集成kafka详解

文章摘要:本文介绍了如何使用SpringBoot集成Kafka消息队列。首先通过IDEA创建项目并添加Kafka和Lombok依赖,配置application.yml文件设置Kafka连接参数。然后分别创建生产者接口和消费者监听器,使用KafkaTemplate发送消息并通过@KafkaListener接收消息。最后提供了两种启动Kafka的方式:本地启动需先启动Zookeeper,再启动Kafka服务;Linux服务器上建议使用Docker容器化部署,需注意配置正确的对外暴露IP地址以实现远程连接。测试结

qq_53010925的博客 473

匹配博弈双边选择算法

刚学图论匹配方面的一些知识,记录下来。

ymengm的博客 2435

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Debian 10 手动部署 Kafka 3.6.1 实战指南

Apache Kafka 是一种高吞吐、分布式、持久化的消息流处理系统,其核心原理基于发布-订阅模型、分区副本机制与 ZooKeeper(或 KRaft)协调服务。技术价值在于解耦微服务、支撑实时数据管道与事件驱动架构。典型应用场景包括日志聚合、用户行为追踪、订单异步处理及流式计算前置缓冲。在 Debian 10 这类长期支持(LTS)发行版中,因官方 APT 源不提供 Kafka 包,且依赖 Java 运行时与严格版本对齐的 ZooKeeper,必须采用二进制直装方式完成 instalar。本文聚焦 Ka

diaoju3333的博客 629

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【已解决】python的kafka-python包连接kafka报认证失败

我把py文件打包成二进制文件,在linux上执行就一直报认证失败,后来确认登录信息、认证方式没有问题,把这个kafka包卸载掉,重新打包,问题解决。先说原因:安装python包的时候,多装了一个kafka的包:kafka 1.3.5。

liliangkuba的博客 614

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Ubuntu 18.04 手动部署 Kafka 3.6.1 完整指南

Apache Kafka 是一种基于分布式日志的高吞吐消息队列系统,其核心原理依赖于分区副本机制、ZooKeeper 协调服务与 JVM 运行时环境。掌握 Kafka 部署不仅关乎消息收发功能实现,更直接影响流处理架构(如 Flink/Spark Streaming)的数据接入稳定性与可运维性。在 Ubuntu 18.04 这类长期支持但源已归档的系统中,手动部署二进制包成为保障版本可控、路径清晰和调试自由的关键实践。本文聚焦 Kafka 3.6.1 与 ZooKeeper 3.8.3 的协同安装,覆盖 O

weixin_33849215的博客 411

【Docker】

Docker诞生于开发运维环境不一致的痛点,通过“镜像打包+容器隔离”实现应用快速部署与高效资源利用。其核心思想源于集装箱,以轻量级容器替代虚拟机,显著提升性能与可移植性。基于Client-Server架构,Docker由引擎、镜像、容器与仓库构成,支持DevOps全流程。官方推荐在Linux服务器上通过apt源安装Docker Engine,确保稳定与可维护性,适用于生产环境。

athicket 1384

DigitalOcean上稳定部署Kafka Schema Registry实战指南

Kafka Schema Registry是保障Avro/Protobuf等结构化数据在消息系统中一致演化的关键组件,其核心原理是通过集中式schema存储与版本化管理,实现生产者与消费者间的契约约束。技术价值在于避免因字段变更导致的反序列化失败、数据解析错乱等线上故障,显著提升微服务间数据交互的可靠性与可维护性。典型应用场景包括实时数仓建设、IoT设备数据标准化、金融交易事件溯源等强schema依赖架构。本文聚焦在DigitalOcean Droplet环境下的手动部署实践,覆盖JDK调优、ZooKeep

weixin_34245749的博客 381

Linux下启动各种软件以及安装服务命令!!!

1.Windows 2.linux 二、nginx 1.linux启动 查看pid 三、上传和下载 四、下载解压方法的命令 1.zip包下载zip包 解压zip包 2.tar.tz包解压 五、清空某个文件 六、防火墙 1.查看状态 2,重启 3. 查询端口是否开放 4.开放端口

weixin_47428270的博客 1604
上一篇: 【2024】java使用WebClient实现chatGPT调用建立web socket连接
下一篇: 【2024】kafka入门学习与使用(kafka-2)
方渐鸿
博客等级 码龄6年 1万+粉丝 90原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值