设为首页 收藏本站
查看: 1187|回复: 0

[经验分享] MooseFS使用问题分析总结

[复制链接]
YunVN网友  发表于 2019-2-1 08:52:34 |阅读模式
随着数据量越来越大,MFS的使用中也出现过一些问题,这里做了一些分析和总结,下面和大家分享一下:
先提一下MFS出问题时出现比较频繁的两个信息:

  •   连接中断
  •   坏块问题
连接中断问题在Master端会出现如下错误:

  •   mfsmaster[15861]: connection with client(ip:10.11.18.175) has been closed by peer  
  •   表示客户端和master的连接中断  
  •   mfsmaster[15861]: connection with ML(10.11.19.76) has been closed by peer  
  •   表示Metalogger和Master的连接中断  
  •   mfsmaster[15861]: connection with CS(10.11.18.199) has been closed by peer  
  •   表示ChunkServer和Master的连接中断
原因分析可能如下:

  •   网络闪断 - 正常现象,MFS本身可自动重连,不会造成问题
  •   Clinet或ChunkServer主动断开连接,如Kill进程,也会引起这种错误
  •   ChunkServer或Client到Master的连接超时,也会断开连接,引起超时可能有两个原因:


  •   Client请求过多,引起Master请求队列已满,导致的连接超时
  •   网络响应慢引起的超时(和网络闪断区分)
解决办法:

  •   对于1、3出现引起的中断可不加理会,重点需关注2引起的问题:
  •   针对2-a:Client控制请求,如超高并发的读写删除,另需注意的操作是ls,大家知道Linux系统本身对一个目录下文件个数的显示是有限制的(如10W,那么涉及到的需遍历指令就会报错,list too long),同样,我们MFS中遍历目录下文件时也要注意,要遍历的文件数过多会导致超时引起连接被中断等问题。
  •   针对2-b: 合理分配带宽资源,优化网络环境解决。
备注:
Client或Chunk到Master的连接中断之后,会由Client或Chunk自动发出重连(Reconnection)和注册(Register)操作。
坏块问题在Master端会出现如下错误:

  •   mfsmaster[3250]: chunkserver has nonexistent chunk (000000000002139F_00000001), so create it for future deletion  
  •   mfsmaster[3250]: (10.11.18.199:9422) chunk: 000000000002139F creation status: 20  
  •   mfsmaster[3250]: chunk 000000000002139F has only invalid copies (1) – please repair it manually  
  •   mfsmaster[3250]: chunk 000000000002139F_00000001 – invalid copy on (10.11.18.199 – ver:00000000)  
  •   mfsmaster[3250]: currently unavailable chunk 000000000002139F (inode: 135845 ; index: 23)
上述日志的意思是:有一个块在Master中有元数据信息,但ChunkServer中没有这个块,系统会自动在ChunkServer上创建此块为了后续删除,因为没有内容,所以是非法的copy,我们也无法访问到此块。
出现的原因可能有很多,如:

  •   Client端大文件传输过程中,强制拔下master主机电源,造成master非法关闭,使用mfsmetarestore -a修复后,master日志报告有坏块
  •   ChunkServer的csstats.mfs存放位置空间不足,导致文件块无法写入,也会引起块错误
  •   手动删除ChunkServer上的块文件
  •   删除文件后,Master非正常结束后重启,但没有结果changelog.mfs进行恢复,也会引起坏块
原因应该还有很多,后续有遇到再补充。
解决办法:
Client端使用mfsfilerepair对文件进行修复。
我理解坏块分为两种:

  •   一种是没有任何一个trunk节点有数据(修复工作其实就是生成chunk,在需要补充内容的地方填充0,这种块事后要删除)
  •   另一种是存在有数据块的节点(从存在的数据块copy,这里的块不需要删除)
修复之后可能出现如下日志信息:

  •   mfsmaster[3250]: chunk hasn’t been deleted since previous loop – retry  
  •   mfsmaster[3250]: (10.11.18.199:9422) chunk: 000000000002139F deletion status: 13
  Client端执行一个mv或rm 操作,master将不会再显示此信息,如:
  

  •   mv 80499644316259743_s.jpg 80499644316259743_s_1.jpg
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-670272-1-1.html 上篇帖子: MFS 下篇帖子: 分布式文件系统moosefs最新进展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表