kafka进程还在,但是该broker对应的机器没有流量出入。此时要如何处理?

小小火柴 发表于: 2017-02-24   最后更新时间: 2017-02-24 15:39:47   12,184 游览

因为网络原因,出现kafka-manager监控到一个broker丢失。但是kafka进程还在。这种情况下,该如何恢复该broker。

发表于 2017-02-24
添加评论
小小火柴 -> 半兽人 7年前

你好,是这样的,另一台的log日志已经报错了。

WARN [ReplicaFetcherThread-0-1], Error in fetch kafka.server.ReplicaFetcherThread$FetchRequest@3aa0639b (kafka.server.ReplicaFetcherThread)

java.io.IOException: Connection to 1 was disconnected before the response was read。

broker1的kafka进程还在,但是已经没有数据写入这台了。这种情况下,去平衡leader有用吗?

半兽人 -> 小小火柴 7年前

如果你的broker恢复了,当然可以用了。

小小火柴 -> 半兽人 7年前

你好,同样的问题,但是这个平衡leader没有用。目前的现象是broker=1的那台机器的kafka进程还在,但是server.log 已经不更新了。另一台broker=0的server.log显示

WARN [ReplicaFetcherThread-0-1], Error in fetch kafka.server.ReplicaFetcherThread$FetchRequest@6ad018db (kafka.server.ReplicaFetcherThread)
java.io.IOException: Connection to 1 was disconnected before the response was read

半兽人 -> 小小火柴 7年前

我怀疑是网络问题:
1、首先这台broker是否健康(只消费和生产该kafka的消息)
2、hostname要配好对应的ip
3、确认外部能telnet通端口和ip

Finder -> 半兽人 6年前

我们现在是直接用的内网Ip(阿里云虚机),但是某些情况也发生这种情况,请问楼主怎么解决

半兽人 -> Finder 6年前

能监控到网络中断或延迟过高吗?

Finder -> 半兽人 6年前

现在好像不能,因为这个情况发生的时间不确定,监控好像还没有

半兽人 -> Finder 6年前

所以最好加上监控呀

Finder -> 半兽人 6年前

是啊,需要运维加监控

Finder -> Finder 6年前

还有个问题,flume 进行数据采集,传输到kafka,如果此时kafka故障,无法启动,那么kafka在启动后,故障时传输的数据就丢失了吧

半兽人 -> Finder 6年前

如果flume是异步,并且ack设置的级别最低,就会丢了。

我也遇到这样的问题,导致spark streaming已经出现消息重复消费,查看是kafka已经才出现重复数据了,请问楼主解决了吗

半兽人 -> Finder 6年前

kafka中集群的消息重复了,还是只是消费重复了?

Finder -> 半兽人 6年前

kafka集群消息重复,现在定位到flume TAILDIR source 拉取数据重新重复,您遇到过吗

半兽人 -> Finder 6年前

没遇到过额,如果只针对kafka的话,重复有2种情况。
1、生产者超时,生产者并不清楚消息是否真的成功发给了kafka集群,如果你配置了重发或代码逻辑重发,将会导致重复消息。
2、消费者重复消费,当消费者拿到消息后,处理完成后,提交offset前,报错,则此条消息将会由其他消费者再次消费。

Finder -> 半兽人 6年前

那就是最大可能是:kafka消费能力不足,未来得及保存offset,结果被其他消费者(或者还是自己)消费,导致重复,那这怎么去修正,楼主有什么建议

Finder -> 半兽人 6年前

我这几天也遇到kafka进程还在,但是coordinator已经无法链接到那个broker 了(日志显示),请问这是网络问题导致吗,该怎么解决

半兽人 -> Finder 6年前

看看那个节点的日志,看看有什么异常的错误。

Finder -> 半兽人 6年前

查看了,是broker id =1 无法被链接,重启后可以.还有,现在kafka出现消费重复了.请问如何,从生产者,消费者来进行消息去重处理,在集群配置,代码级别该如何处理

半兽人 -> Finder 6年前

kafka发送的时候,有个“key”,通过它来进行去从匹配。

Finder -> 半兽人 6年前

现在是spark streaming处理kafkastream 的消息,是连续的,而且如果记录key的话,从头开始都要记,可行吗,有没有相应的例子.

Finder -> 半兽人 6年前

这个是从生产者,还是消费者端进行去重?

半兽人 -> Finder 6年前

我都不知道你的消息是发送重复,还是消费的时候重复。
出现重复消息的2种原因我都给你说了,重启程序的时候不要kill -9,并关闭拉取消息的动作,就不会重复的。
剩下你得先确认重复的源头是哪。

Finder -> 半兽人 6年前

kakfa消费重复

Finder -> 半兽人 6年前

楼主问下,kafka 在zookeeper中 brokerid不存在了,但是kafka进程还在,这个是网络问题,还是配置问题,你是怎么解决,避免再次发生的?

半兽人 -> Finder 6年前

增加超时时间吧

Finder -> 半兽人 6年前

是在kafka server.properties中,增加超时时间吗

Finder -> 半兽人 6年前

多谢

Finder -> 半兽人 6年前

楼主你好,现在遇到个情况,kafka进程还在,但是在zookeeper,kafka中重启后,仍然无法在zookeeper无法看到对应kafka 的brokerid,请楼主给指导下怎么解决

半兽人 -> Finder 6年前

老哥,不是同一个问题,不要在这里问呀。新开个提问窗口吧。
另外,这种异常,一定会伴随着不正常的日志,可以到新问题窗口里贴出来进行分析。

你的答案

查看kafka相关的其他问题或提一个您自己的问题