kafka能做什么?kafka集群配置 (卡夫卡 大数据)

什么是Kafka

官网介绍:

ApacheKafka®是一个分布式流媒体平台。这到底是什么意思呢?
我们认为流媒体平台具有三个关键功能:

  1. 它可以让你发布和订阅记录流。在这方面,它类似于消​​息队列或企业消息传递系统。
  2. 它允许您以容错方式存储记录流。
  3. 它可以让您在发生记录时处理记录流。

几个概念:

  1. Kafka作为一个或多个服务器上的集群运行。
  2. Kafka集群以称为主题的类别存储记录流。
  3. 每个记录由一个键,一个值和一个时间戳组成。

详细介绍 :

这篇博客写的很详细

  • 下载安装
    官网下载地址: https://www.apache.org/dyn/closer.cgi?path=/kafka/2.5.0/kafka-2.5.0-src.tgz
  • 解压: tar zxf kafka_2.11-1.0.0
  • 启动Zookeeper:测试可以采用kafka自带zookeeper
    ./bin/zookeeper-server-start.sh config/zookeeper.properties
  • 启动kafka:
    ./bin/kafka-server-start.sh config/server.properties

在默认的 kafka_2.11-1.0.0/config 目录下的server.properties文件中
默认端口为9092

操作kafka:

  • 创建名为 test的topic
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
  • 创建生产者(生产消息):
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

kafka能做什么?kafka集群配置 (卡夫卡 大数据)
  • 创建消费者(消费消息):
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

kafka能做什么?kafka集群配置 (卡夫卡 大数据)

kafka集群

  • 创建配置文件 server.properties拷贝到其他机器
  • 修改 server.properties配置,修改为:
    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1

broker.id:当前机器在集群中的唯一标识,每台服务器的broker.id都不能相同

log.dirs:是kafka接收消息存放路径

  • 启动
./bin/kafka-server-start.sh config/server.properties &
  • 创建topic
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test2
  • 查看topic
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test2

Topic:test2 PartitionCount:1    ReplicationFactor:3 Configs:
    Topic: zhh-replicated-topic Partition: 0    Leader: 2   Replicas: 2,0,1 Isr: 2,0,1

第一行表示汇总信息. 有1个分区, 3份备份

第二行表示每个分区的信息,对分区0,领导节点id是2, 备份到2,0,1.

leader 表示负责某分区全部读写的节点. 每个分区都会有随机选择的leader.

Replicas 表示需要复制到的节点, 不管是否活着.

Isr 表示(“in-sync” replicas), 正在同步的备份, 表示可用的活着的节点

消息测试

  • 创建生产者
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test2
  • 创建消费者
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning

问题检测

  • 节点崩溃
ps aux | grep server.properties    #查看节点(73370)是否已启用
kill -9 73370                      #杀死此节点
  • zookeeper
    zookeeper打开后要打开新的连接操作kafka。

有帮助请留言…

更多文章:点击这里

扫码关注公众号《ipoo》

kafka能做什么?kafka集群配置 (卡夫卡 大数据)

Original: https://www.cnblogs.com/ipoo/p/ipoo.html
Author: ipoo
Title: kafka能做什么?kafka集群配置 (卡夫卡 大数据)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582212/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 安装及管理文件

    优点: 契合系统兼容性强 如果你可以看懂源代码,修改新增功能 比较自由 缺点: 如果编译出了问题,你看不懂源代码,无法解决 安装过程复杂 没有统一的管理人员 安装过程 程序包编译安…

    Linux 2023年6月6日
    0109
  • apache 配置与使用(centos)

    apache 配置与使用 1.默认虚拟主机 虚拟主机(共享主机,又称虚拟服务器)是一种在单一主板或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术,虚拟主机之间完全独立…

    Linux 2023年6月6日
    0120
  • Redis缓存穿透、缓存击穿、缓存雪崩

    Redis缓存穿透、缓存击穿缓存雪崩 redis常被用于作为后台数据库的缓存,缓存一些热点访问数据,根据局部性原理,缓存能够处理大部分请求。当请求数据未命中缓存时,才会引起对数据库…

    Linux 2023年6月13日
    0109
  • CentOS-7配置fastDFS文件服务器和安装Nginx

    配置步骤实在是很繁琐,听我慢慢道来! 主要是配置管理(tracker)和存储(storage)返回地址样式 –> 域名/组名/磁盘名/目录名/文件名 &#8211…

    Linux 2023年6月13日
    0103
  • 手把手教你在Linux系统下安装MongoDB

    1. 下载最新的stable版MongoDB [root@spirit-of-fire ~]# wget http://downloads.mongodb.org/linux/mo…

    Linux 2023年6月14日
    0143
  • 【转】windows下Redis的安装和使用

    2、在下载网页中,找到最后发行的版本(此处是3.2.100)。找到Redis-x64-3.2.100.msi和Redis-x64-3.2.100.zip,点击下载。这里说明一下,第…

    Linux 2023年5月28日
    097
  • Prometheus+Grafana监控-基于docker-compose搭建

    前言 Prometheus Prometheus 是有 SoundCloud 开发的开源监控系统和时序数据库,基于 Go 语言开发。通过基于 HTTP 的 pull 方式采集时序数…

    Linux 2023年6月7日
    095
  • 【设计模式】Java设计模式-适配器模式

    【设计模式】Java设计模式 – 适配器模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆原创作品,更多关注我CSDN: 一…

    Linux 2023年6月6日
    0182
  • Spring 4 集成 redis 实现缓存 一

    随着Web项目的复杂程度逐渐增加,可能会涉及诸如高并发、海量数据查询的的业务场景也逐渐增多;若频繁的操作数据库,会触发数据库的I/O瓶颈,因此需要加入缓存,尽量减少直接操作数据库的…

    Linux 2023年6月14日
    095
  • 017 Linux 之啥是 ssh ?

    1 什么是 ssh?有什么用? (1)ssh 是一种协议 (2)ssh 服务 2 ssh 基于密匙的安全验证过程是怎样的? 3 对称加密与非对称加密区别是什么? (1)对称加密 (…

    Linux 2023年5月27日
    0122
  • Redis源码学习

    为什么要阅读Redis源码? 主要原因就是『简洁』。如果你用源码编译过Redis,你会发现十分轻快,一步到位。其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编…

    Linux 2023年5月28日
    0101
  • Go语言中的零值坑记

    开箱即用 什么叫开箱即用呢?因为 Go语言的零值让程序变得更简单了,有些场景我们不需要显示初始化就可以直接用,举几个例子: 切片,他的零值是 nil,即使不用 make进行初始化也…

    Linux 2023年6月6日
    0122
  • 06-ElasticSearch搜索结果处理

    * package com.coolman.hotel.test; import com.coolman.hotel.pojo.HotelDoc; import com.faste…

    Linux 2023年6月7日
    0109
  • 用Windows Terminal替代cmd

    HKEY_CLASSES_ROOT\batfile\shell\open\command,默认项内容 把 "C:\Users\<user>\AppData\L…

    Linux 2023年6月13日
    0113
  • Docker安装使用及私有仓库搭建

    1 概念 1.1 基本概念 Docker daemon​ 守护进程,运行在宿主机上,用户通过DockerClient客户端Docker命令与Docker daemon交互。Dock…

    Linux 2023年5月27日
    098
  • 博客园排名预测

    前言 之前写过一篇绘制博客园积分与排名趋势图的文章——《查看博客园积分与排名趋势图的工具》,使用那篇文章介绍的工具,可以通过趋势图直观的看出排名前进的走势。但是如果想看看自己积分达…

    Linux 2023年6月6日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球