前言该文档不会为读者提供中间件的安装和部署教学,仅作为我在这大半年从零开始建立日志收集系统的整个过程。整个日志收集系统目前已迭代三次,从第二版开始已经稳定运行半年,第三版的升级是锦上添花,继续深挖日志收集的可能性。读者能从本文看到一条从零开始的日志收集系统的建立通路,能看到我选择和处理各个中间件的思考和碎碎念。该方案是基于EFK的一个通用框架,由于数据处理服务的存在,使得该方案能兼容绝大部分奇奇怪怪的日志,只要能收集过来,那处理就是多几行代码的问题。我个人推荐有条件的读者可以尝试自己去搭建这样一套完整的日志收集系统,整个做下来会让你对中间件和日志收集的思考更加深刻。日志收集第一版设计方案基于注
目录一、生产端数据丢失二、存储端消息丢失三、消费端数据丢失四、小结一条消息从生产到消费完成这个过程,可以划分三个阶段,为了方便描述,我给每个阶段分别起了个名字。生产阶段:在这个阶段,从消息在Producer创建出来,经过网络传输发送到Broker端。存储阶段:在这个阶段,消息在Broker端存储,如果是集群,消息会在这个阶段被复制到其他的副本上。消费阶段:在这个阶段,Consumer从Broker上拉取消息,经过网络传输发送到Consumer上。一、生产端数据丢失kafka的ack机制:在kafka发送数据的时候,每次发送消息都会有一个确认反馈机制,确保消息正常的能够被收到。ack=0时,生产
译者|李睿审校|重楼51CTO读者成长计划社群招募,咨询小助手(微信号:TTalkxiaozhuli)本文将探索一种解决方案,利用ApacheKafka将控件与数据流链接起来,从而提供供应链的端到端可见性。所有的数字信息都将流入统一的中枢神经系统,从而实现全面控制和及时反应。供应链控制塔的想法变成了现实:一个集成的数据驾驶舱,可以实时访问供应链的所有级别和系统。一、什么是供应链控制塔? 供应链是由参与产品或服务的生产和交付的企业和人员组成的网络。如今,许多供应链是全球性的,涉及到内部物流、广泛的企业物流以及端到端供应链的B2B数据共享。二、供应链管理(SCM) 供应链管理(SCM)涉及到为
译者|李睿审校|重楼51CTO读者成长计划社群招募,咨询小助手(微信号:TTalkxiaozhuli)本文将探索一种解决方案,利用ApacheKafka将控件与数据流链接起来,从而提供供应链的端到端可见性。所有的数字信息都将流入统一的中枢神经系统,从而实现全面控制和及时反应。供应链控制塔的想法变成了现实:一个集成的数据驾驶舱,可以实时访问供应链的所有级别和系统。一、什么是供应链控制塔? 供应链是由参与产品或服务的生产和交付的企业和人员组成的网络。如今,许多供应链是全球性的,涉及到内部物流、广泛的企业物流以及端到端供应链的B2B数据共享。二、供应链管理(SCM) 供应链管理(SCM)涉及到为
注:本文仅适用于有Docker容器使用基础、Linux命令基础的编程人员,请确保Linux中已经安装了Docker。Step1:创建Docker容器网络由于Kafka在2.8.0版本以前,强依赖于Zookeeper,所以我们需要创建一个Docker容器网络以用于Kafka容器和Zookeeper容器的互通。注:本文使用的是CentOS7系统作为虚拟环境,并确保登录的账号拥有足够的权限。执行以下命令,即可创建一个Docker网络:dockernetworkcreate--driverbridge--subnet172.0.0.0/16toneyma_network以上命令解释为:创建一个名为"t
简介Kafka在运行的过程中,存储在磁盘上的数据会逐渐扩大,甚至会撑爆系统盘,在线上环境我们通常会把kafka的数据存储目录和日志存储目录迁移到磁盘中,或者扩容kafka的存储磁盘。本文将一站式解决kafka的磁盘存储或扩容问题。一.kafka的存储目录kafka配置文件默认的存储路径是tmp/kafka-logs,如果你修改了kafka的配置文件,那么kafka的数据存储路径,在配置文件中的配置项是:log.dirs=/mnt/kafka/data除了数据要存储,还有kafka的运行日志文件,日积月累也会变大,所以我们最好也把他迁移到大的磁盘中。kafka的日志文件,默认存储在kafka安装
一、下载安装下载连接:https://www.kafkatool.com/download.htmlkafkatool官网介绍Kafka工具是用于管理和使用ApacheKafka集群的GUI应用程序。它提供了一种直观的UI,可让用户快速查看Kafka集群中的对象以及集群主题中存储的消息。它包含面向开发人员和管理员的功能。主要功能如下:1.快速查看所有的Kafka集群,包括: brokers,topics,consumers2.查看分区中的内容并添加新消息3.查看消费者的偏移量4.以漂亮的格式展示Json和XML消息5.添加删除主题,以及其它管理功能6.将单个消息从集群分区保存到本地7.编写自己
前言:本文以一台服务器来搭建集群示例。Kafka官方网址:ApacheKafka点击Download下载需要的版本: 下载后的文件: 将下载后的文件上传到服务器中指定的位置:在Kafka_cluster文件夹中新建Kafka_node1,Kafka_node2,Kafka_node3三个文件夹,并将上述压缩包分别解压到这三个文件夹中。将文件分别解压到三个文件夹中:首先先对node1进行配置文件修改,修改config中的server.properties文件:#指定broker的idbroker.id=0#指定Kafka的绑定监听的地址listeners=PLAINTEXT://node1.te
前言本意利用kafka实现一个类似redis发布订阅的模式,比redis多了一个数据分区的功能。kafka里面的数据我们是不需要存储的,因此我们需要配置对应的删除策略Kafka版本号2.8.1数据清理策略kafka有两种数据清理策略,delete删除和compact压缩,默认是删除。delete:一般是使用按照时间保留的策略,当不活跃的segment的时间戳是大于设置的时间的时候,当前segment就会被删除compact:日志不会被删除,会被去重清理,这种模式要求每个record都必须有key,然后kafka会按照一定的时机清理segment中的key,对于同一个key只保留罪行的那个key
OffsetExplorer连接Kafka问题集合,(Timeoutexpiredwhilefetchingtopicmetadata),(Uabletofindanybrokers)一、Timeoutexpiredwhilefetchingtopicmetadata1.OffsetExplorer配置好zookeeper的连接地址后2.在查看Topics的时候,报错Timeoutexpiredwhilefetchingtopicmetadata3.排查发现应该是kafka的server.properties文件中的advertised.listeners问题修改前是advertised.li