1.kafka日志结构

直接举例子:

例如kafka有个名字叫 haha 的topic,那么kafka日志下面有kafka-0,kafka-1,kafka-2...,kafka-n,具体多少个,创建分区的时候有几个分区,n就是几。

[root@haha kafka]# ls haha-
haha-0/ haha-1/ haha-2/

每个目录下面有三个日志文件,xxx.log是消息集文件, xxx.index 偏移量索引文件 ,xxx.timeindex 时间戳索引文件

[root@haha kafka]# ls haha-1
00000000000000000000.index 00000000000000000000.log 00000000000000000000.timeindex

创建主题:

[root@haha kafka]# kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic log-format
[root@haha kafka]# ls /data/appData/kafka/log-format-
log-format-0/ log-format-1/ log-format-2/ [root@haha kafka]# ls /data/appData/kafka/log-format-0
00000000000000000000.index 00000000000000000000.log 00000000000000000000.timeindex

修改字段大小及索引跨度配置

[root@haha kafka]# kafka-topics.sh --zookeeper localhost:2181 --alter --topic log-format --config segment.bytes=1024 --config index.interval.bytes=100
WARNING: Altering topic configuration from this script has been deprecated and may be removed in future releases.
Going forward, please use kafka-configs.sh for this functionality
Updated config for topic "log-format".

查看分topic区状态

[root@haha kafka]# /data/app/zookeeper/bin/zkCli.sh -server localhost:2181 

[zk: localhost:2181(CONNECTED) 0] ls /brokers/ids

[zk: localhost:2181(CONNECTED) 3] get /brokers/topics/log-format/partitions/1/state
cZxid = 0x245
ctime = Thu Nov 01 11:29:47 CST 2018
mZxid = 0x245
mtime = Thu Nov 01 11:29:47 CST 2018
pZxid = 0x245
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 72
numChildren = 0

如果集群的日志则分布如下

通过kafka自带的脚本查看topic信息

[root@haha kafka]# kafka-topics.sh --describe --zookeeper localhost:2181 --topic log-format
Topic:log-format PartitionCount:3 ReplicationFactor:1 Configs:index.interval.bytes=100,segment.bytes=1024
Topic: log-format Partition: 0 Leader: 5 Replicas: 5 Isr: 5
Topic: log-format Partition: 1 Leader: 5 Replicas: 5 Isr: 5
Topic: log-format Partition: 2 Leader: 5 Replicas: 5 Isr: 5

执行一下命令将二进制分段日志文件转化为字符类型的文件

[root@haha kafka]# kafka-run-class.sh kafka.tools.DumpLogSegments --files log-format-0/00000000000000000000.log --print-data-log
Dumping log-format-0/00000000000000000000.log
Starting offset: 0

kafka 日志结构的更多相关文章

  1. kafka日志同步至elasticsearch和kibana展示

    kafka日志同步至elasticsearch和kibana展示 一 kafka consumer准备 前面的章节进行了分布式job的自动计算的概念讲解以及实践.上次分布式日志说过日志写进kafka, ...

  2. Kafka日志段读写分析

    引子 之所以写这篇文章是因为之前面试时候被面试官问到(倒)了,面试官说:"你说你对Kafka比较熟?看过源码? 那说说kafka日志段如何读写的吧?" 我心里默默的说了句 &quo ...

  3. lagstash + elasticsearch + kibana 3 + kafka 日志管理系统部署 02

    因公司数据安全和分析的需要,故调研了一下 GlusterFS + lagstash + elasticsearch + kibana 3 + redis 整合在一起的日志管理应用: 安装,配置过程,使 ...

  4. 关于Kafka日志留存策略的讨论

    关于Kafka日志留存(log retention)策略的介绍,网上已有很多文章.不过目前其策略已然发生了一些变化,故本文针对较新版本的Kafka做一次统一的讨论.如果没有显式说明,本文一律以Kafk ...

  5. Kafka日志清除策略

    一.更改日志输出级别 config/log4j.properties中日志的级别设置的是TRACE,在长时间运行过程中产生的日志大小吓人,所以如果没有特殊需求,强烈建议将其更改成INFO级别.具体修改 ...

  6. 离线部署ELK+kafka日志管理系统【转】

    转自 离线部署ELK+kafka日志管理系统 - xiaoxiaozhou - 51CTO技术博客http://xiaoxiaozhou.blog.51cto.com/4681537/1854684 ...

  7. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图: 以上可以看出项目结构可以划分为4大块,1是surging的核心底层,2,3,4都可以 ...

  8. ambari 修改kafka日志目录后,写入数据无法消费

    ## 起因:ambari 修改kafka日志目录后,写入数据无法消费 - 使用下面的客户端消费命令可以消费到数据 ./kafka-console-consumer.sh --zookeeper 192 ...

  9. DataPipeline丨瓜子二手车基于Kafka的结构化数据流

    文 |彭超 瓜子大数据架构师 交流微信 | datapipeline2018 一.为什么选择Kafka   为什么选Kafka?鉴于庞大的数据量,需要将其做成分布式,这时需要将Q里面的数据分到许多机器 ...

随机推荐

  1. Forward团队-爬虫豆瓣top250项目-成员简介与分工

    马壮:擅长html,css,分工:分析网站源码 邢云淇:掌握python,java 分工:爬虫部分代码编写 张良:熟练掌握数据库 分工:数据库部分代码编写 年光宇:掌握c#,python 分工:代码整 ...

  2. Qt_HelloWrold

    新建工程 -> 选择Qt Gui 应用 然后点击选择 在弹出的对话框中填写名称,创建路径等信息: 点击下一步,选择该工程的编译器. 点击下一步,可以选择生成的主窗口文件.不过这里我们仅仅用简单的 ...

  3. java通过poi编写excel文件

    public String writeExcel(List<MedicalWhiteList> MedicalWhiteList) { if(MedicalWhiteList == nul ...

  4. HBase最佳实践(好文推荐)

    HBase最佳实践-写性能优化策略 HBase最佳实践-管好你的操作系统 HBase最佳实践之列族设计优化 [大数据]HBase最佳实践 – 集群规划

  5. 6.关键字static

    在java中并不存在全局变量的概念,但是我们可以通过static关键字来实现一个“为全局”的概念,在java中static表示“全局”和“静态”的意思,他可以用来修饰成员变量和方法,也可以用来修饰代码 ...

  6. C++中的四种类型转换

    //1.常见的类型转换,使用static_cast float f = 1.234; int i =static_cast<int>(f);//等价于 int i = (int)f; // ...

  7. Delphi-idHttp-Post JSON用法 good

    从国外网站抄来的代码 Delphi source: http := TIdHttp.Create(nil);http.HandleRedirects := True;//允许头转向http.ReadT ...

  8. PCA和Whitening

    PCA: PCA的具有2个功能,一是维数约简(可以加快算法的训练速度,减小内存消耗等),一是数据的可视化. PCA并不是线性回归,因为线性回归是保证得到的函数是y值方面误差最小,而PCA是保证得到的函 ...

  9. 利用C#迭代器的一个杨辉三角示例

    身边有个朋友在跟着廖雪峰的教程学习python,途中遇到了"在Python中使用迭代器打印杨辉三角"的问题,我在帮忙解决的同时顺手写了个简单的C#版本以供补充. internal ...

  10. .net图表之ECharts随笔05-不同01的语法步骤

    找了好久,一直没找到可用的热力图heatmap.js. 应该说,使用01中的语法一直都无法实现热力图.只能说我太菜了... 现在急于求成,我找了另一种语法来调用ECharts.此种语法的js文件集是从 ...