kafka 的 message 包括哪些信息

一个 Kafka 的 Message 由一个固定长度的 header 和一个变长的消息体 body 组成
header 部分由一个字节的 magic(文件格式)和四个字节的 CRC32(用于判断 body 消息体
是否正常)构成。当 magic 的值为 1 的时候,会在 magic 和 crc32 之间多一个字节的数据:
attributes(保存一些相关属性,比如是否压缩、压缩格式等等);如果 magic 的值为 0,那
么不存在 attributes 属性
body 是由 N 个字节构成的一个消息体,包含了具体的 key/value 消息
 
怎么查看 kafka 的 offset
0.9 版本以上,可以用最新的 Consumer client 客户端,有 consumer.seekToEnd() / c
onsumer.position() 可以用于得到当前最新的 offset:
 
 
 
5、HDFS 读写数据的过程
 
读:
1、跟 namenode 通信查询元数据,找到文件块所在的 datanode 服务器
2、挑选一台 datanode(就近原则,然后随机)服务器,请求建立 socket 流
3、datanode 开始发送数据(从磁盘里面读取数据放入流,以 packet 为单位来做校验)
4、客户端以 packet 为单位接收,现在本地缓存,然后写入目标文件
 
写:
1、根 namenode 通信请求上传文件,namenode 检查目标文件是否已存在,父目录是否
存在
2、namenode 返回是否可以上传
3、client 请求第一个 block 该传输到哪些 datanode 服务器上
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值