【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.shchmod +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.mzph.cn/news/781498.shtml

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

相关文章

11-设计模式:Go常用设计模式概述

设计模式是啥呢?简单来说,就是将软件开发中需要重复性解决的编码场景,按最佳实践的方式抽象成一个模型,模型描述的解决方法就是设计模式。使用设计模式,可以使代码更易于理解,保证代码的重用性和可靠性。 …

【Entity Framework】EF中DbSet类详解

【Entity Framework】EF中DbSet类详解 文章目录 【Entity Framework】EF中DbSet类详解一、概述二、定义DbSet2.1 具有DbSet属性的DbContext2.2 具有 IDbSet 属性的 DbContext 2.3 具有 IDbSet 属性的 DbContext三、DbSet属性四、DbSet方法五、DbContext动态生成DbSet 一、概述 …

打工人神器! Raccoon 代码小浣熊

继这三个之后,今天又来了一个 [ Raccoon代码小浣熊 ] 核心精要与产品特点 全面支持多种编程语言和IDE:「代码小浣熊」支持超过90种主流编程语言,包括但不限于Python、Java、JavaScript、C、Go和SQL等。同时,它集成了市面上主流的…

Quiet-STaR:让语言模型在“说话”前思考

大型语言模型(llm)已经变得越来越复杂,能够根据各种提示和问题生成人类质量的文本。但是他们的推理能力让仍然是个问题,与人类不同LLM经常在推理中涉及的隐含步骤中挣扎,这回导致输出可能在事实上不正确或缺乏逻辑。 考虑以下场景:正在阅读一…

CTF题型 php://filter特殊编码绕过小汇总

CTF题型 php://filter特殊编码绕过小汇总 文章目录 CTF题型 php://filter特殊编码绕过小汇总特殊编码base64编码string过滤器iconv字符集 例题1.[Newstarctf 2023 week2 include]2.[Ctfshow web 117] php://filter 是一个伪协议,它允许你读取经过过滤器处理的数据流…

YOLO图像前处理及格式转换

import cv2 import numpy as np import os import glob# 数据增强函数 def augment_data(img):rows,cols,_ img.shape# 水平翻转图像if np.random.random() > 0.5:img cv2.flip(img, 1)img_name os.path.splitext(save_path)[0] "_flip.png"cv2.imwrite(img_n…

【C++】string类(常用接口)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:http://t.csdnimg.cn/eCa5z 目录 修改操作 push_back append operator assign insert erase replace c_str find string类非成…

AI学习-Pandas数据处理分析

文章目录 1. Pandas概述2. Series用法2.1 Series的创建2.2 Series的取值2.3 Series的相关方法 3. DataFrame用法3.1 DataFrame创建3.2 DataFrame取值3.3 DataFrame相关方法 1. Pandas概述 ​ Pandas 是一个开源的数据分析处理库,它应用在数据科学、统计分析、机器学…

9.0-源码分析:Dubbo Remoting 层核心接口分析

dubbo-remoting 模块,该模块提供了多种客户端和服务端通信的功能。在 Dubbo 的整体架构设计图中,我们可以看到最底层红色框选中的部分即为 Remoting 层,其中包括了 Exchange、Transport和Serialize 三个子层次。这里我们要介绍的 dubbo-remot…

C++类继承继承5——构造函数与拷贝控制

构造函数与拷贝控制 和其他类一样,位于继承体系中的类也需要控制当其对象执行一系列操作时发生什么样的行为,这些操作包括创建、拷贝、移动、赋值和销毁。 如果一个类(基类或派生类)没有定义拷贝控制操作,则编译器将为它合成一个版本。当然…

手写简易操作系统(十七)--编写键盘驱动

前情提要 上一节我们实现了锁与信号量,这一节我们就可以实现键盘驱动了,访问键盘输入的数据也属于临界区资源,所以需要锁的存在。 一、键盘简介 之前的 ps/2 键盘使用的是中断驱动的,在当时,按下键盘就会触发中断&a…

乐理通识

2023 年搞了台雅马哈 61 键的电子琴,顺手看了下啊 B 的上的课程 《零基础自学音乐学乐理合集-第一季》,这里是部分笔记(给博客加点不一样的东西👀)。 简谱各部分一览 C 表示音名竖线为小节线 音名 完整钢琴键盘 88 键…

什么是ORM

什么是ORM 通过 对象 操作数据库 的方法 被称之为 ORM 数据库的表的格式定义 和 表里面一条条数据 之间的关系,很像python的 类定义 和 类的实例 之间的关系 既然 数据库 表定义和表记录之间的关系 就像 类和实例 之间的关系,Django 就让开发者 通过 …

数据结构

一、栈 先进后出 二、队列 先进先出 三、数组 查询快,增加修改慢 四、链表 查询慢,增加修改慢 五、二叉树 节点: 查找二叉树 二叉查找树的特点 二叉查找树,又称二叉排序树或者二叉搜索树 每一个节点上最多有两个子节点 左子树上所…

Linux shell编程学习笔记43:cut命令

0 前言 在 Linux shell编程学习笔记42:md5sum 中,md5sum命令计算md5校验值后返回信息的格式是: md5校验值 文件名 包括两项内容,前一项是md5校验值 ,后一项是文件名。 如果我们只想要前面的md5 校验值&#xff0c…

视频监控联网平台的评价指标体系

目录 一、视频应用系统评价指标体系的设计思路 (一)、明确评价目标和原则 (二)、确定评价指标 (三)、收集和处理数据 (四)、建立评价模型 (五)、进行综…

CT图像空气矫正

CT(Computed Tomography)扫描是一种常用的医学成像技术,用于获取人体内部的高分辨率图像。在CT图像中,由于X射线在穿过人体组织时会受到衰减,因此图像中不同区域的密度会表现出不同的灰度值。而空气与其他组织相比&…

[LeetCode][233]数字 1 的个数

题目 233. 数字 1 的个数 给定一个整数 n&#xff0c;计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例 1&#xff1a; 输入&#xff1a;n 13 输出&#xff1a;6 示例 2&#xff1a; 输入&#xff1a;n 0 输出&#xff1a;0 提示&#xff1a; 0 < n < 10^9 解…

头歌java实训作业

由于“头歌java实训作业”这个表述不是非常明确&#xff0c;我将假设你是指一套Java编程的实训作业&#xff0c;这些作业旨在帮助学习者通过实践来巩固Java编程的基础知识和技能。以下是一些可能包含在Java实训作业中的题目和案例&#xff0c;以及相应的指导说明。 ### Java实…

哔哩哔哩直播姬有线投屏教程

1 打开哔哩哔哩直播姬客户端并登录(按下图进行操作) 2 手机用usb数据线连接电脑(若跳出安装驱动的弹窗点击确定或允许),usb的连接方式为仅充电(手机差异要求为仅充电),不同品牌手机要求可能不一样,根据实际的来 3 在投屏过程中不要更改usb的连接方式(不然电脑会死机需要重启) …