5台kafka集群有一台机器的消息流入量远远落后于其他几个机器
我的kafka集群运行一段时间以后就会出现问题isr就会不正常。正常情况应该是三台,但一段时间以后就会掉一台
而且掉的这一台机器正是远远落后于其他几个机器的
5台kafka集群有一台机器的消息流入量远远落后于其他几个机器
查看下运行日志,跟其他台对比。
日志中没有什么ERROR信息
只有正常ISR异常的时候就会不停打印错误日志 ighack 发表于 2019-5-22 13:52
日志中没有什么ERROR信息
只有正常ISR异常的时候就会不停打印错误日志
远远落后,可能跟网络、磁盘、内存、cpu有关系,监控下看看,是否内存或则cpu过高造成的除了硬件接着就是配置了等。
远远落后,按理可以把它给移除。
可以配置下落后时间。
commit策略:
server配置
rerplica.lag.time.max.ms=10000
# 如果leader发现flower超过10秒没有向它发起fech请求,那么leader考虑这个flower是不是程序出了点问题
# 或者资源紧张调度不过来,它太慢了,不希望它拖慢后面的进度,就把它从ISR中移除。
rerplica.lag.max.messages=4000 # 相差4000条就移除
# flower慢的时候,保证高可用性,同时满足这两个条件后又加入ISR中,
# 在可用性与一致性做了动态平衡 亮点
Producer配置
request.required.asks=0
# 0:相当于异步的,不需要leader给予回复,producer立即返回,发送就是成功,
那么发送消息网络超时或broker crash(1.Partition的Leader还没有commit消息 2.Leader与Follower数据不同步),
既有可能丢失也可能会重发
# 1:当leader接收到消息之后发送ack,丢会重发,丢的概率很小
# -1:当所有的follower都同步消息成功后发送ack.丢失消息可能性比较低
本帖最后由 ighack 于 2019-5-22 16:15 编辑
我也在看内存,CPU和IO
但好像CPU也不高。可用内存还很多
%Cpu(s):8.3 us,0.4 sy,0.0 ni, 91.2 id,0.0 wa,0.0 hi,0.0 si,0.0 st
total used free sharedbuff/cache available
Mem: 125G 17G 8.3G 1.2G 99G 106G
TX: cumm: 138MB peak: 4.70MB rates: 445KB1.17MB1.15MB
RX: 100MB 3.14MB 799KB1.05MB1.09MB
TOTAL: 238MB 7.84MB
iftop也没看到很大的流量
kafka进出的数据量也不太大
这是我们设的
request.required.asks=1
我在考虑要不要设这两个东西
rerplica.lag.time.max.ms=10000
rerplica.lag.max.messages=4000
感觉设了也不会解决落后的问题
配制中我的
num.network.threads=8
num.io.threads=16
log.dirs我是分别放在四个磁盘上
5台机器配制是一样的
本帖最后由 ighack 于 2019-5-22 16:26 编辑
kafka运行一段时间以后会报这样的错
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionEx
ception: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionException: This s
erver is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionException:
This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionEx
ception: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionException: This s
erver is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionException:
This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionException: This s
erver is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
ERROR , Error for partition to broker 2:org.apache.kafka.common.errors.NotLeaderForPartitionException:
This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
zookeeper会发现一些超时的报错
stablished session 0x168dcba3f680148 with negotiated timeout 6000 for client /10.3.87.24:14093
像是这样的6000正好是kafka设的超时 时间
我现在把时间调到了12000
感觉像是选举出现错误了。但是我把掉了的那一台重启也不行
非要把5台机器全部重启一次就好了。一段时间就又报错了
ighack 发表于 2019-5-22 16:18
kafka运行一段时间以后会报这样的错
ERROR
ntp安装了吗,确保时间同步。
另外zookeeper可能出问题了,kafka里面找不到leader了。所以肯定zookeeper出现问题。去看下日志。
我们做了ntp。现在就是不知道问题在那里
我们的zookeeper也是5台机器。应该不会都出问题吧
zookeeper建议
dataDir=/Data6/zookeeper-data
dataLogDir=/Data5/zookeeper-logs
这两个分在不同的目录里
我们除了有两台机器在一个目录里。别的都分了 还想问一下。怎么删除无用的groupid。网上都说是在zookeeper的consumers里。但我查到的是不在里面,对应不上我的groupid avg-cpu:%user %nice %system %iowait%steal %idle
2.61 0.00 0.79 0.16 0.00 96.44
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_awaitsvctm%util
sda 0.00 0.00 0.00 4.67 0.00 0.06 25.64 0.11 23.07 0.00 23.0711.50 5.37
sdb 0.00 0.00 0.00 5.00 0.00 0.05 19.20 0.24 48.73 0.00 48.73 5.07 2.53
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
以前也是怛心是IO的问题,调了num.network.threads=8,num.io.threads=16分了不同磁盘
但我发现我们的kafka流量并不高
页:
[1]