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

[经验分享] FastDFs 开源的轻量级分布式文件系统部署

[复制链接]

尚未签到

发表于 2019-1-31 14:07:31 | 显示全部楼层 |阅读模式
  1.技术背景介绍;
  FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
  2.基础环境介绍;
  主机名 IP地址规划  相关软件源码包汇总   服务器角色
  Nginx_fastdfs1  
192.168.1.190   Nginx.1.8.0.tar.gz
fastdfs .v5.05.tar.gz
libfastcommon-master.zip
fastdfs-nginx-module_v1.16.tar.gz   Storage/tracker
  Nginx_fastdfs2  
192.168.1.200       Storage/tracker
  3.软件功能介绍;
(1) libfastcommon 源码包介绍;
  libfastcommon是从开源软件FastDFS和FastDHT中提取出来的公共C函数库。
它提供了字符串处理、链表、哈希表、日志记录、配置文件读取、socket操作、base64编码、url编码、md5等常用函数库。还包括http的一个简单的client,可以获取url内容(目前仅支持GET方式)。
这些代码已经在FastDFS和FastDHT中使用,比较简洁、稳定。FastDFS已经在Linux、FreeBSD、AIX下进行了编译并通过了测试.
  (2)fastdfs-nginx-module_v1 介绍;
我们在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传、下载、删除等操作。同时通过FastDFS 的HTTP服务器来提供HTTP服务。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者——淘宝 的架构师余庆同学,为我们提供了Nginx上使用的FastDFS模块。其使用非常简单。
  (3) fastdfs 介绍;
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
stDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接 口,FastDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key valuepair)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以包含多个键值对。
跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。
在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
  (4).上传交互过程;


  • client询问tracker上传到的storage,不需要附加参数;
  • tracker返回一台可用的storage;
  • client直接和storage通讯完成文件上传。
    FastDFS file download
  (5).下载交互过程


  • client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
  • tracker返回一台可用的storage;
  • client直接和storage通讯完成文件下载。
    需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用
  3.部署环境准备;
  注意:(两台机器同样执行以下操作)
  (1).安装环境依赖包
  yum install -y zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip
  (2).创建fastdfs 运行用户;
  useradd -s /sbin/nologin fastdfs
  (3).创建数据存储目录;
  mkdir -p /export/fastdfs/{storage,tracker}
[root@nginx_Fastdfs1 ~]# ll /export/fastdfs/
total 8
drwxr-xr-x 4 fastdfs fastdfs 4096 Jun  6 22:09 storage
drwxr-xr-x 4 fastdfs fastdfs 4096 Jun  6 21:12 tracker
  [root@nginx_Fastdfs2 ~]# ll /export/fastdfs/
total 8
drwxr-xr-x 4 fastdfs fastdfs 4096 Jun  6 21:59 storage
drwxr-xr-x 4 fastdfs fastdfs 4096 Jun  6 21:03 tracker
  4.Fastdfs部署详情;
  注意:(2台服务器需要同样执行如下操作)
  (1).部署libfastcommon;
mkdir /usr/local/fastdfs_packages
cd /usr/local/fastdfs_packages
wget https://github.com/happyfish100/libfastcommon/archive/master.zip
unzip master.zip
cd libfastcommon-master/
./make.sh
./make.sh install
  (2)部署fastdfs
cd /usr/local/fastdfs_packages
wget http://sourceforge.net/projects/fastdfs/files/FastDFS%20Server%20Source
%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.05/
FastDFS_v5.05.tar.gz
tar zxf FastDFS_v5.05.tar.gz && cd FastDFS
./make.sh  && ./make.sh install
\cp pa conf/.conf /etc/fdfs/
cd /etc/fdfs/
mv  
.sample /opt/   #备份模板文件;
chown -R fastdfs: /export/fastdfs
  注意:配置tracker 和 storage
Nginx_fastdfs1 和Nginx_fastdfs2分别配置;
  (3) Nginx_fastdfs1机器(配置tracker 和 storage 配置文件;)
  [root@nginx_Fastdfs1 fdfs]# tree /etc/fdfs/
/etc/fdfs/
├── client.conf
├── mod_fastdfs.conf
├── storage.conf
└── tracker.conf
0 directories, 4 files
  storage 配置
  [root@nginx_Fastdfs1 /]# cat /etc/fdfs/storage.conf
group_name=group1
base_path=/export/fastdfs/storage
store_path0=/export/fastdfs/storage
tracker_server=192.168.1.190:22122
tracker_server=192.168.1.200:22122
http.server_port=80
disabled=false
bind_addr=192.168.1.190
client_bind=true
port=23000
connect_timeout=30
network_timeout=60
heart_beat_interval=30
stat_report_interval=60
max_connections=256
buff_size = 256KB
work_threads=2
disk_rw_separated = true
disk_rw_direct = false
disk_reader_threads = 1
disk_writer_threads = 1
sync_wait_msec=50
sync_interval=0
sync_start_time=00:00
sync_end_time=23:59
write_mark_file_freq=500
store_path_count=1
subdir_count_per_path=256
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
file_distribute_path_mode=0
file_distribute_rotate_count=100
fsync_after_written_bytes=0
sync_log_buff_interval=10
sync_binlog_buff_interval=10
sync_stat_file_interval=300
thread_stack_size=512KB
upload_priority=10
if_alias_prefix=
check_file_duplicate=0
key_namespace=FastDFS
keep_alive=0
http.disabled=false
httphttp.domain_name=
http.trunk_size=256KB
http.need_find_content_type=true
  tracker.conf 配置;
  [root@nginx_Fastdfs1 fdfs]# cat /etc/fdfs/tracker.conf
base_path=/export/fastdfs/tracker
disabled=false
bind_addr=192.168.1.190
port=22122
connect_timeout=30
network_timeout=60
max_connections=256
work_threads=2
store_lookup=2
store_group=group2
store_server=0
store_path=0
download_server=0
reserved_storage_space = 4GB
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
sync_log_buff_interval = 10
check_active_interval = 120
thread_stack_size = 64KB
storage_ip_changed_auto_adjust = true
storage_sync_file_max_delay = 86400
storage_sync_file_max_time = 300
use_trunk_file = false
slot_min_size = 256
slot_max_size = 16MB
trunk_file_size = 64MB
http.disabled=false
http.server_port=8080
http.check_alive_interval=30
http.check_alive_type=tcp
http.check_alive_uri=/status.html
http.need_find_content_type=true
  mod_fastdfs.conf 配置
  [root@nginx_Fastdfs1 /]# cat /etc/fdfs/mod_fastdfs.conf
group_name=group1
base_path=/export/fastdfs/storage
store_path0=/export/fastdfs/storage
tracker_server=192.168.1.190:22122
tracker_server=192.168.1.200:22122
url_have_group_name = true
  client.conf 配置
  [root@nginx_Fastdfs1 fdfs]# cat client.conf
tracker_server=192.168.1.190:22122
tracker_server=192.168.1.200:22122
  (3) Nginx_fastdfs2机器(配置tracker 和 storage 配置文件;)
  [root@nginx_Fastdfs2 ~]# tree /etc/fdfs/
/etc/fdfs/
├── client.conf
├── mod_fastdfs.conf
├── storage.conf
└── tracker.conf
0 directories, 4 files
  storage.conf 配置;
  [root@nginx_Fastdfs2 ~]# cat /etc/fdfs/storage.conf
base_path=/export/fastdfs/storage
store_path0=/export/fastdfs/storage
tracker_server=192.168.1.200:22122
tracker_server=192.168.1.190:22122
http.server_port=80
disabled=false
group_name=group1
bind_addr=192.168.1.200
client_bind=true
port=23000
connect_timeout=30
network_timeout=60
heart_beat_interval=30
stat_report_interval=60
max_connections=256
buff_size = 256KB
work_threads=2
disk_rw_separated = true
disk_rw_direct = false
disk_reader_threads = 1
disk_writer_threads = 1
sync_wait_msec=50
sync_interval=0
sync_start_time=00:00
sync_end_time=23:59
write_mark_file_freq=500
store_path_count=1
subdir_count_per_path=256
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
file_distribute_path_mode=0
file_distribute_rotate_count=100
fsync_after_written_bytes=0
sync_log_buff_interval=10
sync_binlog_buff_interval=10
sync_stat_file_interval=300
thread_stack_size=512KB
upload_priority=10
if_alias_prefix=
check_file_duplicate=0
key_namespace=FastDFS
keep_alive=0
http.disabled=false
httphttp.domain_name=
http.trunk_size=256KB
http.need_find_content_type=true
  tracker.conf 配置
  [root@nginx_Fastdfs2 ~]# cat /etc/fdfs/tracker.conf
base_path=/export/fastdfs/tracker
disabled=false
bind_addr=192.168.1.200
port=22122
connect_timeout=30
network_timeout=60
max_connections=256
work_threads=2
store_lookup=2
store_group=group2
store_server=0
store_path=0
download_server=0
reserved_storage_space = 4GB
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
sync_log_buff_interval = 10
check_active_interval = 120
thread_stack_size = 64KB
storage_ip_changed_auto_adjust = true
storage_sync_file_max_delay = 86400
storage_sync_file_max_time = 300
use_trunk_file = false
slot_min_size = 256
slot_max_size = 16MB
trunk_file_size = 64MB
http.disabled=false
http.server_port=8080
http.check_alive_interval=30
http.check_alive_type=tcp
http.check_alive_uri=/status.html
http.need_find_content_type=true
  mod_fastdfs.conf 配置
  [root@nginx_Fastdfs2 ~]# cat /etc/fdfs/mod_fastdfs.conf
group_name=group1
base_path=/export/fastdfs/storage
store_path0=/export/fastdfs/storage
tracker_server=192.168.1.200:22122
tracker_server=192.168.1.190:22122
url_have_group_name = true
client.conf 配置
  [root@nginx_Fastdfs2 ~]# cat /etc/fdfs/client.conf
tracker_server=192.168.1.200:22122
tracker_server=192.168.1.190:22122
  5.Fastdfs结合nginx;
  (1).软件部署以及配置调整;
cd  /usr/local/fastdfs_packages
wget http://nginx.org/download/nginx-1.8.0.tar.gz
http://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz/download
tar zxf fastdfs-nginx-module_v1.16.tar.gz
  注意:修改模块中对应的路径,否则模块不能正确安装加载;
cd fastdfs-nginx-module/src
vi conf  #更改如下,去掉local,并指定lib64(64系统)
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/
CORE_LIBS="$CORE_LIBS -L/usr/lib64 -lfastcommon -lfdfsclient"
  (2).nginx 添加fastdfs-nginx-module模块;
ulimit -SHn 102400
useradd -s /sbin/nologin nginx
tar zxf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --user=nginx --group=nginx --add-module=../fastdfs-nginx-module/src/ --prefix=/usr/local/nginx --with-http_stub_status_module--with-http_ssl_module --with-http_realip_module
make  && make install
  (3).nginx 配置fastdfs;
  nginx_Fastdfs1 配置;
  [root@nginx_Fastdfs1 nginx-1.8.0]# cat /usr/local/nginx/conf/nginx.conf
user  nginx;
worker_processes  1;
events {
worker_connections  1024;
}
http{
server {
listen 80;
server_name 192.168.1.190;
root /webdata/fastdfs.com;
index index.html index.htm;
location / {
if (!-e $request_filename) {
rewrite ^(.)$ /index.html last;
}
location /group1/M00 {
root /export/fastdfs/storage/data/;
ngx_fastdfs_module;
}
location ~ .
.(gif|jpg|jpeg|png|bmp|swf|js)$ {

fastcgi_cache cache_one;  #nginx.conf 开启cache才行,否则然启动报错

   fastcgi_cache_valid 200 10m;
fastcgi_cache_valid 304 3m;
fastcgi_cache_valid 301 302 1h;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key $host$request_uri;
access_log off;
}
}
access_log off;
  }
}
  nginx_Fastdfs2 配置;
  [root@nginx_Fastdfs2]# cat /usr/local/nginx/conf/nginx.conf
events {
worker_connections  1024;
}
http{
server {
listen 80;
server_name 192.168.1.200;
root /webdata/fastdfs.com;
index index.html index.htm;
location / {
if (!-e $request_filename) {
rewrite ^(.)$ /index.html last;
}
location /group1/M00 {
root /export/fastdfs/storage/data/;
ngx_fastdfs_module;
}
location ~ .
.(gif|jpg|jpeg|png|bmp|swf|js)$ {  
#fastcgi_cache cache_one;  #nginx.conf 开启cache,否则启动报错
fastcgi_cache_valid 200 10m;
fastcgi_cache_valid 304 3m;
fastcgi_cache_valid 301 302 1h;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key $host$request_uri;
access_log off;
}
}
access_log off;
}
}
  6.fastdfs服务管理;
(1)编写启动脚本;
[root@nginx_Fastdfs1]# cat /etc/init.d/fdfs_storaged
#!/bin/bash

fdfs_storaged Starts fdfs_storaged

chkconfig: 2345 99 01

description: FastDFS storage server

BEGIN INIT INFO

Provides: $fdfs_storaged

END INIT INFO

Source function library.
  . /etc/init.d/functions
PRG=/usr/local/fastdfs_packages/FastDFS/storage/fdfs_storaged
CONF=/etc/fdfs/storage.conf
if [ ! -f $PRG ]; then
echo "file $PRG does not exist!"
exit 2
fi
if [ ! -f /usr/local/fastdfs_packages/FastDFS/stop.sh ]; then
echo "file /usr/local/fastdfs_packages/FastDFS/stop.sh does not exist!"
exit 2
fi
if [ ! -f /usr/local/fastdfs_packages/FastDFS/restart.sh ]; then
echo "file /usr/local/fastdfs_packages/FastDFS/restart.sh does not exist!"
exit 2
fi
if [ ! -f $CONF ]; then
echo "file $CONF does not exist!"
exit 2
fi
  CMD="$PRG $CONF"
RETVAL=0
  start() {
echo -n $"Starting FastDFS storage server: "
$CMD &
RETVAL=$?
echo
return $RETVAL
}
stop() {
/usr/local/fastdfs_packages/FastDFS/stop.sh $CMD
RETVAL=$?
return $RETVAL
}
rhstatus() {
status fdfs_storaged
}
restart() {
/usr/local/fastdfs_packages/FastDFS/restart.sh $CMD &
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
rhstatus
;;
restart|reload)
restart
;;
condrestart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $?
[root@nginx_Fastdfs1]# cat /etc/init.d/fdfs_trackerd
#!/bin/bash

fdfs_trackerd Starts fdfs_trackerd

chkconfig: 2345 99 01

description: FastDFS tracker server

BEGIN INIT INFO

Provides: $fdfs_trackerd

END INIT INFO

Source function library.
  . /etc/init.d/functions
PRG=/usr/local/fastdfs_packages/FastDFS/tracker/fdfs_trackerd
CONF=/etc/fdfs/tracker.conf
  if [ ! -f $PRG ]; then
echo "file $PRG does not exist!"
exit 2
fi
  if [ ! -f /usr/local/fastdfs_packages/FastDFS/stop.sh ]; then
echo "file /usr/local/bin/stop.sh does not exist!"
exit 2
fi
  if [ ! -f /usr/local/fastdfs_packages/FastDFS/restart.sh ]; then
echo "file /usr/local/bin/restart.sh does not exist!"
exit 2
fi
  if [ ! -f $CONF ]; then
echo "file $CONF does not exist!"
exit 2
fi
  CMD="$PRG $CONF"
RETVAL=0
  start() {
echo -n $"Starting FastDFS tracker server: "
$CMD &
RETVAL=$?
echo
return $RETVAL
}
stop() {
/usr/local/fastdfs_packages/FastDFS/stop.sh $CMD
RETVAL=$?
return $RETVAL
}
rhstatus() {
status fdfs_trackerd
}
restart() {
/usr/local/fastdfs_packages/FastDFS/restart.sh $CMD &
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
rhstatus
;;
restart|reload)
restart
;;
condrestart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $?
  (2).fastdfs相关服务启动;
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_storaged start
/usr/local/nginx/sbin/nginx
  (3)查看进程运行情况;
[root@nginx_Fastdfs1 /]# netstat -anplt |grep -E "nginx|fdfs"
tcp        0      0 192.168.1.200:23000         0.0.0.0:                   LISTEN      1945/fdfs_storaged  
tcp        0      0 192.168.1.200:22122         0.0.0.0:
                   LISTEN      1937/fdfs_trackerd  
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1798/nginx         
tcp      0     0 192.168.1.200:35036     192.168.1.200:22122         ESTABLISHED 1945/fdfs_storaged  
tcp    0      0 192.168.1.200:22122       192.168.1.200:35036         ESTABLISHED 1937/fdfs_trackerd  
tcp    0      0 192.168.1.200:43282      192.168.1.190:22122         ESTABLISHED 1945/fdfs_storaged  
tcp   0      0 192.168.1.200:51407       192.168.1.190:23000         ESTABLISHED 1945/fdfs_storaged  
tcp    0      0 192.168.1.200:22122       192.168.1.190:44927         ESTABLISHED 1937/fdfs_trackerd  
tcp    0      0 192.168.1.200:22122     192.168.1.190:40724         ESTABLISHED 1937/fdfs_trackerd  
tcp 0  0 192.168.1.200:23000   192.168.1.190:54332         ESTABLISHED 1945/fdfs_storaged
  [root@nginx_Fastdfs2 ~]# netstat -anplt |grep -E "nginx|fdfs"
tcp        0      0 192.168.1.190:22122         0.0.0.0:                   LISTEN      1603/fdfs_trackerd  
tcp        0      0 0.0.0.0:80                  0.0.0.0:
                   LISTEN      1573/nginx         
tcp        0      0 192.168.1.190:23000         0.0.0.0:*                   LISTEN      1612/fdfs_storaged  
tcp        0      0 192.168.1.190:22122         192.168.1.190:54669         ESTABLISHED 1603/fdfs_trackerd  
tcp        0      0 192.168.1.190:23000         192.168.1.200:51407         ESTABLISHED 1612/fdfs_storaged  
tcp        0      0 192.168.1.190:22122         192.168.1.200:43282         ESTABLISHED 1603/fdfs_trackerd  
tcp        0      0 192.168.1.190:40724         192.168.1.200:22122         ESTABLISHED 1603/fdfs_trackerd  
tcp        0      0 192.168.1.190:44927         192.168.1.200:22122         ESTABLISHED 1612/fdfs_storaged  
tcp  0    0 192.168.1.190:54332        192.168.1.200:23000         ESTABLISHED 1612/fdfs_storaged  
tcp        0      0 192.168.1.190:54669         192.168.1.190:22122         ESTABLISHED 1612/fdfs_storaged
  7.fastdfs 功能测试;
nginx_Fastdfs1 机器测试;
[root@nginx_Fastdfs1]# fdfs_test /etc/fdfs/client.conf upload test.jsp
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.
[2016-06-07 03:04:04] DEBUG - base_path=/tmp, connect_timeout=30, network_timeout=30, tracker_server_count=2, 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=192.168.1.190, port=23000
server 2. group_name=, ip_addr=192.168.1.200, port=23000
group_name=group1, ip_addr=192.168.1.190, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKgBvldVySWAObaSAAAAAAAAAAA284.jsp
source ip address: 192.168.1.190
file timestamp=2016-06-07 03:04:05
file size=0
file crc32=0
example file url: http://192.168.1.190/group1/M00/00/00/wKgBvldVySWAObaSAAAAAAAAAAA284.jsp
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKgBvldVySWAObaSAAAAAAAAAAA284_big.jsp
source ip address: 192.168.1.190
file timestamp=2016-06-07 03:04:05
file size=0
file crc32=0
example file url: http://192.168.1.190/group1/M00/00/00/wKgBvldVySWAObaSAAAAAAAAAAA284_big.jsp
  nginx_Fastdfs2 机器测试;
[root@nginx_Fastdfs2 ~]# fdfs_test /etc/fdfs/client.conf upload test.jsp
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.
[2016-06-07 03:06:33] DEBUG - base_path=/tmp, connect_timeout=30, network_timeout=30, tracker_server_count=2, 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=192.168.1.190, port=23000
server 2. group_name=, ip_addr=192.168.1.200, port=23000
group_name=group1, ip_addr=192.168.1.200, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKgByFdVybiAcFDfAAAAAAAAAAA902.jsp
source ip address: 192.168.1.200
file timestamp=2016-06-07 03:06:32
file size=0
file crc32=0
example file url: http://192.168.1.200/group1/M00/00/00/wKgByFdVybiAcFDfAAAAAAAAAAA902.jsp
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKgByFdVybiAcFDfAAAAAAAAAAA902_big.jsp
source ip address: 192.168.1.200
file timestamp=2016-06-07 03:06:32
file size=0
file crc32=0
example file url: http://192.168.1.200/group1/M00/00/00/wKgByFdVybiAcFDfAAAAAAAAAAA902_big.jsp




运维网声明 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.yunweiku.com/thread-670120-1-1.html 上篇帖子: 分布式文件系统FastDFS介绍安装配置 下篇帖子: tenginx+ImageMagick+Lua+FastDfs分布式自动缩略图
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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