首页 > 其他分享 >Kafka 简介、集群架构、安装部署、基本命令

Kafka 简介、集群架构、安装部署、基本命令

时间:2023-10-26 11:08:25浏览次数:34  
标签:bin 架构 -- 简介 zookeeper kafka topic sh Kafka


一、kafka 是什么?

  • 在实时计算中,Kafka 主要是用来缓存数据,storm 可以通过消费 kafka 中的数据进行实时计算。
  • 一套开源的分布式的消息队列系统,由 scala 写成,支持 javaAPI。
  • Kafka 读消息采用 topic 进行归类。

二、kafka 中有哪两种角色?

  • 发送消息:Producer(生产者)
  • 接收消息:Consumer(消费者)

三、为什么要使用消息队列?

  • 可以解耦,拓展两边(生产者,消费者)的处理过程,为了避免高耦合出现的问题
  • 可以拓展。
  • 可恢复,生产者或者消费者宕机不会影响整个系统。
  • 可以削峰,缓冲短时间高并发对系统带来的冲击。
  • 顺序保障,FIFO。
  • 异步通信,系统可以不必立即处理消息队列中的数据,缓解服务器端的压力。

四、Kafka 架构设计

  • kafka 依赖 zookeeper,用 zk 保存元数据信息。
  • 在企业实际应用中,zookeeper 集群单独部署(3,5,7台),避免因为访问元数据信息而产生的大量 IO 对系统性能的影响。
  • 一个 topic 运行在多个服务器上的,topic 中的 分区运行在不同的服务器上。
  • 为了保证高可用,每台服务器上的分区是有冗余的(在一台机器配置多个一模一样的)

五、kafka 安装部署

  1. 解压 tar -zxvf kafka_2.9.2-0.8.1.1.tgz -C ~/training/
  2. 修改配置文件 config/server.properties 内容如下:


参考参数值

broker.id

0

port

9092

log.dirs

/root/training/kafka_2.9.2-0.8.1.1/logs

zookeeper.connect

bigdata001:2181,bigdata002:2182,bigdata003:2181

delete.topic.enable

true

  1. 启动 zookeeper:
    zkServer.sh start
  2. 启动 kafka:
    bin/kafka-server-start.sh config/server.properties &
  3. 关闭 kafka:
    bin/kafka-server-stop.sh
kafka 部署模式
  1. 单机单 broker:一台服务器只启动一个 kafka。
  2. 单机多 broker:一台服务器启动多个 kafka(多复制几份配置文件,多启动几个 kafka 进程就可以)。
config/server1.properties
config/server2.properties
config/server3.properties
  1. 多机多 broker:多台服务器,每台启动多个 kafka(真正的集群环境)。

六、基本命令

  1. 从 zookeeper 中查看当前所有的 topic 列表:
    bin/kafka-topics.sh --zookeeper bigdata001:2181 --list
  2. 创建 topic:
    bin/kafka-topics.sh --zookeeper bigdata001:2181 --create --replication-factor 1 --partitions 3 --topic mydemo
  3. 删除 topic:
    bin/kafka-topics.sh --zookeeper bigdata001:2181 --delete --topic mydemo注意:删除 topic “–delete” 这个选项,楼主试过三个版本的kafka,只有 kafka_2.11-2.0.0 这个版本的 kafka 才有。kafka_2.11-2.1.0 和 kafka_2.9.2-0.8.1.1 这两个版本根本没有 “–delete” 这个参数选项,大家在测试命令的时候不要选错版本。
  4. 发送消息:
    bin/kafka-console-producer.sh --broker-list bigdata001:9092 --topic mydemo
  5. 接收消息:
    kafka_2.9.2-0.8.1.1版本:
    bin/kafka-console-consumer.sh --zookeeper bigdata001:2181 --topic mydemokafka_2.11-2.1.0,kafka_2.11-2.0.0版本:
    bin/kafka-console-consumer.sh --bootstrap-server bigdata001:9092 --topic mydemo --from-beginning
  6. 查看 topic 的详细信息:
    bin/kafka-topics.sh --zookeeper bigdata001:2181 --describe --topic mydemo


标签:bin,架构,--,简介,zookeeper,kafka,topic,sh,Kafka
From: https://blog.51cto.com/u_14655640/8030913

相关文章

  • kafka基于SCRAM认证,快速配置启用ACL
    启动和停止服务zookeeper/usr/local/apache-zookeeper-3.8.2-bin/bin/zkServer.shstart/usr/local/apache-zookeeper-3.8.2-bin/bin/zkServer.shstopkafka/usr/local/kafka_2.13-3.2.3/bin/kafka-server-stop.sh/usr/local/kafka_2.13-3.2.3/bin/kafka-server-start.sh-......
  • docker-compose部署SASL认证的kafka
    前言测试服务器:10.255.60.149一.编写docker-compose文件1.docker-compose.ymlversion:'3.8'services:zookeeper:image:wurstmeister/zookeepervolumes:-/data/zookeeper/data:/data-/home/docker-compose/kafka/config:/opt/zookeeper-......
  • helm部署kafka鉴权以及ACL
    官方文档https://github.com/bitnami/charts/tree/main/bitnami/kafkahttps://blog.csdn.net/u011618288/article/details/129105777(包含zookeeper与broker认证、鉴权流程)一.修改values.yaml文件按通用部署方案拉下来kafka安装包,修改values.yaml文件,开启scram鉴权,ACL以......
  • kafka-ACL
    本文档时在centos7直接部署添加认证的kafka文件基础上,做下面的修改实现ACL访问控制topic参考:https://www.seaxiang.com/blog/Qpsqii一.添加多个kafka用户及相关的配置文件1.kafka_server_jaas.confKafkaServer{org.apache.kafka.common.security.plain.PlainLoginModule......
  • centos7直接部署添加认证的kafka
    前言测试服务器:10.255.60.149一.安装jdk官网下载jdk1.8版本以上的https://www.oracle.com/java/technologies/downloads/测试系统版本为centos7,选择了最后一个下载后,使用rpm-ivh即可安装二.安装zookeeper和kafka软件版本:kafka_2.12-2.4.0(带zookeeper)下载链接:http://a......
  • 2.9 深入GPU硬件架构及运行机制
    五、GPU技术要点1.SMID和SIMTSIMD(SingleInstructionMultipleData)是单指令多数据,在GPU的ALU(在Core内)单元内,一条指令可以处理多维向量(一般是4D)的数据。比如,有以下shader指令:float4c=a+b;//a,b都是float4类型对于没有SIMD的处理单元,需要4条指令将4个float数值相加,汇编伪代码......
  • 影视泛目录站群程序:根据关键词产生10组相关词+电影名/电影简介/电影图片匹配,关键词转
    大家好,今天我要分享的是一款影视泛目录站群程序,它可以根据关键词产生10组相关词,帮助你快速构建一个影视站群。首先,我们需要准备一些关键词,比如说电影名、电影简介、电影图片等。然后,我们进入这款程序,输入关键词,就可以看到相关关键词列表。这些关键词分为两部分,一部分是电影名,一部......
  • 鸿蒙极速入门(三)-TypeScript语言简介
    ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,需要先了解一下TS语言的基础知识。一、基础类型1.数字类型-number双精度64位浮点值。它可以用来表示整数和分......
  • go-kit 简介
    1.microserviceGo-Kit gokit是一个分布式的开发工具集,在大型的组织(业务)中可以用来构建微服务。其解决了分布式系统中的大多数常见问题,因此,使用者可以将精力集中在业务逻辑上。2.go-kit组件介绍2.1Endpoint(端点)Gokit首先解决了RPC消息模式。其使用了一个抽象的 endpoint ......
  • VMware Aria Automation 8.14 发布下载 - 现代基础架构自动化平台
    VMwareAriaAutomation8.14发布下载-现代基础架构自动化平台请访问原文链接:https://sysin.org/blog/vmware-aria-automation/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现代基础架构自动化平台VMwareAriaAutomation(以前称为vRealizeAutomation)借助现......