近来大家在安装最新的 MogileFS 时,会发现测试的时候,怎么样复制文件的过程都不正常.使用 telnet 到 7001 中使用 !watch 来查看时会不断的报下面的错(详细使用见 MogileFS 高级排错).
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 | !watch Added you to watcher list. . :: Child 10106 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10091 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10121 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10134 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10120 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10135 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10136 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. :: Child 10149 (replicate) died: 256 (UNEXPECTED) :: Child 10150 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 8, wants 10, making 2. :: Child 10152 (replicate) died: 256 (UNEXPECTED) :: Job replicate has only 9, wants 10, making 1. |
上次我使用 MogileFS 的 DEBUG 模式跟过这个问题,是由于 Sys::Syscall 这个模块升级成 0.25 的新版本引起的.
我们可以使用下面的命令来检查当前的版本
1 2 | $ perl -MSys::Syscall -e 'print $Sys::Syscall::VERSION' 0.25 |
如果发现是显示上面的 0.25 就一定会出问题.建议退回到 0.23 就不会在出问题了.所以建议大家在安装完 MogileFS 后,先退回这个模块到 0.23.
1 | cpanm http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz |
二个月以前发现这个问题,近来很多人来问我,发现问题还很严重,特此记录.希望能帮到大家.
ps: 最新的 MogileFS 的客户端连接数据库一定要求要有密码,不然启动会有问题…