您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页一次替换FastDFS数据目录引发的文件上传和访问异常

一次替换FastDFS数据目录引发的文件上传和访问异常

来源:宝玛科技网

1、图片访问异常

问题描述

然后重启了tracker、storage和nginx服务,但是发现图片访问不到,直接页面是一片空白,使用curl访问,也是没有任何返回,就卡在那里,只能Ctrl+c退出来:

[root@host10 logs]#  curl  http://10.0.0.10:8090/groupA/M00/00/00/cErM6luMkf-IbhOWAAhHLHLDXwwAAAABQKwYD8ACEdE376.jpg-m

#没有任何返回,只能Ctrl+c退出来。
[root@host10 logs]#

原因分析

1、查看端口和进程

查看storage和tracker进程,都还在:

[root@host10 ~]#  ps -ef|grep storage.conf
root      1126     1  0 14:57 ?        00:00:00 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
root      5139  5071  0 15:13 pts/8    00:00:00 grep --color=auto storage.conf
[root@host10 ~]#  ps -ef|grep tracker.conf
root      5149  5071  0 15:13 pts/8    00:00:00 grep --color=auto tracker.conf
root     30168     1  0 14:44 ?        00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
[root@host10 ~]#

查看tracker、storage的端口,都是起来的,防火墙也打开了相应的端口:

[root@host10 ~]# netstat -tlunp|grep 23000
tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      1126/fdfs_storaged
[root@host10 ~]# netstat -tlunp|grep 22122
tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      30168/fdfs_trackerd

然后查看nginx,发现端口也是起来的,但是进程有异常,只有一个master进程:

[root@host10 sbin]# ps -ef|grep nginx
root       744 22962  0 10:37 pts/8    00:00:00 grep --color=auto nginx
root     29076     1  0 10:21 ?        00:00:00 nginx: master process ./nginx     #只有一个master进程
[root@host10 sbin]#

2、查看日志

查看nginx日志,在error_log重复报下面几行错误

ngx_http_fastdfs_process_init pid=29077
[2018-09-05 10:21:46] ERROR - file: shared_func.c, line: 960, open file /etc/fdfs/mod_fastdfs.conf fail, errno: 13, error info: Permission denied
[2018-09-05 10:21:46] ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 13
2018/09/05 10:21:46 [alert] 29076#0: worker process 29077 exited with fatal code 2 and cannot be respawned
# chmod 755 /etc/fdfs
# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# cd /usr/local/nginx/sbin/
# ./nginx -s reload

然后查看nginx的进程,就有worker进程了:

[root@host10 ~]# ps -ef|grep nginx
nobody     363 29076  0 14:55 ?        00:00:00 nginx: worker process         #有worker进程了
root      8456  8381  0 15:27 pts/8    00:00:00 grep --color=auto nginx
root     29076     1  0 10:21 ?        00:00:00 nginx: master process ./nginx
[root@host10 ~]#

访问图片,有内容返回了:

[root@host10 logs]#  curl  http://10.0.0.10:8090/groupA/M00/00/00/cErM6luMkf-IbhOWAAhHLHLDXwwAAAABQKwYD8ACEdE376.jpg-m
fileExtNamejpgfileLength542508fileNameIMG_1171.jpg
[root@host10 logs]#

让测试在新环境上测试了一下,图片能够正常访问了。

2、图片上传异常

问题描述

在测试反馈图片访问可以正常的时候,为了保险,测试了一下图片上传功能,发现上传图片出现问题:

[root@host10 ~]#  /usr/bin/fdfs_test /etc/fdfs/client.conf upload /tmp/test/test10.png
This is FastDFS client test program v5.05

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2018-09-05 11:08:23] DEBUG - base_path=/data/dfs/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group:
        server 1. group_name=, ip_addr=10.0.0.10, port=23000

group_name=groupA, ip_addr=10.0.0.10, port=23000
[2018-09-05 11:08:23] ERROR - file: tracker_proto.c, line: 48, server: 10.0.0.10:23000, response status 17 != 0
storage_upload_by_filename
upload file fail, error no: 17, error info: File exists    #这里报File exists,但是换了很多张新图片上传,都报这个错
[root@host10 ~]#

原因分析

查看storaged.log日志,发现在上传文件的同时,日志就会打印出这几行报错信息:

[2018-09-05 11:15:45] ERROR - file: storage_dio.c, line: 885, trunk file: /data/dfs/group1/data/00/00/000001, offset: 299076 already occupied by other file, trunk header info: file_type=-88, alloc_size=-1127393023, file_size=-397478323, crc32=485419875, mtime=-5927312, ext_name(7)=(<\Ñf§r
[2018-09-05 11:15:45] WARNING - file: trunk_mgr/trunk_mem.c, line: 1620, trunk space already be occupied, delete this trunk space, trunk info: store_path_index=0, sub_path_high=0, sub_path_low=0, id=1, offset=299076, size=24885, status=1

这部分文件使用的新环境本身的文件之外,还将/data/dfs/group1/data/00/00/000001文件也替换成了新环境本身原始的000001文件。然后重启tracker、storage、nginx服务,发现上传功能恢复了:

[root@host10 data]# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /tmp/test/test2.png                                                                                                                                          This is FastDFS client test program v5.05

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2018-09-05 15:40:56] DEBUG - base_path=/data/dfs/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group:
        server 1. group_name=, ip_addr=10.0.0.10, port=23000

group_name=groupA, ip_addr=10.0.0.10, port=23000
storage_upload_by_filename
group_name=groupA, remote_filename=M00/00/00/rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442.png
source ip address: 10.0.0.10
file timestamp=2018-09-05 15:40:56
file size=17697
file crc32=420302403
example file url: http://10.0.0.10:8090/groupA/M00/00/00/rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442.png
storage_upload_slave_by_filename
group_name=groupA, remote_filename=M00/00/00/rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442_big.png
source ip address: 10.0.0.10
file timestamp=2018-09-05 15:40:56
file size=17697
file crc32=420302403
example file url: http://10.0.0.10:8090/groupA/M00/00/00/rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442_big.png
[root@host10 data]#
[root@host10 data]#  ll /data/dfs/group1/data/00/00/|grep 5442
-rw-r--r-- 1 root root    17697 Sep  5 15:40 rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442_big.png
-rw-r--r-- 1 root root       49 Sep  5 15:40 rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442_big.png-m
-rw-r--r-- 1 root root       49 Sep  5 15:40 rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442.png-m
[root@host10 data]#

查看该图片,也是可以查看到的了:

[root@host10 data]# curl http://10.0.0.10:8090/groupA/M00/00/00/rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442_big.png-m
ext_namejpgfile_size115120height80width160
[root@host10 data]#
[root@host10 data]#
[root@host10 data]# curl http://10.0.0.10:8090/groupA/M00/00/00/rDN5CluPiIiIV-bEAABFIRkNTkMAAAAAQAGYYsAAEU5442.png-m
ext_namejpgfile_size115120height80width160
[root@host10 data]#

在浏览器访问

也能看到图片:

转载于:https://blog.51cto.com/10950710/2170754

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务