【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.rhkb.cn/news/292169.html

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

相关文章

电商系统秒杀三 秒杀兜底方案之熔断降级

一 秒杀场景介绍 1.1 秒杀场景的特点 1、秒杀具有瞬时高并发的特点,秒杀请求在时间上高度集中于某一特定的时间点(秒杀开始那一秒),这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。 2、…

LATTICE进阶篇DDR2--(1)获取官网DDR2例程并仿真

前言 本章主要讲述如何从官网下载DDR2的DEMO例程,并将例程的仿真运行起来。 官网的DEMO在Diamond工程里是没有调用任何任何IP核的,只是在仿真的时候调用了CORE文件夹下的IP核源文件进行仿真,该DEMO工程主要是拿来产生仿真波形,对…

算法学习——LeetCode力扣图论篇2

算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣(LeetCode) 描述 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相…

这回轮到鸿蒙禁用安卓了!!!

1月18日,鸿蒙生态千帆仪式上,华为正式宣布了HarmonyOS NEXT(下简称鸿蒙星河版或纯血鸿蒙)开发者预览已向开发者开放申请,纯血鸿蒙开始走向普及阶段。伴随着不再兼容安卓的纯血鸿蒙铺开,鸿蒙走进了运营属于自…

本地虚拟机服务器修改站点根目录并使用域名访问的简单示例

说明:本文提及效果是使用vmware虚拟机,镜像文件是Rocky8.6 一、配置文件路径 1. /etc/httpd/conf/httpd.conf #主配置文件 2. /etc/httpd/conf.d/*.conf #调用配置文件 调用配置文件的使用: vim /etc/httpd/conf.d/webpage.conf 因为在主配…

python opencv之提取轮廓并拟合圆

图片存储地址为:C:\Users\Pictures\test.png,该图像图片背景是黑色的,目标区域是亮的,目标区域是两段圆弧和两段曲线构成的封闭区域,其中两段圆弧属于同一个圆,但在目标区域的相对位置,也就是不…

CrossOver软件2024免费 最新版本详细介绍 CrossOver软件好用吗 Mac电脑玩Windows游戏

CrossOver是一款由CodeWeavers公司开发的软件,它可以在Mac和Linux等操作系统上运行Windows软件,而无需在计算机上安装Windows操作系统。这款软件的核心技术是Wine,它是一种在Linux和macOS等操作系统上运行Windows应用程序的开源软件。 Cross…

Linux系统---如何理解Linux中的文件系统

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、理解文件系统 1.ls与stat 我们使用ls -l的时候看到的除了看到文件名,还看到了文件元数据。 每行包含7列…

rabbitMQ版本问题与下载

都到现在了,大家不会安装东西还是不看版本吧 云服务器买的是centos7,而erlang在24版本后不支持centos7了 所以需要找24版本以下的erlang,而不同erlang对应不同rabbitmq所以需要对应 下载erlang 说实话,自己安装,还是…

前端小白如何理解mvc mvp mvvm

架构、框架、设计模式是都是啥? 架构:抽象出来不同组织或者对象亦或是简单组件,根据需求和各个单元的功能,进行组合排列。 从而完成系统的运行或者是实现目标。 框架:使用什么样的规则,什么样的开发语言&…

个人用户免费,亚马逊正式推出 AI 编程服务 CodeWhisperer

IT之家消息 亚马逊于 2022 年 6 月以预览版的形式,推出了 AI 辅助编程服务 CodeWhisperer。2023年4 月 14 日宣布该服务正式上线,并免费向个人用户开放。点击亚马逊云科技可以注册使用 CodeWhisperer是一种人工智能(基于机器学习&#xff09…

消息队列的七种经典应用场景

在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享…

搜索与图论——染色法判定二分图

一个图是二分图当且仅当这个图中不含奇数环 由于图中没有奇数环&#xff0c;所以染色过程中一定没有矛盾 所以一个二分图一定可以成功被二染色&#xff0c;反之在二染色的过程中出现矛盾的图中一定有奇数环&#xff0c;也就一定不是二分图 #include<iostream> #includ…

http和https的工作原理是什么?

HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是两种用于在互联网上传输数据的主要协议&#xff0c;它们均用于在客户端&#xff08;通常是Web浏览器&#xff09;与服务器之间交换信息。尽管它们…

NSSCTF Round#20 Basic 真亦假,假亦真 CSDN_To_PDF V1.2 出题笔记 (附wp+源码)

真亦假&#xff0c;假亦真 简介&#xff1a;java伪造php一句话马。实则信息泄露一扫就出&#xff0c;flag在/flag里面。 题目描述&#xff1a;开开心心签个到吧&#xff0c;祝各位师傅们好运~ 静态flag&#xff1a;NSS{Checkin_h4v3_4_g00D_tINNe!} /路由显示 <?php e…

Radash一款JavaScript最新的实用工具库,Lodash的平替!

文章目录 Lodash 的痛点进入正题--Radash特点 举例几个常用的api 一说lodash应该大部分前端同学都知道吧&#xff0c;陪伴我们好多年的JavaScript工具库&#xff0c;但是自从 ES6 出现后就慢慢退出前端人的视线&#xff0c;能ES6写的代码绝对不会用Lodash&#xff0c;也不是完全…

住宅IP是什么?与机房IP有哪些区别?

随着互联网的普及和发展&#xff0c;不同类型的IP地址在网络世界中扮演着重要角色。在网络架构中&#xff0c;机房IP和住宅IP是两种常见的IP类型&#xff0c;它们各有优劣&#xff0c;适用于不同的场景和需求。本文将对机房IP和住宅IP进行技术对比&#xff0c;并给出选择合适IP…

vue项目使用eletron将打包成桌面应用(.exe)

vue项目使用eletron将打包成桌面应用(.exe) 1.前期准备 两个项目&#xff1a; 1、自己用vue cli创建的项目 2、第二个是去gitee将案例clone下来 案例地址 https://gitee.com/qingplus/electron-quick-start.git 2、测试案例是否可以正常运行 # 进入项目 cd electron-quick-…

kubernetes负载均衡资源-Ingress

一、Ingress概念 1.1 Ingress概念 使用NodePort类型的Service可以将集群内部服务暴露给集群外部客广端,但使用这种类型Service存在如下几个问题。 1、一个端口只能一个服务使用,所有通过NodePort暴露的端口都需要提前规划;2、如果通过NodePort暴露端口过多,后期维护成本太…

IPv6-重定向,PMTU,GRE隧道

IPv6-重定向&#xff0c;PMTU&#xff08;路径最大传输单元&#xff09;&#xff0c;GRE隧道&#xff08;Generic Routing Encapsulation&#xff0c;通用路由封装协议&#xff09; 重定向过程 触发重定向的条件&#xff1a; 1、报文的入接口&#xff0c;等于自身路由之后的…