flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shengjk1 <jsjsjs1...@163.com>
Subject 回复: flink savepoints 和 checkpoints的区别
Date Wed, 27 Mar 2019 11:37:14 GMT
大家交流就好,不用叫老师


首先flink是flink,kafka是kafka,两者是有鲜明界线的,不要交织在一起。flink也仅仅是包装了kafkaconsumer
和kafkaproducer。所有呢,flink是否会自己管理kafka offset与group.id是否有效是无关的,group.id无效,我们应该去考虑kafka的api


其次你说的那个:flink启动了多个application,也就是有多个消费者,消费者是属于同样的group,但是它们都会收到消息
确实是这样的。因为flink中的kafka consumer的APi使用的是 assign() 方法,而对于
kafka 而言,当使用subscribe() 方法时,同一个group.id 下的kafka consumer 才会有且仅有一个消费,具体是否是这样的,你自己可以去验证一下。


Best,
Shengjk1




在2019年03月27日 14:24,九思<1048095605@qq.com九思<1048095605@qq.com>>
写道:
老师,如果启用了checkpoint,flink会自己管理kafka offset。也就是说,此时flink使用消费者组是无效的?
PS:之前有试过,在kafkfa source中设置了group.id。flink启动了多个application,也就是有多个消费者,消费者是属于同样的group,但是它们都会收到消息。





------------------ 原始邮件 ------------------
发件人: "我自己的邮箱"<1048095605@qq.com>;
发送时间: 2019年3月27日(星期三) 中午1:42
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: 回复: flink savepoints 和 checkpoints的区别


谢谢老师~




------------------ 原始邮件 ------------------
发件人: "shengjk1"<jsjsjs1789@163.com>;
发送时间: 2019年3月27日(星期三) 中午12:10
收件人: "user-zh@flink.apache.org"<user-zh@flink.apache.org>;
抄送: "user-zh"<user-zh@flink.apache.org>;
主题: 回复:  flink savepoints 和 checkpoints的区别



 首先,flink-connector-kafka消费kafka 0.8以及之前的数据,会保存在zk上,之后会默认存储到kafka上(依据的kafka自身的API)


至于Flink自己会不会保存和管理offset,需要看你是否启用了checkpoint。
如果未启用checkpoint,依赖于kafka自身的API进行offset管理。
如果启用了checkpoint,flink会在每次checkpoint的时候将offset等信息保存到state
backends中,同时会调用kafka consumer自己的Api提交到kafka
具体可参考:
https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/connectors/kafka.html


Best,
Shengjk1




在2019年03月27日 11:52,九思<1048095605@qq.com> 写道:
谢谢老师,大概知道checkpoint和savepoint的区别了。总体上没什么区别。就是保存的时间点不一样,根据情况,选择从哪个时间点恢复。
老师,还有二个问题。
1、flink 消费 kafka,kafka的offset,是flink自己管理和保存嘛?是否有同步一份到zookeeper上。
PS:我在zookeeper上没有找到offset信息,可能我没找到,也可能没有。
2、之前用过消费者组,好像不起作用。从这里是不是就说明flink是自己管理保存offset,没有同步到zookeeper?




------------------ 原始邮件 ------------------
发件人: "baiyg25281@hundsun.com"<baiyg25281@hundsun.com>;
发送时间: 2019年3月27日(星期三) 中午11:38
收件人: "user-zh"<user-zh@flink.apache.org>;

主题: 回复: 回复: flink savepoints 和 checkpoints的区别






提交任务界面会有这个 savepoint 路径配置,如果程序运行发生重大故障中断了,不会自动savepoints,那么在这个地方路径配置就感觉有点多余了,另外引擎容错也不友好。我没有测试过,你可以测试下。





baiyg25281@hundsun.com



发件人: 九思
发送时间: 2019-03-27 11:03
收件人: user-zh
主题: 回复: flink savepoints 和 checkpoints的区别


老师,savepoint不是要手动触发的嘛?如果程序运行发生重大故障中断了,不会自动savepoints吧?




------------------ 原始邮件 ------------------
发件人: "baiyg25281@hundsun.com"<baiyg25281@hundsun.com>;
发送时间: 2019年3月27日(星期三) 中午11:01
收件人: "user-zh"<user-zh@flink.apache.org>;

主题: 回复: flink savepoints 和 checkpoints的区别



checkpoints:
是程序运行中发生可恢复异常了,会从最新上一个checkpoint重新运行,一般代码中设置,就像你说的间隔几秒保存一次,只要设置了程序自动管理。

savepoints:
是程序运行中断时使用,比如你要人为关闭任务进行维护,手动执行savepoints保存到指定路径。一般提交任务时会配置一个savepoints保存路径,这样程序运行发生重大故障中断了,会自动进行savepoints保存到你配置的路径。再次启动需要根据savepoints恢复中断前数据。





baiyg25281@hundsun.com

发件人: 九思
发送时间: 2019-03-27 10:48
收件人: user-zh
主题: flink savepoints 和 checkpoints的区别
请教老师,flink savepoints 和 checkpoints的区别,网络上是说,checkpoints主要用于异常恢复,savepoints主要用于程序恢复。。但是还是没搞懂,程序什么时候使用savepoints,什么时候使用savepoints。
PS:代码里有开启checkpoints, 3s一次。程序cancel的时候,会使用参数-s,强制savepoints。但是程序启动时,不知道该用savepoints来恢复,还是checkpoints来恢复?有什么区别嘛,谢谢。
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message