免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4273 | 回复: 7
打印 上一主题 下一主题

[FastDFS] 测试中发现的问题:心跳检测 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-26 11:11 |只看该作者 |倒序浏览
2台tracker,2台storage,2台storage在1个卷.
将其中一台storage断电后,然后monitor发现该storage的状态还是active.本来以为过一段时间状态
会变为offline,但是等了一个半小时状态还是active.如果kill掉进程,状态很快就会变化.
tracker在一段时间内接收不到storage的心跳时,应该会自动将该storage的状态变为
offline,难道目前fastdfs还没有实现这种机制吗,或者有什么地方可以设置的吗,请指教!

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
2 [报告]
发表于 2009-08-26 18:46 |只看该作者

回复 #1 zhouzezhong 的帖子

storage server会定期向tracker server发送心跳包。
storage server的状态从active转换为offline,tracker server是看其对应的socket是否断掉。
storage server突然断电的情况还真没有测试过,可以考虑tracker server没有收到storage server的心跳的情况下,将其自动下线。

论坛徽章:
0
3 [报告]
发表于 2009-08-27 10:01 |只看该作者
我的tracker server的timeout时间为60秒.按照正常情况60秒后,所有的socket应该都断掉,没有理由等一个小时还没有反应.
建议斑竹在tracker一端加上定时功能,如果,一段时间内tracker一端收不到storage的心跳包,则视为offline.
期待中!!!!!!

论坛徽章:
0
4 [报告]
发表于 2009-08-27 15:05 |只看该作者
原帖由 zhouzezhong 于 2009-8-27 10:01 发表
我的tracker server的timeout时间为60秒.按照正常情况60秒后,所有的socket应该都断掉,没有理由等一个小时还没有反应.
建议斑竹在tracker一端加上定时功能,如果,一段时间内tracker一端收不到storage ...


多谢happy_fish,我也重现了这个问题,storage状态变了tracker不能准备感知:
1,启动一个group的第二个storage后进入文件同步显示SYNCING,然后ls查看文件同步已经完成,几分钟后还是SYNCING状态,没有更新状态到ACTIVE,测试文件不会上传到这个storage;
2,手工stop这个storage,结果10分钟了继续保持SYNCING状态,未显示OFFLINE状态。
3,其中storage_servers.dat 内的状态跟monitor显示的不同,即使重启tracker也不会更新成一致。

呵呵,最近发现FastDFS的机制的确非常符合存储大量小文件做并发访问,所以做了些测试,发现还存在一些问题,热切期盼新版本解决。

[ 本帖最后由 happy_fastdfs 于 2009-8-27 15:59 编辑 ]

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
5 [报告]
发表于 2009-08-30 20:26 |只看该作者
原帖由 zhouzezhong 于 2009-8-27 10:01 发表
我的tracker server的timeout时间为60秒.按照正常情况60秒后,所有的socket应该都断掉,没有理由等一个小时还没有反应.
建议斑竹在tracker一端加上定时功能,如果,一段时间内tracker一端收不到storage ...


V1.20版本中tracker已经增加了对storage server的active检查,欢迎大家下载使用。
非常感谢zhouzezhong的反馈!

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
6 [报告]
发表于 2009-09-19 10:59 |只看该作者

回复 #4 happy_fastdfs 的帖子

从V1.20版本开始tracker支持alive检测,alive检测时间间隔一定要大于storage的心跳时间间隔,是心跳时间间隔的2~3倍即可。
即将推出的V1.21版本中,通过socket的KEEP ALIVE机制,可以检测到网络异常断掉的情况。通过以上两种方式,解决了网络异常中断的情况下,tracker server不能感知的问题。
非常感谢zhouzezhong和happy_fastdfs,感谢你们对FastDFS进行了各种各样的测试和反馈!

论坛徽章:
0
7 [报告]
发表于 2010-01-06 10:31 |只看该作者
看了下代码,keepalive选项是不是应该应用到accept返回的socket, 而不是监听socket?

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
8 [报告]
发表于 2010-01-06 11:08 |只看该作者

回复 #7 unix_newbie 的帖子

我测试过,对于KEEP ALIVE选项,设置监听的socket后,会对accept得到的socket起作用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP