【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

MATLAB数据可视化:pcolor函数从入门到精通(附colormap调色秘籍)

本文深入解析MATLAB中pcolor函数的数据可视化应用,从核心机制、坐标网格指定到常见陷阱规避。重点揭秘colormap调色秘籍,涵盖内置色系选用原则、个性化定制方法及高级渲染技巧,助你创作出信息准确、视觉出色的专业图表,精通从数据到出版级图表的全流程。

kafka6courier的博客 246

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

单细胞分析(五)——使用Harmony进行数据整合和去批次

为了保证单细胞RNA测序数据的准确性和可靠性,需要对数据进行样本去批次处理。去批次的方法包括Harmony,SeuratV3等,这些方法可以有效地消除批次效应和技术噪声,并提高单细胞RNA测序数据的质量,为后续的数据分析提供更加可靠的基础。

阅读文献,记录学习笔记 3万+

在Simulink中实现基于深度强化学习的控制算法仿真建模

通过上述步骤,你可以在Simulink中实现基于深度强化学习的控制算法仿真建模。这种方法适用于许多复杂的控制问题,尤其是当传统控制方法难以找到有效解决方案时。随着经验的积累,你可以进一步探索不同的深度强化学习算法及其变种,以适应更广泛的应用场景。此外,还可以结合其他先进技术(如迁移学习、多智能体协作等),提升模型的表现能力。

amy_mhd的博客 415

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

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

pblh123的专栏 2670

YOLOv8改进,MobileNetV3轻量化架构改进特征提取网络,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3835

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

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

2401_84164672的博客 653

Pytorch入门实战(2)-使用BP神经网络实现MNIST手写数字识别

上一篇:Pytorch入门实战(1) - 实现线性回归 涉及知识点 Pytorch nn.Module的基本使用 Pytorch nn.Linear的基本用法 PytorchVision Transforms的基本使用 Pytorch中DataLoader的基本用法 Pytorch详解NLLLoss和CrossEntropyLoss 如何确定神经网络的层数和隐藏层神经元数量 本文内容 本文将会使用BP神经网络(就是最普通的神经网络)实现一个MNIST手写数据集的实现。话不多说,直接开始。 首先先导入需要的包

iioSnail的博客 6617

Python爬虫逆向案例:某云片滑块验证码分析-滑动验证码

今天我们看个滑块。

2201_76125393的博客 1034

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

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

征服Bug的博客 2万+

YOLOv8 超参数调优教程! 使用Ray Tune进行高效的超参数调优!

YOLOv8超参数调优教程!😎 使用Ray Tune进行高效的超参数调优!

Coding... 1万+

SpringBoot集成kafka详解

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

qq_53010925的博客 473

锂电池SOC估计 | 基于LSTM长短期记忆神经网络的锂电池SOC估计(附matlab完整代码)

锂电池SOC估计 | 基于LSTM长短期记忆神经网络的锂电池SOC估计(附matlab完整代码)

前程算法屋的博客 1023

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

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

diaoju3333的博客 629

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

liliangkuba的博客 614

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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 1383

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、付费专栏及课程。

余额充值