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

目录💻

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数

前言: 本次要讲的是使用.Net HttpClient拼接multipark/form-data形式post上传文件和相关参数,并接收到上传文件成功后返回过来的结果(图片地址,和是否成功)。可能有很多人会说用ajax不是就可以轻松的实现吗&#xff1f…

最优算法100例之16-连续子数组的最大和

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 输入一个整型数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 题…

Datacom HCIP笔记-OSPF协议 之二

链路:路由器之间的相连的链路 状态:链路上的参数在某一时刻的状态 单边邻居 one way? 收到对端发来的hello报文,其中没有自己的router id LSA类型: 1类LSA:描述路由器自身加入到ospf进程中的直连链路的状态…

wps没保存关闭了恢复数据教程

有时候我们因为电脑问题会忘记保存就关闭wps导致数据丢失,不知道wps没保存关闭了怎么恢复数据,其实数据是无法恢复的。 wps没保存关闭了怎么恢复数据 1、wps没有数据恢复功能,不过可以开启自动备份。 2、我们可以先点击wps左上角的“文件”…

Adaboost集成学习 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列预测(股票价格预测) 模型设计 股票价格预测是一个具有挑战性的时间序列预测问题,可以使用深度学习模型如双向长短期记忆…

书生·浦语全链路开源开放体系 第二期

文章目录 大模型背景大模型开发流程InternLM 2.0SFT与RLHFInternLM2主要亮点 书生浦语全链路开源开放体系数据-书生万卷InternLM-Train微调 XTuner评测工具 OpenCompass部署 LMDeploy智能体 Lagent智能体工具箱 AgentLego 大模型背景 专用模型:针对特定的任务&…

ChatGPT如何升级为GPT-4在国内

通过 WildCard 可以把ChatGPT升级为GPT-4 地址 1: 2155 Bailey Hill Rd 城市: Eugene 邮编: 97405 州: Oregon ChatGPT Plus/Team 一键升级,几分钟即可自动升级到 ChatGPT Plus。 选择我的邮箱账号符合要求 复制这个页面的链接即可 复制上面的link 到请在…

【ReadPapers】A Survey of Large Language Models

LLM-Survey的llm能力和评估部分内容学习笔记——思维导图 思维导图 参考资料 A Survey of Large Language Models论文的github仓库

适用于 Windows 的 6 个最佳视频转换器

视频转换器可以帮助您在设备上转换和播放不受支持的视频格式。它还可以方便地减小视频文件大小、以通用格式组织所有视频或与其他人共享文件以在不同设备上播放。 Windows 有大量视频转换器可供选择。虽然有些是免费的,但其他一些则提供迎合专业用户的高级功能。在…

深度学习pytorch——经典卷积网络之ResNet(持续更新)

错误率前五的神经网络(图-1): 图-1 可以很直观的看到,随着层数的增加Error也在逐渐降低,因此深度是非常重要的,但是学习更好的网络模型和堆叠层数一样简单吗?通过实现表明(图-2&…

神经网络 各个模块介绍(Pytorch 07)

一 网络层和块 单个神经网络(1)接受一些输入;(2)生成相应的标量输出;(3)具有一组相关 参数(parameters),更新这些参数 可以优化某目标函数。 当…

排序第五篇 归并排序

一 简介 归并排序(Merge Sort) 的基本思想是: 首先将待排序文件看成 n n n 个长度为1的有序子文件, 把这些子文件两两归并, 得到 n 2 \frac{n}{2} 2n​ 个长度为 2 的有序子文件; 然后再把这 n 2 \frac{n}{2} 2n​ 个有序的子…

Go-React做一个todolist(服务端)【一】项目初始化

后端仓库地址 地址 项目依赖 # gin go get -u github.com/gin-gonic/gin # viper日志 go get -u github.com/spf13/viper # 数据库和gorm go get -u gorm.io/driver/mysql go get -u gorm.io/gorm # uuid go get -u github.com/google/uuid # token go get -u github.com/go…

cron服务

Cron文件:Cron服务使用一个特定的配置文件来存储任务和其执行计划。在Unix系统上,这个文件通常是 /etc/crontab, 或者是位于/etc/cron.d/目录下的其他文件。 这些文件包含了任务的定义,包括执行时间和要执行的命令。 类似于 编…

JavaSE:继承和多态(上篇)

目录 一、前言 二、继承 (一)继承概念 (二)继承的语法 (三)父类成员访问 1.子类中访问父类的成员变量 1.1子类和父类不存在同名成员变量 1.2子类和父类成员变量同名 2.子类中访问父类的成员方法 &a…

SOA-面向服务架构

SOA-面向服务架构 1.概述2.SOA的设计原则包括:3. SOA实现方法1.Web Service2. 服务注册表3. 企业服务总线 细讲 超赞笔记 1.概述 SOA (Service-Oriented Architecture,SOA),从应用和原理的角度,目前有2种…

Ubuntu20.04 server系统部署安装(VMware上)和初始化配置

Ubuntu20.04 server部署安装(VMware上)和初始化配置 一、Ubuntu20.04 server系统部署安装上下键控制上下,可以选择配置的目标,回车表示确定,并进行下一步1.1镜像下载2.1 VMware上创建虚拟机2.2 选择语言,键…

STM32CubeIDE基础学习-HC05蓝牙模块和手机通信

STM32CubeIDE基础学习-HC05蓝牙模块和手机通信 文章目录 STM32CubeIDE基础学习-HC05蓝牙模块和手机通信前言第1章 硬件连接第2章 工程配置第3章 代码编写3.1 手机指令控制LED 第4章 实验现象总结 前言 前面的文章学习了串口通过轮询和中断的简单使用方法,现在就来用…

解密AI人工智能的整体分层架构:探索智能科技的未来之路

随着人工智能技术的迅猛发展,AI已经渗透到我们生活的方方面面。而支撑AI人工智能系统运作的核心是其整体分层架构。本文将深入探讨AI人工智能的整体分层架构,揭示其中的奥秘,探索智能科技的未来之路。 ### AI人工智能整体分层架构的重要性 …

Java:链表

一、链表简介 1、链表与顺序表的区别 上一篇博客我介绍了顺序表,这次我们来认识认识链表!先来看看二者的区别: 顺序表:由于顺序表实际上是一个数组,因此它在物理上是连续的,逻辑上也是连续的! …