下载fastdfs源码包:

1
wget http://fastdfs.googlecode.com/files/FastDFS_v3.05.tar.gz

开始安装:

1
2
3
4
tar zxvf FastDFS_v3.05.tar.gz
cd FastDFS/
./make.sh
./make.sh install

安装完成后,fastdfs默认的配置文件被放置在/etc/fdfs 目录下面,包含了client.conf  http.conf  mime.types  storage.conf  tracker.conf五个文件,fastdfs进程的启动是以加载的配置文件区分的。源码包中都包含了这三个配置文件。

tracker.conf 配置文件分析:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#配置tracker.conf这个配置文件是否生效,因为在启动fastdfs服务端进程时需要指定配置文件,所以需要使次配置文件生效。false是生效,true是屏蔽。
disabled=false
 
#程序的监听地址,如果不设定则监听所有地址
bind_addr=
 
#tracker监听的端口
port=22122
 
#链接超时设定
connect_timeout=30
 
#tracker在通过网络发送接收数据的超时时间
network_timeout=60
 
#数据和日志的存放地点
base_path=/opt/fdfs
 
#服务所支持的最大链接数
max_connections=256
 
#工作线程数一般为cpu个数
work_threads=4
 
#在存储文件时选择group的策略,0:轮训策略 1:指定某一个组 2:负载均衡,选择空闲空间最大的group
store_lookup=2
 
#如果上面的store_lookup选择了1,则这里需要指定一个group
#store_group=group2
 
#在group中的哪台storage做主storage,当一个文件上传到主storage后,就由这台机器同步文件到group内的其他storage上,0:轮训策略 1:根据ip地址排序,第一个 2:根据优先级排序,第一个
store_server=0
 
#选择那个storage作为主下载服务器,0:轮训策略 1:主上传storage作为主下载服务器
download_server=0
 
#选择文件上传到storage中的哪个(目录/挂载点),storage可以有多个存放文件的base path 0:轮训策略 2:负载均衡,选择空闲空间最大的
store_path=0
 
#系统预留空间,当一个group中的任何storage的剩余空间小于定义的值,整个group就不能上传文件了
reserved_storage_space = 4GB
 
#日志信息级别
log_level=info
 
#进程以那个用户/用户组运行,不指定默认是当前用户
run_by_group=
run_by_user=
 
#允许那些机器连接tracker默认是所有机器
allow_hosts=*
 
#设置日志信息刷新到disk的频率,默认10s
sync_log_buff_interval = 10
 
#检测storage服务器的间隔时间,storage定期主动向tracker发送心跳,如果在指定的时间没收到信号,tracker人为storage故障,默认120s
check_active_interval = 120
 
#线程栈的大小,最小64K
thread_stack_size = 64KB
 
#storage的ip改变后服务端是否自动调整,storage进程重启时才自动调整
storage_ip_changed_auto_adjust = true
 
#storage之间同步文件的最大延迟,默认1天
storage_sync_file_max_delay = 86400
 
#同步一个文件所花费的最大时间
storage_sync_file_max_time = 300
 
#是否用一个trunk文件存储多个小文件
use_trunk_file = false
 
#最小的solt大小,应该小于4KB,默认256bytes
slot_min_size = 256
 
#最大的solt大小,如果上传的文件小于默认值,则上传文件被放入trunk文件中
slot_max_size = 16MB
 
#trunk文件的默认大小,应该大于4M
trunk_file_size = 64MB
 
#http服务是否生效,默认不生效
http.disabled=false
 
#http服务端口
http.server_port=8080
 
#检测storage上http服务的时间间隔,<=0表示不检测
http.check_alive_interval=30
 
#检测storage上http服务时所用请求的类型,tcp只检测是否可以连接,http必须返回200
http.check_alive_type=tcp
 
#通过url检测storage http服务状态
http.check_alive_uri=/status.html
 
#if need find content type from file extension name
http.need_find_content_type=true
 
#用include包含进http的其他设置
##include http.conf

启动tracker进程

1
fdfs_trackerd /etc/fdfs/tracker.conf

检测状态

1
2
3
netstat -tupln|grep tracker
#可以看到如下:
tcp  0   0   0.0.0.0:22122   0.0.0.0:*   LISTEN   18559/fdfs_trackerd

storage.conf配置文件分析:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#同tracker.conf
disabled=false
 
#这个storage服务器属于那个group
group_name=group1
 
#同tracker.conf
bind_addr=
 
#连接其他服务器时是否绑定地址,bind_addr配置时本参数才有效
client_bind=true
 
#同tracker.conf
port=23000
connect_timeout=30
network_timeout=60
 
#主动向tracker发送心跳检测的时间间隔
heart_beat_interval=30
 
#主动向tracker发送磁盘使用率的时间间隔
stat_report_interval=60
 
#同tracker.conf
base_path=/opt/fdfs
max_connections=256
 
#接收/发送数据的buff大小,必须大于8KB
buff_size = 256KB
 
#同tracker.conf
work_threads=4
 
#磁盘IO是否读写分离
disk_rw_separated = true
 
#是否直接读写文件,默认关闭
disk_rw_direct = false
 
#混合读写时的读写线程数
disk_reader_threads = 1
disk_writer_threads = 1
 
#同步文件时如果binlog没有要同步的文件,则延迟多少毫秒后重新读取,0表示不延迟
sync_wait_msec=50
 
#同步完一个文件后间隔多少毫秒同步下一个文件,0表示不休息直接同步
sync_interval=0
 
#表示这段时间内同步文件
sync_start_time=00:00
sync_end_time=23:59
 
#同步完多少文件后写mark标记
write_mark_file_freq=500
 
#storage在存储文件时支持多路径,默认只设置一个
store_path_count=1
 
#配置多个store_path路径,从0开始,如果store_path0不存在,则base_path必须存在
store_path0=/opt/fdfs
#store_path1=/opt/fastdfs2
 
#subdir_count  * subdir_count个目录会在store_path下创建,采用两级存储
subdir_count_per_path=256
 
#设置tracker_server
tracker_server=x.x.x.x:22122
 
#同tracker.conf
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
 
#文件在数据目录下的存放策略,0:轮训 1:随机
file_distribute_path_mode=0
 
#当问及是轮训存放时,一个目录下可存放的文件数目
file_distribute_rotate_count=100
 
#写入多少字节后就开始同步,0表示不同步
fsync_after_written_bytes=0
 
#刷新日志信息到disk的间隔
sync_log_buff_interval=10
 
#同步storage的状态信息到disk的间隔
sync_stat_file_interval=300
 
#线程栈大小
thread_stack_size=512KB
 
#设置文件上传服务器的优先级,值越小越高
upload_priority=10
 
#是否检测文件重复存在,1:检测 0:不检测
check_file_duplicate=0
 
#当check_file_duplicate设置为1时,次值必须设置
key_namespace=FastDFS
 
#与FastDHT建立连接的方式 0:短连接 1:长连接
keep_alive=0
 
#同tracker.conf
http.disabled=false
http.domain_name=
http.server_port=8888
http.trunk_size=256KB
http.need_find_content_type=true
##include http.conf

启动storage进程

1
fdfs_storaged /etc/fdfs/storage.conf

检测状态

1
2
3
netstat -tupln | grep storage
#结果如下:
tcp  0  0 0.0.0.0:23000  0.0.0.0:*   LISTEN   17138/fdfs_storaged

client.conf配置文件分析:

1
2
3
4
5
6
7
#同tracker.conf
connect_timeout=30
network_timeout=60
base_path=/opt/fdfs
tracker_server=x.x.x.x:22122
log_level=info
http.tracker_server_port=8080

测试上传文件:

1
2
3
fdfs_upload_file /etc/fdfs/client.conf client.conf
#返回如下字符串
group1/M00/00/00/CgEGflAqaFW4hENaAAACo8wrbSE16.conf

在storage的数据目录下的00/00目录下即可看到该文件,文件名称是CgEGflAqaFW4hENaAAACo8wrbSE16.conf

FastDfs的更多相关文章

  1. 【架构设计】分布式文件系统 FastDFS的原理和安装使用

    本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下:   -- mo ...

  2. FASTDFS调研报告(V1.0)

    之前的文章,现在放出来,以供参阅. 一.fastdfs简介 FastDFS是一个轻量级的开源分布式文件系统 FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 Fas ...

  3. 网站文件系统发展&&分布式文件系统fastDFS

    网站文件系统发展 1.单机时代的图片服务器架构 初创时期由于时间紧迫,开发人员水平也很有限等原因.所以通常就直接在website文件所在的目录下,建立1个upload子目录,用于保存用户上传的图片文件 ...

  4. FastDFS 安装及使用

    FastDFS 安装及使用 2012-11-17 13:10:31|  分类: Linux|举报|字号 订阅     Google了一下,流行的开源分布式文件系统有很多,介绍如下:   mogileF ...

  5. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  6. 分布式文件系统 - FastDFS 简单了解一下

    别问我在哪里 也许我早已不是我自己,别问我在哪里,我一直在这里. 突然不知道说些什么了... 初识 FastDFS 记得那是我刚毕业后进入的第一家公司,一个技术小白进入到当时的项目组后,在开发中上传用 ...

  7. 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

    也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...

  8. centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置

    前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬 ...

  9. FastDFS+Nginx(单点部署)事例

    FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统,用纯C语言开发,包括文件存储.文件同步.文件访问(上传.下载).存取负载均衡.在线扩容.相同内容只存储一份等功能,适合 ...

  10. 在虚拟机中配置FastDFS+Nginx模块

    先上部署图 提示一下, ip 192.168.72.138 上面部署了两个group, 分别为 group1和g2. 另外, 同组之内的 port 要保持一致. 一.安装准备 1. #每台机器都添加两 ...

随机推荐

  1. 反编译android的apk

    将要反编译的APK后缀名改为.rar或 .zip,并解压   得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的 ...

  2. linux 连接到阿里云服务器

    当Windows拥有xshell软件可以连接到你的远程服务器时,Linux其实自己带有的ssh就可以连接: 具体命令是: ssh root@60.2.5.201.81然后输入你服务器的密码:××××× ...

  3. maven官方库中没有oracle jdbc驱动的问题解决

    1.找到可用的oracle jdbs驱动jar包文件,放置到指定目录(可根据实际自定义) D:\jdbc\ojdbc14.jar 2.安装好maven,主要是配置好环境变量 MAVEN_HOME='指 ...

  4. html与css面试结合工作的总结难点

    面试的时候一般会常常问起的,同时也是工作的时候会常常问道的几个问题,一下之列表内容,详细的后会附有文章,希望能帮到大家,同时有不足希望大家多多补充交流. 1.主要是的是浮动的问题(常见的问题有,三列布 ...

  5. hdu 3839 Ancient Messages (dfs )

    题目大意:给出一幅画,找出里面的象形文字. 要你翻译这幅画,把象形文字按字典序输出. 思路:象形文字有一些特点,分别有0个圈.1个圈.2个圈...5个圈.然后dfs或者bfs,就像油井问题一样,找出在 ...

  6. font-family:“微软雅黑” OR font-family:Microsoft Yahei

    sublime对中文编码支持的不好,可以考虑用后者.

  7. Asp.net在IE10、IE11下事件丢失经验总结

    asp.net4.0出生得比IE10早,所以asp.net4.0以前版本不认识IE10 的 User-Agent 标头,导致的后果就是ASP.NET 特定功能失效,例如:页面报错__doPostBac ...

  8. [综合]visio2013安装提示找不到Office.zh_cn\officeMUI.mis officemui.xml

    在visio2013安装提示找不到Office.zh_cn\officeMUI.mis officemui.xml 等等,各种提示,可是打开安装程序所在的ISO,里面可是“赶集网”——啥都有啊.上网查 ...

  9. apiCloud又拍云数据库操作经验

    1.在数据库表中有个relation字段,表示一对多(对应其他表的多个记录),这个字段比较奇怪,因为实际上这个字段里并未保存实际值.而是保存在对应表的字段中.但是对应表显示出来并没有这个字段.导出数据 ...

  10. 数据分析 - 开放街道地图(OpenStreetMap)

    数据分析 - 开放街道地图(OpenStreetMap) Reinhard使用OpenStreetMap的开放地图数据作为本次数据分析的数据源,使用Python进行数据清洗,使用MongoDB进行数据 ...