查看kafka运行状态_Kafka快速指南

本章主要内容

  • 考察Kafka架构。
  • 生产者发送消息。
  • 消费者读取消息。
  • Kafka安装与运行。

虽然这是一本关于Kafka Streams的书,但是要研究Kafka Streams不可能不探讨Kafka,毕竟,Kafka Streams是一个运行在Kafka之上的库。

Kafka Streams设计得非常好,因此即使具有很少或者零Kafka经验的人都可以启动和运行Kafka Streams。但是,你所取得的进步和对Kafka调优的能力将是有限的。掌握Kafka的基础知识对有效使用Kafka Streams来说是必要的。

注意

本章面向的读者是对Kafka Streams有兴趣,但对Kafka本身具有很少或零经验的开发者。如果读者对Kafka具备很好的应用知识,那么就可以跳过本章,直接阅读第3章。

Kafka是一个很大的话题,很难通过一章进行完整论述。本章将会覆盖足以使读者很好地理解Kafka的工作原理和一些核心配置项设置的必备知识。要想更深入了解Kafka的知识,请看Dylan Scott写的Kafka in Action(Manning,2018)

2.1 数据问题

如今,各组织都在研究数据。互联网公司、金融企业以及大型零售商现在比以往任何时候都更善于利用这些数据。通过利用数据,既能更好地服务于客户,又能找到更有效的经营方式(我们要对这种情况持积极态度,并且在看待客户数据时要从好的意图出发)。

让我们考虑一下在ZMart数据管理解决方案中的各种需求。

  • 需要一种将数据快速发送到中央存储的方法。
  • 由于服务器经常发生故障,这就需要复制数据的能力,有了这种能力,不可避免的故障就不会导致停机和数据丢失。
  • 需要能够扩展到任意数量消费者的数据,而不必跟踪不同的应用程序。需要让组织中的任何人都能使用这些数据,而不必跟踪哪些人已经查看了数据,哪些人还没有查看。

2.2 使用Kafka处理数据

在第1章中,已介绍过大型零售公司ZMart。那时,ZMart需要一个流式处理平台来利用公司的销售数据,以便更好地提供客户服务并提升销售总额。但在那时的6个月前,ZMart期待了解它的数据情况,ZMart最初有一个定制的非常有效的解决方案,但是很快就发现该解决方案变得难以驾驭了,接下来将看到其原因。

2.2.1 ZMart原始的数据平台

最初,ZMart是一家小公司,零售销售数据从各分离的应用程序流入系统。这种方法起初效果还是不错的,但随着时间的推移,显然需要一种新的方法。一个部门的销售数据不再只是该部门所感兴趣的,公司的其他部门也可能感兴趣,并且不同的部门对数据的重要性和数据结构都有不同的需求。图2-1展示了ZMart原始的数据平台。

78646a7905d722c8e2f8f33e53b60aac.png

图2-1 ZMart原始数据架构简单,足够使每个信息源流入和流出信息

随着时间的推移,ZMart通过收购其他公司以及扩大其现有商店的产品而持续增长。随着应用程序的添加,应用程序之间的连接变得更加复杂,由最初的少量的应用程序之间的通信演变成了一堆名副其实的意大利面条。如图2-2所示,即使只有3个应用程序,连接的数量也很烦琐且令人困惑。可以看到,随着时间的推移,添加新的应用程序将使这种数据架构变得难以管理。

0f55b3ade6f80c98c190fc7621c63046.png

图2-2 随着时间的推移,越来越多的应用程序被添加进来,连接所有这些信息源变得非常复杂

2.2.2 一个Kafka销售交易数据中心

一个解决ZMart问题的方案是创建一个接收进程来控制所有的交易数据,即建立一个交易数据中心。这个交易数据中心应该是无状态的,它以一种方式接受交易数据并存储,这种方式是任何消费应用程序可以根据自己的需要从数据中心提取信息。对哪些数据的追踪取决于消费应用程序,交易数据中心只知道需要将交易数据保存多久,以及在什么时候切分或删除这些数据。

也许你还没有猜到,我们有Kafka完美的用例。Kafka是一个具有容错能力、健壮的发布/订阅系统。一个Kafka节点被称为一个代理,多个Kafka服务器组成一个集群。Kafka将生产者写入的消息存储在Kafka的主题之中,消费者订阅Kafka主题,与Kafka进行通信以查看订阅的主题是否有可用的消息。图 2-3 展示了如何将Kafka想象为销售交易数据 中心。

现在大家已经对Kafka的概况有了大致的了解,在下面的几节中将进行仔细研究。

788f5a4675c5dd67ba5971940aaf9858.png

图2-3 使用Kafka作为销售交易中心显著简化了ZMart数据架构,现在每台服务器不需要知道其他的信息来源,它们只需要知道如何从Kafka读取数据和将数据写入Kafka

2.3 Kafka架构

在接下来的几个小节中,我们将介绍Kafka体系架构的关键部分以及Kafka的工作原理。如果想尽早地体验运行Kafka,可以直接跳到2.6节,安装和运行Kafka。等Kafka安装之后,再回到这里来继续学习Kafka。

2.3.1 Kafka是一个消息代理

在前一节中,我曾说过Kafka是一个发布/订阅系统,但更精确地说法是Kafka充当了消息代理。代理是一个中介,将进行互利交换或交易但不一定相互了解的两部分汇聚在一起。图2-4展示了ZMart数据架构的演化。生产者和消费者被添加到图中以展示各单独部分如何与Kafka进行通信,它们之间不会直接进行通信。

Kafka将消息存储在主题中,并从主题检索消息。消息的生产者和消费者之间不会直接连接。此

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kafka eagle 'ke.ke_metrics' doesn't exist可以翻译为"kafka eagle 'ke.ke_metrics' 不存在"。 Kafka Eagle是一个开源的Kafka集群监控工具,用于帮助用户监控和管理Kafka集群。'ke.ke_metrics'是Kafka Eagle的一个组件,负责收集和展示Kafka集群的指标数据。然而,当你看到"kafka eagle 'ke.ke_metrics' doesn't exist"的错误消息时,意味着Kafka Eagle无法找到该组件。 这个问题可能由以下几个原因导致: 1. Kafka Eagle没有正确安装或配置:确保你已经正确安装并配置了Kafka Eagle,并且已经启动了所有必要的组件。你可以查看Kafka Eagle的文档和安装指南来确认这一点。 2. 'ke.ke_metrics'组件没有正确启动:检查你是否正确启动了'ke.ke_metrics'组件,以确保它正在运行并可以正常工作。你可以查看Kafka Eagle的日志或运行状态来了解更多信息。 3. 数据库中没有'ke.ke_metrics'表或集合:'ke.ke_metrics'组件需要使用一个数据库来存储指标数据。确认你已经创建了正确的数据库和必要的表或集合,以及配置了正确的连接信息。 4. 版本不兼容:Kafka Eagle的版本可能与你正在使用的Kafka集群的版本不兼容。检查你安装的Kafka Eagle版本是否与你的Kafka集群版本匹配。 如果你已经确认了上述几点,但问题仍然存在,你可以尝试重新安装或升级Kafka Eagle,并确保按照官方文档中的指南进行操作。另外,你也可以尝试在相关的技术论坛或开发社区中寻求帮助,以获取更多具体的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值