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

news2024/11/25 4:18:10

目录💻

  • 一、linux安装kafka
    • 1. 安装jdk
    • 2. 上传解压到/usr/local目录下
    • 3、使用kafka
  • 二、docker安装kafka
    • 1. 下载
    • 2. 安装zookeeper
    • 3. 安装kafka

一、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

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

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

相关文章

Redis分布式锁红锁

Redisson实现分布式锁 lock()上锁解析: 1,hexist判断redis是否有这个锁 2,hset设置锁,hash类型,key为锁名字,value是一对kv,k是当前redisson1的id,v为计数器,表示当前锁持有次数&am…

【详细讲解语言模型的原理、实战与评估】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

【苹果MAC】苹果电脑 LOGI罗技鼠标设置左右切换全屏页面快捷键

首先键盘设置->键盘快捷键 调度中心 设置 f1 f2 为移动一个空间(就可以快捷移动了) 想要鼠标直接控制,就需要下载官方驱动,来设置按键快捷键,触发 F1 F2 安装 LOGI OPTIONS Logi Options 是一款功能强大且便于使用…

HarmonyOS 应用开发之Stage模型绑定FA模型ServiceAbility

本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。 UIAbility关联访问ServiceAbility UIAbility关联访问ServiceAbility和UIAbility关联访问ServiceExtensionAbility的方式完全相同。 import common from ohos.app.ability.common; import hilog from o…

LabelConvert: 目标检测和图像分割数据集格式转换工具

LabelConvert LabelConvert是一个目标检测和图像分割的数据集格式转换工具,支持labelme、labelImg与YOLO、VOC和COCO 数据集格式之间的相互转换。 支持的转换格式 安装 pip install label_convert具体使用方法 由于文章篇幅所限,请移步LabelConvert官…

Linux初学(十一)中间件

一、web服务 1.1 中间件简介 中间件其实就是一类软件,中间件的作用是让用户可以看到一个网页 总结:客户端可以向服务端发送请求,服务器端会通过中间件程序来接收请求,然后处理请求,最后将处理结果返回给客户端 1.2 中…

【MySql数据库】MySQL5.7在navicat中建立连接报错1045及重装MySQL过程中3306端口号被占用释放的过程

文章目录 一、报错1、软件中报错2、navicat中报错3、数据库密码是正确的4、卸载数据库5、重装数据库发现3306端口被占用 二、释放3306端口1、找到3306端口对应的PID值2、释放3306端口号3、释放端口后,重装数据库 一、报错 1、软件中报错 2、navicat中报错 在navic…

cocos2.x => node 属性修改

简介 与节点属性相关的几个核心变量_trs、_matrix、_worldMatrix、_localMatDirty、_worldMatDirty。 _trs:存储节点的position、rotation、scale _matrix:存储节点的缩放、位移、旋转三者合一的变化矩陈(仿射矩陈) _worldMat…

linux基础命令篇:Linux基础命令讲解——文件浏览(cat、less、head、tail和grep)

Linux基础命令讲解——文件浏览(cat、less、head、tail和grep) 本文详细介绍Linux中的cat、less、head、tail和grep命令,这些命令在日常工作中非常实用,以下是关于这些命令的详细介绍: 1. cat命令:用于查看…

简明Pytorch分布式训练 — DistributedDataParallel 实践

上一次的Pytorch单机多卡训练主要介绍了Pytorch里分布式训练的基本原理,DP和DDP的大致过程,以及二者的区别,并分别写了一个小样作为参考。小样毕竟还是忽略了很多细节和工程实践时的一些处理方式的。实践出真知,今天(简…

每日面经分享(http、python)

1. http和HTTPS的区别,http的响应流程 a. 区别: i. 安全性:HTTP是明文传输数据,不提供加密保护,因此数据容易被窃听和篡改。而HTTPS使用SSL/TLS协议对数据进行加密和身份验证,提供更高的安全性。 ii. 端口…

新网站秒收录技术,新网站百度收录时间

在建立新网站后,让它尽快被搜索引擎收录是网站主最为关注的事情之一。百度作为中国最大的搜索引擎,网站被其快速收录对于增加曝光和流量至关重要。本文将介绍一些新网站秒收录技术,以及一般情况下新网站被百度收录需要的时间。 新网站秒收录技…

百度资源平台链接提交

百度资源平台是百度搜索引擎提供的一个重要工具,用于帮助网站主将自己的网站链接提交给百度搜索引擎,以便更快地被收录和展示在搜索结果中。以下将就百度资源平台链接提交的概念、操作方法以及其对网站收录和曝光的影响进行探讨: 什么是百度资…

docker-compose安装jenkins

1、环境准备:准备安装好docker的服务器一台 2、在服务器上创建一个目录用于安装Jenkins mkdir jenkins3、下载好要挂载的:maven、jkd;并将下载好的tar.gz包上传至服务器待安装目录中并解压 tar -xzvf tar -xzvf apache-maven-3.9.6-bin.tar…

最短路-Floyd Dijkstrea

Floyd算法 一种求解“多源最短路”问题的算法 在Floyd算法中,图一般用邻接矩阵存储,边权可正可负(但不允许负环),利用动态规划的思想,逐步求解出任意两点之间的最短距离 int d[N][N],初始为无穷 d[i][j…

生信数据分析——GO+KEGG富集分析

生信数据分析——GOKEGG富集分析 目录 生信数据分析——GOKEGG富集分析1. 富集分析基础知识2. GO富集分析(Rstudio)3. KEGG富集分析(Rstudio) 1. 富集分析基础知识 1.1 为什么要做功能富集分析? 转录组学数据得到的基…

设计模式6--抽象工厂模式

定义 案例一 案例二 优缺点

【2023】kafka入门学习与使用(kafka-2)

目录💻 一、基本介绍1、产生背景2、 消息队列介绍2.1、消息队列的本质作用2.2、消息队列的使用场景2.3、消息队列的两种模式2.4、消息队列选型: 二、kafka组件1、核心组件概念2、架构3、基本使用3.1、消费消息3.2、单播和多播消息的实现 4、主题和分区4.…

QT:如何在程序密集响应时,界面不会卡住?

前因: 当调用QApplication::exec()时,就启动了QT的事件循环。在开始的时候QT会发出一些事件命令来显示和绘制窗口部件。 在这之后,事件循环就开始运行,它不断检查是否有事件发生并且把这些事件发生给应用程序的QObject。 当处理…

HarmonyOS 应用开发之FA模型绑定Stage模型ServiceExtensionAbility

本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件。 PageAbility关联访问ServiceExtensionAbility PageAbility关联访问ServiceExtensionAbility和PageAbility关联访问ServiceAbility的方式完全相同。 import featureAbility from ohos.ability…