Giter VIP home page Giter VIP logo

happyfish100 / fastdfs Goto Github PK

View Code? Open in Web Editor NEW
8.9K 516.0 2.0K 10.89 MB

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance. Wechat/Weixin public account (Chinese Language): fastdfs

License: GNU General Public License v3.0

C 95.78% Makefile 0.41% Shell 0.90% PHP 2.32% M4 0.03% Dockerfile 0.56%
distributed-file-system distributed-file-storage storage-servers

fastdfs's People

Contributors

674019130 avatar alexzshl avatar andyli029 avatar eltociear avatar enchigo avatar fwq418233640 avatar happyfish100 avatar idlerwin avatar juntt avatar liyanjing avatar mmcco avatar qi-zou avatar ql2023 avatar retamia avatar rustmilian avatar saintkayluk avatar sunqiangwei1988 avatar wswind avatar yang1032 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fastdfs's Issues

FastDFS线程池销毁

如果配置了FastDFS自带的线程池,那么线程池将在fdfs_client_init函数中初始化。但是在fdfs_client_destroy中却没有线程池的销毁操作,需要自己主动调用fdfs_connection_pool_destroy销毁。

作为一个新手,非常想要一个HELLO WORLD程序

太难了。
我甚至不知道FASTDFS的主页在哪,要去哪里下载最新版。GITHUB上面下到的是5.05版本吗?SF上最新版是5.08……到底应该用哪个?
百度一下,讲FASTDFS的,都是那些千篇一律的,没有讲5.0X版本的攻略,都是3.几甚至2.几版本的,依赖的还都是libevent的,问题太多了。能不能先从整体上给这个FASTDFS一个介绍?我现在也搞不清楚究竟是需要在每个TRACKER和storage服务器上都需要装一遍FASTDFS,还是在某一个上面装就行了?到底我怎么才能起步啊?
我不是专门研究这个分布式文件系统的,我只想简简单单的把它装好,然后使用它。就像一个FTP服务器一样,我从来也不知道FILEZILLA的FTP服务器究竟是如何运作的,我只需要把它装好,配置好,就可以用了。FASTDFS不可以吗?有没有一个攻略,如何安装,如何把某台服务器配置到某个GROUP中?将来如何扩展?
作为一个新手,非常想要一个HELLO WORLD程序。

fastdfsV5.05在red hat server 6.5 for power linux上安装报错

错误代码如下,请问如何解决,谢谢。
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -DOS_LINUX -DIOEVENT_USE_EPOLL -c -o ../common/linux_stack_trace.o ../common/linux_stack_trace.c -I../common -I/usr/include/fastcommon
../common/linux_stack_trace.c: In function ‘signal_stack_trace_print’:
../common/linux_stack_trace.c:82: error: ‘mcontext_t’ has no member named ‘gregs’
../common/linux_stack_trace.c:149: error: ‘sz’ undeclared (first use in this function)
../common/linux_stack_trace.c:149: error: (Each undeclared identifier is reported only once
../common/linux_stack_trace.c:149: error: for each function it appears in.)
../common/linux_stack_trace.c:149: warning: implicit declaration of function ‘backtrace’
../common/linux_stack_trace.c:149: error: ‘bt’ undeclared (first use in this function)
../common/linux_stack_trace.c:150: error: ‘strings’ undeclared (first use in this function)
../common/linux_stack_trace.c:150: warning: implicit declaration of function ‘backtrace_symbols’
../common/linux_stack_trace.c:67: warning: unused variable ‘buff’
../common/linux_stack_trace.c:66: warning: unused variable ‘cmd’
../common/linux_stack_trace.c:65: warning: unused variable ‘ip’
../common/linux_stack_trace.c:64: warning: unused variable ‘bp’
../common/linux_stack_trace.c:63: warning: unused variable ‘dlinfo’
../common/linux_stack_trace.c:61: warning: unused variable ‘f’
make: *** [../common/linux_stack_trace.o] Error 1

这几天storage服务总会假死,监控到会自动重启服务恢复正常,查看日志有以下报错信息.帮忙看一下.

Aug 8 11:29:46 localhost kernel: fdfs_storaged[27602]: segfault at 18 ip 000000000041ac9c sp 00007f6a22824d98 error 6 in fdfs_storaged[400000+6b000]
Aug 10 09:44:19 localhost kernel: fdfs_storaged[12196]: segfault at 18 ip 000000000041ac9c sp 00007ff86a21ed98 error 6
Aug 10 09:44:19 localhost kernel: fdfs_storaged[12197]: segfault at 18 ip 000000000041ac9c sp 00007ff86a19dd98 error 6 in fdfs_storaged[400000+6b000] in fdfs_storaged[400000+6b000]

这是最近两次的报错. 时间与监控重启时间对应. 帮忙看下是什么问题.

关于上传文件的编码问题

我在使用fastdfs时遇到一个问题,我将一段html代码上传并保存为html文件,我发现这个文件的编码是gbk的,但是我所有的用到的页面都是utf-8的,这导致如果我把html直接当一个iframe嵌到我的页面上的时候,这一个是乱码的?请问这个怎么解决?

fastfs 上传几率超时,线上3台storage毕现

storage_dio.c dio_thread_entrance函数pthread_cond_wait几率会阻塞住,没有收到nio线上投递过来的信号,导致写文件出现5秒以上(几十分钟和小时也出现过)的超时。nio投递消息的地方,和dio线程没有同步,出现不协调,目前线上修改为使用pthread_cond_timedwait 超时api,超时500毫秒自动重新从队列获取消息处理

安装出错:undefined reference to `sqrt'

在libfastcommon已安装的情况下,./make.sh编译时,出现错误:
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -o fdfs_trackerd fdfs_trackerd.c ../common/fdfs_global.o tracker_proto.o tracker_mem.o tracker_service.o tracker_status.o tracker_global.o tracker_func.o fdfs_shared_func.o tracker_nio.o tracker_relationship.o tracker_dump.o ../common/linux_stack_trace.o -L/usr/lib64 -lpthread -ldl -rdynamic -lfastcommon -I../common -I/usr/include/fastcommon
/usr/lib64/libfastcommon.so: undefined reference to sqrt' /usr/lib64/libfastcommon.so: undefined reference tocos'
collect2: ld returned 1 exit status
make: *** [fdfs_trackerd] Error 1
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -o fdfs_storaged fdfs_storaged.c ../common/fdfs_global.o ../tracker/fdfs_shared_func.o ../tracker/tracker_proto.o tracker_client_thread.o storage_global.o storage_func.o storage_service.o storage_sync.o storage_nio.o storage_dio.o storage_ip_changed_dealer.o storage_param_getter.o storage_disk_recovery.o trunk_mgr/trunk_mem.o trunk_mgr/trunk_shared.o trunk_mgr/trunk_sync.o trunk_mgr/trunk_client.o trunk_mgr/trunk_free_block_checker.o ../client/client_global.o ../client/tracker_client.o ../client/storage_client.o ../client/client_func.o fdht_client/fdht_proto.o fdht_client/fdht_client.o fdht_client/fdht_func.o fdht_client/fdht_global.o storage_dump.o ../common/linux_stack_trace.o -L/usr/lib64 -lpthread -ldl -rdynamic -lfastcommon -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
/usr/lib64/libfastcommon.so: undefined reference to sqrt' /usr/lib64/libfastcommon.so: undefined reference tocos'
collect2: ld returned 1 exit status
make: *** [fdfs_storaged] Error 1
cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -o fdfs_monitor fdfs_monitor.c ../common/fdfs_global.o ../common/fdfs_http_shared.o ../common/mime_file_parser.o ../tracker/tracker_proto.o ../tracker/fdfs_shared_func.o ../storage/trunk_mgr/trunk_shared.o tracker_client.o client_func.o client_global.o storage_client.o -L/usr/lib64 -lpthread -ldl -rdynamic -lfastcommon -I../common -I../tracker -I/usr/include/fastcommon
/usr/lib64/libfastcommon.so: undefined reference to sqrt' /usr/lib64/libfastcommon.so: undefined reference tocos'
collect2: ld returned 1 exit status
make: *** [fdfs_monitor] Error 1

storage 不同步

问题描述:

使用monitor查看发现有一个storage节点不同步了。实际查看硬盘存储发现两台节点存储相差快1个T了。说明有大量文件没有同步。

version: 5.02

group只有1组,一组里两个storage节点
tracker 2个节点

配置:
trunk 打开

fdfs_monitor list输出其中一个节点显示如下日志:

total_file_write_count = 807044484 success_file_write_count = 807044484 last_heart_beat_time = 2016-03-23 17:08:56 last_source_update = 2016-03-23 17:08:56 last_sync_update = 2016-03-23 17:08:56 **last_synced_timestamp = 2015-12-30 05:54:20 (84 days 11h:14m:35s delay)**

PHP7 malloc task buff failed

benchmark环境:
fastdfs 5.0.8 + PHP7 +4G 内存+ 每次1M文件
用ab做压测的时候,多压测之后发现有内存泄露
ab -c100 -n1000 "http://192.168.10.244/ycf_fastdfs/test.php?fname=001"

日志输出:
···
tail -f /storage/logs/storaged.log
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:35] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:39] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:40] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:48:54] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
[2016-01-07 18:49:38] ERROR - file: storage_service.c, line: 1828, malloc task buff failed
···

代码
···
$info = $this->fdfs->storage_upload_by_filename($localfile, $ext_name,
array(), null, $this->tracker, $this->storage);
if (is_array($info)) {
$group_name = $info['group_name'];
$remote_filename = $info['filename'];
$source_info = $this->fdfs->get_file_info($group_name,
$remote_filename);
$source_ip = $source_info['source_ip_addr'];
$file_size = $source_info['file_size'];
$this->fdfs->tracker_close_all_connections();
return compact('group_name', 'remote_filename',
'source_ip', 'file_size');
}
···

PHP输出
array('retCode'=>$this->fdfs->get_last_error_no(),'errMsg'=>$this->fdfs->get_last_error_info());
···
array(2) { ["retCode"]=> int(32) ["errMsg"]=> string(11) "Broken pipe" }
···

monitor
···
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
[2016-01-07 18:57:28] DEBUG - base_path=/storage, 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

server_count=1, server_index=0

tracker server is 192.168.10.244:22122

group count: 1

Group 1:
group name = group1
disk total space = 465098 MB
disk free space = 291003 MB
trunk free space = 0 MB
storage server count = 2
active server count = 2
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

    Storage 1:
            id = 192.168.10.242
            ip_addr = 192.168.10.242  ACTIVE
            http domain = 
            version = 5.08
            join time = 2015-12-29 21:24:45
            up time = 2016-01-04 12:18:18
            total storage = 934543 MB
            free storage = 736624 MB
            upload priority = 10
            store_path_count = 1
            subdir_count_per_path = 256
            storage_port = 23000
            storage_http_port = 8888
            current_write_path = 0
            source storage id = 192.168.10.243
            if_trunk_server = 0
            connection.alloc_count = 256
            connection.current_count = 256
            connection.max_count = 256
            total_upload_count = 401413
            success_upload_count = 401413
            total_append_count = 0
            success_append_count = 0
            total_modify_count = 0
            success_modify_count = 0
            total_truncate_count = 0
            success_truncate_count = 0
            total_set_meta_count = 286222
            success_set_meta_count = 286222
            total_delete_count = 16
            success_delete_count = 16
            total_download_count = 49627
            success_download_count = 49627
            total_get_meta_count = 21
            success_get_meta_count = 21
            total_create_link_count = 0
            success_create_link_count = 0
            total_delete_link_count = 0
            success_delete_link_count = 0
            total_upload_bytes = 98746663528
            success_upload_bytes = 98746663528
            total_append_bytes = 0
            success_append_bytes = 0
            total_modify_bytes = 0
            success_modify_bytes = 0
            stotal_download_bytes = 2750713415
            success_download_bytes = 2750713415
            total_sync_in_bytes = 50608869108
            success_sync_in_bytes = 50608869108
            total_sync_out_bytes = 0
            success_sync_out_bytes = 0
            total_file_open_count = 1130799
            success_file_open_count = 1130799
            total_file_read_count = 49648
            success_file_read_count = 49648
            total_file_write_count = 1589464
            success_file_write_count = 1589464
            last_heart_beat_time = 2016-01-08 02:58:31
            last_source_update = 2016-01-07 18:57:13
            last_sync_update = 2016-01-07 18:57:13
            last_synced_timestamp = 2016-01-07 18:55:26 (02m:01s delay)
    Storage 2:
            id = 192.168.10.243
            ip_addr = 192.168.10.243  ACTIVE
            http domain = 
            version = 5.08
            join time = 2015-12-29 21:09:51
            up time = 2016-01-04 20:21:36
            total storage = 465098 MB
            free storage = 291003 MB
            upload priority = 10
            store_path_count = 1
            subdir_count_per_path = 256
            storage_port = 23000
            storage_http_port = 8888
            current_write_path = 0
            source storage id = 
            if_trunk_server = 0
            connection.alloc_count = 256
            connection.current_count = 256
            connection.max_count = 256
            total_upload_count = 403204
            success_upload_count = 403204
            total_append_count = 0
            success_append_count = 0
            total_modify_count = 0
            success_modify_count = 0
            total_truncate_count = 0
            success_truncate_count = 0
            total_set_meta_count = 282311
            success_set_meta_count = 282311
            total_delete_count = 0
            success_delete_count = 0
            total_download_count = 45234
            success_download_count = 45234
            total_get_meta_count = 0
            success_get_meta_count = 0
            total_create_link_count = 0
            success_create_link_count = 0
            total_delete_link_count = 0
            success_delete_link_count = 0
            total_upload_bytes = 50603269563
            success_upload_bytes = 50603269563
            total_append_bytes = 0
            success_append_bytes = 0
            total_modify_bytes = 0
            success_modify_bytes = 0
            stotal_download_bytes = 2508863994
            success_download_bytes = 2508863994
            total_sync_in_bytes = 98749240732
            success_sync_in_bytes = 98749240732
            total_sync_out_bytes = 0
            success_sync_out_bytes = 0
            total_file_open_count = 1130942
            success_file_open_count = 1130942
            total_file_read_count = 45234
            success_file_read_count = 45234
            total_file_write_count = 1593312
            success_file_write_count = 1593312
            last_heart_beat_time = 2016-01-08 02:58:39
            last_source_update = 2016-01-07 18:57:27
            last_sync_update = 2016-01-07 18:57:27
            last_synced_timestamp = 2016-01-07 18:55:22 (01m:51s delay)

···

通过什么途径能确定同一组的两个节点数据是一致的?

Storage 1:
    id = 192.168.10.170
    ip_addr = 192.168.10.170 (localhost)  ACTIVE
    http domain = 
    version = 5.01
    join time = 2014-08-27 15:51:47
    up time = 2015-05-20 00:00:16
    total storage = 869286 MB
    free storage = 299501 MB
    upload priority = 10
    store_path_count = 1
    subdir_count_per_path = 256
    storage_port = 23000
    storage_http_port = 8888
    current_write_path = 0
    source storage id= 192.168.10.171
    if_trunk_server= 0
    total_upload_count = 1371973
    success_upload_count = 1371973
    total_append_count = 0
    success_append_count = 0
    total_modify_count = 0
    success_modify_count = 0
    total_truncate_count = 0
    success_truncate_count = 0
    total_set_meta_count = 0
    success_set_meta_count = 0
    total_delete_count = 2458
    success_delete_count = 2458
    total_download_count = 0
    success_download_count = 0
    total_get_meta_count = 0
    success_get_meta_count = 0
    total_create_link_count = 0
    success_create_link_count = 0
    total_delete_link_count = 0
    success_delete_link_count = 0
    total_upload_bytes = 247821743988
    success_upload_bytes = 247821743988
    total_append_bytes = 0
    success_append_bytes = 0
    total_modify_bytes = 0
    success_modify_bytes = 0
    stotal_download_bytes = 0
    success_download_bytes = 0
    total_sync_in_bytes = 247686543197
    success_sync_in_bytes = 247632851141
    total_sync_out_bytes = 247821629948
    success_sync_out_bytes = 247821455188
    total_file_open_count = 2743782
    success_file_open_count = 2743724
    total_file_read_count = 0
    success_file_read_count = 0
    total_file_write_count = 4146012
    success_file_write_count = 4146012
    last_heart_beat_time = 2015-05-21 11:59:04
    last_source_update = 2015-05-21 11:58:25
    last_sync_update = 2015-05-21 11:58:26
    last_synced_timestamp = 2015-05-21 11:58:18 (-1s delay)
Storage 2:
    id = 192.168.10.171
    ip_addr = 192.168.10.171 (localhost)  ACTIVE
    http domain = 
    version = 5.01
    join time = 2014-08-27 15:51:41
    up time = 2015-05-07 12:03:03
    total storage = 869158 MB
    free storage = 294248 MB
    upload priority = 10
    store_path_count = 1
    subdir_count_per_path = 256
    storage_port = 23000
    storage_http_port = 8888
    current_write_path = 0
    source storage id= 
    if_trunk_server= 0
    total_upload_count = 1370842
    success_upload_count = 1370842
    total_append_count = 0
    success_append_count = 0
    total_modify_count = 0
    success_modify_count = 0
    total_truncate_count = 0
    success_truncate_count = 0
    total_set_meta_count = 0
    success_set_meta_count = 0
    total_delete_count = 2463
    success_delete_count = 2463
    total_download_count = 0
    success_download_count = 0
    total_get_meta_count = 0
    success_get_meta_count = 0
    total_create_link_count = 0
    success_create_link_count = 0
    total_delete_link_count = 0
    success_delete_link_count = 0
    total_upload_bytes = 247632214208
    success_upload_bytes = 247632214208
    total_append_bytes = 0
    success_append_bytes = 0
    total_modify_bytes = 0
    success_modify_bytes = 0
    stotal_download_bytes = 0
    success_download_bytes = 0
    total_sync_in_bytes = 247821616444
    success_sync_in_bytes = 247821441504
    total_sync_out_bytes = 247685819144
    success_sync_out_bytes = 247632214208
    total_file_open_count = 2742814
    success_file_open_count = 2742807
    total_file_read_count = 0
    success_file_read_count = 0
    total_file_write_count = 4145089
    success_file_write_count = 4145089
    last_heart_beat_time = 2015-05-21 11:59:13
    last_source_update = 2015-05-21 11:58:17
    last_sync_update = 2015-05-21 11:58:35
    last_synced_timestamp = 2015-05-21 11:58:26 (-1s delay)

php_client make error

[root@fastdfs_client fastdfs-master]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.6 (Santiago)

php 5.2和5.4都尝试过

[root@fastdfs_client php_client]# make test
/bin/sh /software/fastdfs-master/php_client/libtool --mode=compile cc -I. -I/software/fastdfs-master/php_client -DPHP_ATOM_INC -I/software/fastdfs-master/php_client/include -I/software/fastdfs-master/php_client/main -I/software/fastdfs-master/php_client -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -I/usr/include/fastcommon -I/usr/local/include/fastdfs -DHAVE_CONFIG_H -g -O2 -Wall -c /software/fastdfs-master/php_client/fastdfs_client.c -o fastdfs_client.lo
cc -I. -I/software/fastdfs-master/php_client -DPHP_ATOM_INC -I/software/fastdfs-master/php_client/include -I/software/fastdfs-master/php_client/main -I/software/fastdfs-master/php_client -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -I/usr/include/fastcommon -I/usr/local/include/fastdfs -DHAVE_CONFIG_H -g -O2 -Wall -c /software/fastdfs-master/php_client/fastdfs_client.c -fPIC -DPIC -o .libs/fastdfs_client.o
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS___construct’:
/software/fastdfs-master/php_client/fastdfs_client.c:5554: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS___destruct’:
/software/fastdfs-master/php_client/fastdfs_client.c:5588: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_get_connection’:
/software/fastdfs-master/php_client/fastdfs_client.c:5601: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_make_all_connections’:
/software/fastdfs-master/php_client/fastdfs_client.c:5615: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_close_all_connections’:
/software/fastdfs-master/php_client/fastdfs_client.c:5629: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_connect_server’:
/software/fastdfs-master/php_client/fastdfs_client.c:5643: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_disconnect_server’:
/software/fastdfs-master/php_client/fastdfs_client.c:5657: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_active_test’:
/software/fastdfs-master/php_client/fastdfs_client.c:5671: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_list_groups’:
/software/fastdfs-master/php_client/fastdfs_client.c:5685: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_store’:
/software/fastdfs-master/php_client/fastdfs_client.c:5700: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_store_list’:
/software/fastdfs-master/php_client/fastdfs_client.c:5716: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_update’:
/software/fastdfs-master/php_client/fastdfs_client.c:5732: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_fetch’:
/software/fastdfs-master/php_client/fastdfs_client.c:5748: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_list’:
/software/fastdfs-master/php_client/fastdfs_client.c:5764: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_delete_storage’:
/software/fastdfs-master/php_client/fastdfs_client.c:5778: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_update1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5793: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_fetch1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5809: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_tracker_query_storage_list1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5825: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_by_filename’:
/software/fastdfs-master/php_client/fastdfs_client.c:5841: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_by_filename1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5858: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_by_filebuff’:
/software/fastdfs-master/php_client/fastdfs_client.c:5875: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_by_filebuff1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5892: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_by_callback’:
/software/fastdfs-master/php_client/fastdfs_client.c:5909: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_by_callback1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5926: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_append_by_filename’:
/software/fastdfs-master/php_client/fastdfs_client.c:5943: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_append_by_filename1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5959: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_append_by_filebuff’:
/software/fastdfs-master/php_client/fastdfs_client.c:5975: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_append_by_filebuff1’:
/software/fastdfs-master/php_client/fastdfs_client.c:5991: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_append_by_callback’:
/software/fastdfs-master/php_client/fastdfs_client.c:6007: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_append_by_callback1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6023: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_modify_by_filename’:
/software/fastdfs-master/php_client/fastdfs_client.c:6040: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_modify_by_filename1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6056: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_modify_by_filebuff’:
/software/fastdfs-master/php_client/fastdfs_client.c:6072: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_modify_by_filebuff1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6088: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_modify_by_callback’:
/software/fastdfs-master/php_client/fastdfs_client.c:6104: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_modify_by_callback1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6120: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_appender_by_filename’:
/software/fastdfs-master/php_client/fastdfs_client.c:6136: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_appender_by_filename1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6153: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_appender_by_filebuff’:
/software/fastdfs-master/php_client/fastdfs_client.c:6170: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_appender_by_filebuff1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6187: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_appender_by_callback’:
/software/fastdfs-master/php_client/fastdfs_client.c:6204: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_appender_by_callback1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6221: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_slave_by_filename’:
/software/fastdfs-master/php_client/fastdfs_client.c:6240: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_slave_by_filename1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6258: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_slave_by_filebuff’:
/software/fastdfs-master/php_client/fastdfs_client.c:6276: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_slave_by_filebuff1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6293: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_slave_by_callback’:
/software/fastdfs-master/php_client/fastdfs_client.c:6311: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_upload_slave_by_callback1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6329: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_delete_file’:
/software/fastdfs-master/php_client/fastdfs_client.c:6345: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_delete_file1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6360: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_truncate_file’:
/software/fastdfs-master/php_client/fastdfs_client.c:6376: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_truncate_file1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6392: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_download_file_to_buff’:
/software/fastdfs-master/php_client/fastdfs_client.c:6408: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_download_file_to_buff1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6424: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_download_file_to_callback’:
/software/fastdfs-master/php_client/fastdfs_client.c:6440: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_download_file_to_callback1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6456: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_download_file_to_file’:
/software/fastdfs-master/php_client/fastdfs_client.c:6473: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_download_file_to_file1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6489: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_set_metadata’:
/software/fastdfs-master/php_client/fastdfs_client.c:6505: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_set_metadata1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6521: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_get_metadata’:
/software/fastdfs-master/php_client/fastdfs_client.c:6536: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_get_metadata1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6551: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_file_exist’:
/software/fastdfs-master/php_client/fastdfs_client.c:6566: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_storage_file_exist1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6581: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_get_last_error_no’:
/software/fastdfs-master/php_client/fastdfs_client.c:6595: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_get_last_error_info’:
/software/fastdfs-master/php_client/fastdfs_client.c:6609: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_http_gen_token’:
/software/fastdfs-master/php_client/fastdfs_client.c:6623: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_get_file_info’:
/software/fastdfs-master/php_client/fastdfs_client.c:6637: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_get_file_info1’:
/software/fastdfs-master/php_client/fastdfs_client.c:6651: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_send_data’:
/software/fastdfs-master/php_client/fastdfs_client.c:6665: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_gen_slave_filename’:
/software/fastdfs-master/php_client/fastdfs_client.c:6680: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘zim_FastDFS_close’:
/software/fastdfs-master/php_client/fastdfs_client.c:6693: error: too few arguments to function ‘zend_object_store_get_object’
/software/fastdfs-master/php_client/fastdfs_client.c: In function ‘php_fdfs_free_storage’:
/software/fastdfs-master/php_client/fastdfs_client.c:7283: error: ‘tsrm_ls’ undeclared (first use in this function)
/software/fastdfs-master/php_client/fastdfs_client.c:7283: error: (Each undeclared identifier is reported only once
/software/fastdfs-master/php_client/fastdfs_client.c:7283: error: for each function it appears in.)
make: *** [fastdfs_client.lo] Error 1

不知道算是FastDHT的问题还是storaged的检查问题

fastdht判重,如果用storage用两个服务器,是同一个组的,开启判重检查就传不上文件。。。连续上传50个,大部分返回null,关掉其中一台就正常
192.168.1.211 tracker
192.168.1.212 fastdht01 和storage01 放在同一台服务器
192.168.1.213 fastdht02 和storage02 放在同一台服务器
这样不行
192.168.1.212 fastdht01 和storage01 放在同一台服务器

192.168.1.213 storage02 fastdht指向fastdht01,也不行

上面都是fastdht_server.conf 那个文件里只填一个服务器的,没有集群。
有朋友用过判重的求帮助

新版本的安装 问题

补录:问题在最后面
我的安装步骤(命令行编号中错误我没有贴出(所以有4之后就是8编号)):
(1) 安装基本依赖lib
1 service iptables stop
2 chkconfig iptables off
3 vi /etc/selinux/config
4 yum install -y gcc gcc-c++
(2) 完成上面操作步骤之后,我开始下载安装所需要的软件。
8 wget --no-check-certificate https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
9 wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
11 wget --no-check-certificate https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
12 wget http://nginx.org/download/nginx-1.8.0.tar.gz
13 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
14 wget http://zlib.net/zlib-1.2.8.tar.gz
(3) 下载之后软件列表如下(都是源码包):
libfastcommon-1.0.7
fastdfs-nginx-module_v1.16.tar.gz
fastdfs-5.05
nginx-1.8.0.tar.gz
pcre-8.36.tar.gz
zlib-1.2.8.tar.gz
(4)接下来,我就开始解压软件包,
(5)开始安装libfastcommon-1.0.7
19 cd libfastcommon-1.0.7/
21 ./make.sh
22 ./make.sh install
(6)我有查到网上,说需要做下面一步软链接。所以我为了保险起见,也做了如下处理:
34 ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
35 ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
36 ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
37 ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
(7)接下来,我就开打打算安装fastdfs-5.05
32 cd fastdfs-5.05/
38 ./make.sh
39 ./make.sh install
(8)安装中并没有提示什么错误信息。这时候我打算去配置我的fastDFS的配置信息。我看到安装说明中在/etc/fdfs有三个配置文件,但是我怎么就只有一个配置文件?结果如下:
[root@bogon fdfs]# pwd
/etc/fdfs
[root@bogon fdfs]# ll -al
drwxr-xr-x 2 root root 4096 Aug 1 07:58 .
drwxr-xr-x 95 root root 12288 Aug 1 08:58 ..
-rw-r--r-- 1 root root 1461 Aug 1 07:58 client.conf.sample
(9)问题1
如果在我/etc/fdfs只有一个配置文件,是不是哪里安装步骤不正确.或者有什么遗漏的地方? 如果这样问题,我该怎么解决?
问题2 .如果我安装错误. 我怎么样才可以完全卸载掉fastDFS?

谢谢 希望有人能解答我的问题. thanks so

测试疑问,fdfs_storage在压力测试下会异常退出

老大,请教一个问题。情况这样的。
我搭了一个单机版本的环境(fdfs_storage 和 fdfs_tracker)都是一个实例,部署在一台centos的机子上(双核+4G)。然后再在另一个机子上模拟1000个链接,拼命的上传/删除 文件。
发现没有一会儿,fdfs_storage就退出来,并且比较奇怪的是在fdfs_storage的log中看不到任何的出错信息。但是在系统日志下,有如下错误信息
Nov 16 13:53:29 kernel: fdfs_storaged[21471]: segfault at 0 ip (null) sp 00007f4cdff57e88 error 14 in fdfs_storaged[400000+55000]
Nov 16 13:53:34 abrt[21472]: Saved core dump of pid 21463 (/usr/bin/fdfs_storaged) to /var/spool/abrt/ccpp-2015-11-16-13:53:29-21463 (342183936 bytes)
我想想肯定是我哪里搞错了,不可能怎么容易就崩溃。请指教一下。

”storage_func.c getgrnam fail“ Please help me

Boss said using fastdfs services as image server, version is used v5.01 (online before he found not a stable version,,,,,) the local test environment has been set up fastdfs server to use for 3 months, there is no problem, project launched yesterday, run a day reported this error, including one storaged cannot be started, baidu and Google made a mistake, problem about out on user groups and users, but I did not specify these two parameters are user and group why just can't start... A mystery for a great god to the younger brother.
Run_by_user =
Run_by_group =
ERROR - the file: storage_func. C line: 1326, getgrnam fail, ERROR: 2 ERROR info: No to the file or diretory
And/usr/local/bin/fdfs_monitor/etc/FDFS/client. The conf this production look at the command of the state information for explanation, just can read, I still don't understand some terms.

v 5.08 tracker response error

Hi!

We just upgraded from FastDFS 4.06 to 5.08 and we are receiving this error quite often with the php module:

ERROR - file: ../tracker/tracker_proto.c, line: 48, server: 10.0.8.12:22122, response status 22 != 0

Running these versions;
FastDFS v 5.08
libfastcommon 1bdc948909549974d7894596517698cb8f7ca2ce
PHP 5.6.19
FreeBSD 10.2-p14

This never happened when we were running FastDFS 4.06

Compile 5.05 on Centos6.4 x64 failed

I have install libfastcommon, but failed to compile fastdfs
and out put as follow:
/root/fastdfs-5.05/tracker/fdfs_trackerd.c:104: undefined reference to g_current_time' /root/fastdfs-5.05/tracker/fdfs_trackerd.c:105: undefined reference tog_current_time'
/root/fastdfs-5.05/tracker/fdfs_trackerd.c:108: undefined reference to log_init2' /root/fastdfs-5.05/tracker/fdfs_trackerd.c:111: undefined reference toget_base_path_from_conf_file'
/root/fastdfs-5.05/tracker/fdfs_trackerd.c:120: undefined reference to process_action' /root/fastdfs-5.05/tracker/fdfs_trackerd.c:194: undefined reference towrite_to_pid_file'
/root/fastdfs-5.05/tracker/fdfs_trackerd.c:347: undefined reference to log_notify_rotate' /root/fastdfs-5.05/tracker/fdfs_trackerd.c:355: undefined reference tolog_set_keep_days'
/root/fastdfs-5.05/tracker/fdfs_trackerd.c:360: undefined reference to log_delete_old_files' /root/fastdfs-5.05/tracker/fdfs_trackerd.c:437: undefined reference todelete_pid_file'
......
.......

rpm 编译问题

鱼大,反映2个小bug

问题一、fastdfs 打包错误,解压后为fastdfs-5.05,应该为fastdfs-5.0.5,
这个问题直接导致命令 rpmbuid -tb fastdfs-5.05.tar.gz 报错“目录fastdfs-5.0.5找不到”,

问题二、fastdfs.spec 文件里应该加入软件包依赖,引导用户先编译安装libfastcommon,再编译fastdfs

在下列内容

Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id

前加入一行

BuildRequires: libfastcommon-devel

Retag V5.04 as V5.0.4

If I use the .spec to build an RPM file, I have to rename the folder within the tar.gz from Github.

Folder needed to build spec => fastdfs-5.0.4
Folder derived from tag + tar.gz => fastdfs-5.04

To reproduce the problem:

cd /tmp
wget https://github.com/happyfish100/fastdfs/archive/V5.04.tar.gz -O fastdfs-5.0.4.tar.gz
tar xfvz fastdfs-5.0.4.tar.gz
cp fastdfs-5.04/fastdfs.spec ~/rpmbuild/SPECS/
cp fastdfs-5.0.4.tar.gz ~/rpmbuild/SOURCES
rpmbuild -bp ~/rpmbuild/SPECS/fastdfs.spec
[root@localhost ~]# rpmbuild -bp ~/rpmbuild/SPECS/fastdfs.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.GlZlLK
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf fastdfs-5.0.4
+ /bin/tar -xf -
+ /usr/bin/gzip -dc /root/rpmbuild/SOURCES/fastdfs-5.0.4.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd fastdfs-5.0.4
/var/tmp/rpm-tmp.GlZlLK: line 34: cd: fastdfs-5.0.4: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.GlZlLK (%prep)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.GlZlLK (%prep)

The problem is that fastdfs-5.0.4 doesn't exists.

[root@localhost ~]# ll ~/rpmbuild/BUILD
total 4
drwxrwxr-x 10 root root 4096 Sep 16 00:46 fastdfs-5.04

RedHat make出错

怎么搞的,我想在RedHat上编译安装,没看到configue脚本,直接make, 一堆错误,依赖库我是我的啊

举个例子:
../common/fdfs_global.h:14:27: error: common_define.h: No such file or directory
../common/fdfs_global.h:16:29: error: connection_pool.h: No such file or directory

望回复

/usr/lib64/libfastcommon.so:对‘cos’未定义的引用

从github克隆的源文件,安装了libfastcommon和libevent-2.0.1
运行sudo ./make.sh就会曝出下面的错误

    cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -o fdfs_monitor fdfs_monitor.c  ../common/fdfs_global.o ../common/fdfs_http_shared.o ../common/mime_file_parser.o ../tracker/tracker_proto.o ../tracker/fdfs_shared_func.o ../storage/trunk_mgr/trunk_shared.o tracker_client.o client_func.o client_global.o storage_client.o -L/usr/lib64 -lpthread -ldl -rdynamic -lfastcommon -I../common -I../tracker -I/usr/include/fastcommon
    /usr/lib64/libfastcommon.so:对‘cos’未定义的引用
    /usr/lib64/libfastcommon.so:对‘sqrt’未定义的引用
    collect2: error: ld returned 1 exit status
    make: *** [fdfs_monitor] 错误 1

并发(20线程)进行文件上传时,观察到Storage的SOCKET连接数释放很慢,最终导致连接重置

客户端开发一个Rest服务,通过jmeter模拟20个用户并发,后端通过linux的netstat -nat|grep -i "23000"|wc -l进行TCP/IP连接查看,在一段时间内,连接数持续上升,偶尔会阶段性下降,但是持续并发导致的上升量>下降量,在上传好文件后,也调用了storageClient.getStorageServer().close(); 进行Storage的SOCKET链接关闭,网上说SOCKET不会马上释放,@happyfish100,请问这情况如何解决。
另外补充说明,目前linux的文件打开数从默认的1024提高到4096(未调整前,storage的进程直接挂掉),storage.conf的max_connections=1024

是否我的用法上存在问题。。。。请指教,现在客户端和Storage的socket都是短链接,是否有长链接的配置方式?

group round robin algorithm bug

When the count of group is even, half of group is used. Because fdfs_test upload file, the tracker will round robin twice.
I have debug the program, and found:

/********* fastdfs/client/fdfs_test.c **********/
/********* Round robin once ************/
165                 if ((result=tracker_query_storage_store_list_without_group( \
166                         pTrackerServer, storageServers, \
167                         FDFS_MAX_SERVERS_EACH_GROUP, &storage_count, \
168                         group_name, &store_path_index)) == 0)
169                 {
170                         printf("tracker_query_storage_store_list_without_group: \n");
171                         pServerEnd = storageServers + storage_count;
172                         for (pServer=storageServers; pServer<pServerEnd; pServer++)
173                         {
174                                 printf("\tserver %d. group_name=%s, " \
175                                        "ip_addr=%s, port=%d\n", \
176                                         (int)(pServer - storageServers) + 1, \
177                                         group_name, pServer->ip_addr, pServer->port);
178                         }
179                         printf("\n");
180                 }
181                 }
182
/****************** Round robin again *****************/
183                 if ((result=tracker_query_storage_store(pTrackerServer, \
184                                 &storageServer, group_name, &store_path_index)) != 0)
185                 {
186                         fdfs_client_destroy();
187                         printf("tracker_query_storage fail, " \
188                                 "error no: %d, error info: %s\n", \
189                                 result, STRERROR(result));
190                         return result;
191                 }

ubuntu14.04 的安装问题

os:ubuntu-server 14.04
libevent1.4.x 安装
libcommon安装成功
fastdfs编译通过

执行./make.sh install的时候报错
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin
cp: cannot stat ‘fdfs_trackerd’: No such file or directory
make: *** [install] Error 1
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged /usr/bin
cp: cannot stat ‘fdfs_storaged’: No such file or directory
make: *** [install] Error 1
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib;fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib;fi
cp: not writing through dangling symlink ‘/usr/lib/libfdfsclient.so’
make: *** [install] Error 1

安装过程问题不断各种google 终于到了这个错误就卡住了。。。
各位大侠帮忙看看吧 实在搞不定了 (顺便提一句 mac上安装4.x 版本也有问题 安装不成功 版本10.11.1 ,好像是同样的问题)

Add CIDR support to allow_hosts configuration

I has many docker containers running the FastDFS client(PHP), and they have no fixed IPs, but the allow_hosts configuration can not work:

allow_hosts=10.21.[0-255].[0-255]
#or
allow_hosts=10.21.*
#or
allow_hosts=10.21.*.*

so the allow_hosts configuration can support CIDR:

allow_hosts=10.21.0.0/16

FastDFS分段上传文件crc32不一致

我用的FastDFS是4.06,同一个文件通过以下两种方式上传:

  1. upload_file;
  2. upload_appender_file + append_file或modify_file

发现两次上传的文件,文件的crc32值不一致,
通过第2中方式上传的文件好像只计算了第一块的crc32值,
是否不会计算整个文件的crc32,有没有方法取得整个文件的 crc32?

请问FastDFS中文件的crc32算法

由于项目中用到FastDFS,我想用crc32做文件上传校验。我依照fdfs_crc32.c中的代码用node实现了计算文件crc32的方法,发现计算的结果与FastDFS中的crc32不一致。我又用java实现了一边,java中计算的结果与node的结果一致。请问FastDFS中的crc32有经过特殊处理吗?

获取storage外网ip的问题

场景:服务器 amazon ec2 instance 1.
tracker与storager 都部署在这个实例上。
应用可以与Tracker通讯(client.conf 中指定tracker_server: shmin.net:22122),tracker返回可以组信息,再返回一个可以用的storager。但是返回的可以用的storage ip是内网ip。Tracker、Storage间通过内网IP进行通讯,此时Tracker返回的是Storage的内网IP,导致应用无法根据返回的IP信息往Storage写入数据。
如何才能让应用获取到的是Storage的外网IP呢。尝试使用storager的bind-addr强制使用外网ip提供服务,再连接storager的时候又报can't create request错误。@happyfish100 请问这个问题应该怎么处理,tracker再返回可用storage信息的时候 ip 如何才能返回外网ip~~~

请问有没有单独返回软链接的接口

由于fastdfs是在上传后进行文件去重的,发现是相同文件就会生成一个软链接返回,但这样必须在服务端效验文件,不能实现秒传,所以想问下,有没有针对一个文件生成软链接的接口,这样我在前端效验文件发现是存在的文件,就直接申请一个软链接,返回给客户端,达到秒传的目的.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.