免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: happy_fish100
打印 上一主题 下一主题

[FastDFS] FastDFS FAQ (欢迎反馈,我将及时整理) [复制链接]

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
131 [报告]
发表于 2016-04-05 14:20 |只看该作者
新的进展:nginx已经成功启动,监听端口80,图片文件也上传成功(不知为何tracker 和 storage的启动方法改成service xxx start 上传就好使了),可是在浏览器中输入url 却得到400 bad Request??
如何解决呢?

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
132 [报告]
发表于 2016-04-13 15:24 |只看该作者
楼上是因为nginx没有启动成功,因为加入了group,要在mod_fastdfs.conf 中打开group相关信息,包括路径。回复 131# duoduoluo_z


   

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
133 [报告]
发表于 2016-04-13 15:43 |只看该作者
本帖最后由 duoduoluo_z 于 2016-04-13 15:47 编辑

请各位大神花两分钟帮我看看这个好玩的问题可以吗?
目前为止,双tracker 单group 双storage配置成功,上传、下载文件好使。但是今天遇到了一个神奇的问题:
我把上面的配置改成 双tracker 双group 双storage,每个group 有一个storage这种。

tracker1: 192.168.1.9
tracker2: 192.168.1.99
group1:
    storage1: 192.168.1.99
group2:
    storage2: 192.168.1.9

上传图片后返回路径如:group1/M00/00/00/wKgBY1cN8DeAYJhbAAmOi5YwQd0267.jpg
连续上传几张图,发现都是group1,因为我给上传设置的是group负载均衡,然后就改成了轮询策略。
后来连续上传就是轮询,返回的地址如:
group1/M00/00/00/wKgBY1cN8DeAYJhbAAmOi5YwQd0267.jpg
group2/M00/00/00/wKgBCVcN8DuAV9ZRAAmOi5YwQd0802.jpg

好家伙,问题来了!
我在浏览器输入地址: 192.168.1.99/group1/M00/00/00/wKgBY1cN8DeAYJhbAAmOi5YwQd0267.jpg
或者:                          192.168.1.9/group1/M00/00/00/wKgBY1cN8DeAYJhbAAmOi5YwQd0267.jpg
都可以访问图片,我的理解是nginx会帮我重定向,因为这张图其实是保存在192.168.1.99 这台storage里,是这样吧?
但是!
无论我输入: 192.168.1.9/group2/M00/00/00/wKgBCVcN8DuAV9ZRAAmOi5YwQd0802.jpg
还是:             192.168.1.99/group2/M00/00/00/wKgBCVcN8DuAV9ZRAAmOi5YwQd0802.jpg
都找不到这张图!404 not found

然后我把group2 改成了 group1 试试吧,它又成功了!
开始怀疑是不是 storage.conf client.conf 或者 mod_fastdfs.conf 这三个文件哪个配置写错了,没改过来,检查了好几遍应该都没有问题
现在的问题是,返回的路径是真实的,因为图片确实是在这个group中的storage里,但是为什么请求的时候都是group1呢?group2 的这台storage上的图片为什么也要用group1阿?

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
134 [报告]
发表于 2016-04-13 16:38 |只看该作者
我也是醉了,早该想到的!!哭
问题出在nginx.conf ,因为之前有设置过location 字段,把 /group1/M00 作为我的数据访问路径,现在问题出在请求的地址,因为返回是group2,是没错的,错在代理服务器,把这个group1 改称 group2。

每次都这样,自己提问自己回答。。真醉了

但是有个疑问还没有解决,就是上传地址是对的,为什么从不同group中的一台storage也可以访问到另一group中storage的资源。。。
我把另外一台的nginx.conf 改好之后,和预想的就一样了,只有写对ip 才能访问它的图片,另一台storage就不可以了。。

那么为了方便,我是否应该把返回url 中的group 这个标签去掉,干脆都不要了,可是我怎么才能知道这是哪个group,或者哪个 ip 里的资源呢?如果用client-java 该怎么记录呢?
我再研究研究。。。

回复 133# duoduoluo_z


   

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
135 [报告]
发表于 2016-04-13 17:10 |只看该作者
干脆当成我自己的问题记录好了。。。
fdfs_monitor 的问题,这个命令可以用来观察哪些文件啊? 为什么我的会报错?

观察storage.conf
[root@localhost fdfs]# fdfs_monitor storage.conf
base_path=/data/fdfs, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0
[2016-04-13 17:02:59] ERROR - tracker server 192.168.1.9:22122 response data length: 210 is invalid.
[2016-04-13 17:02:59] ERROR - file: tracker_proto.c, line: 149, tracker server ip: 192.168.1.9, send data fail, errno: 88, error info: Socket operation on non-socket

观察client.conf
[root@localhost fdfs]# fdfs_monitor client.conf
base_path=/data/fdfs, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0
[2016-04-13 17:06:19] ERROR - tracker server 192.168.1.9:22122 response data length: 210 is invalid.
[2016-04-13 17:06:19] ERROR - file: tracker_proto.c, line: 149, tracker server ip: 192.168.1.9, send data fail, errno: 88, error info: Socket operation on non-socket

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-04-23 06:20:00
136 [报告]
发表于 2016-04-20 20:33 |只看该作者
请问各位大神 有没有fastfds文件数据迁移的教程

论坛徽章:
9
程序设计版块每日发帖之星
日期:2015-10-18 06:20:00程序设计版块每日发帖之星
日期:2015-11-01 06:20:00程序设计版块每日发帖之星
日期:2015-11-02 06:20:00每日论坛发贴之星
日期:2015-11-02 06:20:00程序设计版块每日发帖之星
日期:2015-11-03 06:20:00程序设计版块每日发帖之星
日期:2015-11-04 06:20:00程序设计版块每日发帖之星
日期:2015-11-06 06:20:00数据库技术版块每周发帖之星
日期:2015-12-02 15:02:47数据库技术版块每日发帖之星
日期:2015-12-08 06:20:00
137 [报告]
发表于 2016-04-26 02:33 |只看该作者
ok,,,,,,,,,,,,,,,,,,hao

论坛徽章:
0
138 [报告]
发表于 2016-04-26 11:14 |只看该作者
楼主好,在阅读FastDFS代码过程中发现Tracker_client.c文件的tracker_list_groups(ConnectionInfo *pTrackerServer, \
                FDFSGroupStat *group_stats, const int max_groups, \
                int *group_count)有点问题。FDFSGroupStat *group_stats,感觉应该是FDFSGroupStat **group_stats,测试FDFSGroupStat *group_stats时会出现段错误。不知道楼主当时怎么考虑的。

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
139 [报告]
发表于 2016-05-25 17:35 |只看该作者

有一个困扰许久的问题,像各位请教以下:
就是
location ~* /group[1-2]/M00 {
                root  /data/fdfs/data;

                ngx_fastdfs_module;
               
        }

这一段,按我的理解,root 的作用会把上面的url 拼接在 /data/fdfs/data 后面,那就变成了 /data/fdfs/data/group[1-2]/M00***  (这里的group随便取一个)
可是这张图片在server上的路径应该是 /data/fdfs/data/M00***    也就是去掉group 那一块。
但样例都是这么写的。。之前我还以为ngx_fastdfs_module 会对这个做处理,所以group 这块就没想太多。谁知 这个module 根本就不管这个。。
于是我又确认了一下线下的server,确定就是这么写的,而nginx 也确实能找到那张图!但是在线上就不可以,然后我就凌乱了。。
我觉得肯定是哪里理解错了,希望大神帮忙指点迷津!!
包括 root 的作用,以及之后 nginx 会执行什么操作。。。
谢谢~
回复 138# 历史的哭泣


   

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-26 06:20:00
140 [报告]
发表于 2016-05-26 11:19 |只看该作者
已解决,把echo命令去掉就好了。
希望余大能稍微解释一下,这二者的冲突在哪里?

回复 139# duoduoluo_z


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP