#
#FastDFS Github地址:https://github.com/happyfish100/fastdfs
#FastDFS 简介:http://www.oschina.net/p/fastdfs/
#分布式文件系统及FastDFS : https://chulung.com/article/22
#分布式架构高可用架构篇:http://www.cnblogs.com/hujihon/p/5709556.html
#实验拓扑图(逻辑图)
#软件下载
#
#libfastcommon 下载地址: https://github.com/happyfish100/libfastcommon/archive/master.zip
#FastDFS:下载地址: https://github.com/happyfish100/fastdfs/archive/master.zip
#
安装(三台主机都要安装)
[[email protected]_1 ~]# yum install -y gcc-c++
[[email protected]_1 ~]# wget https://github.com/happyfish100/libfastcommon/archive/master.zip
[[email protected]_1 ~]# unzip master.zip
[[email protected]_1 ~]# cd libfastcommon-master/
[[email protected]_1 libfastcommon-master]#
[[email protected]_1 libfastcommon-master]# ./make.sh
[[email protected]_1 libfastcommon-master]# ./make.sh install
[[email protected]_1 libfastcommon-master]# cd
[[email protected]_1 ~]# rm -f master.zip
[[email protected]_1 ~]# wget https://github.com/happyfish100/fastdfs/archive/master.zip
[[email protected]_1 ~]# unzip master.zip
[[email protected]_1 ~]# cd fastdfs-master/
[[email protected]_1 fastdfs-master]# ./make.sh
[[email protected]_1 fastdfs-master]# ./make.sh install
#修改配置文件
#
#
#备份Trcaker文件
#在tracker 上操作
[[email protected] ~]# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
[[email protected] ~]# cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
#修改tracker
[[email protected] ~]# vim /etc/fdfs/tracker.conf
#修改如下值
base_path=/data/fdfs/Tracker #第22行
http.server_port=80 #第260行
[[email protected] ~]# mkdir /data/fdfs/Tracker -p
#修改客户端
[[email protected] ~]# vim /etc/fdfs/client.conf
base_path= /data/fdfs/client #第11行
tracker_server=192.168.174.136:22122 #第15行
[[email protected] ~]# mkdir /data/fdfs/client -p
#启动服务
[[email protected] ~]# service fdfs_trackerd start
#在storage上操作(两台Storage上同时操作)
[[email protected]_2 ~]# cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
[[email protected]_2 ~]# vim /etc/fdfs/storage.conf
#修改为如下
base_path=/data/fdfs/Storage #第41行
store_path0=/data/fdfs/Storage #第109行
tracker_server=192.168.174.136:22122 #第118行
[[email protected]_2 ~]# mkdir /data/fdfs/Storage -p
[[email protected]_2 ~]# service fdfs_storaged start
#检查状态
[[email protected] ~]# fdfs_monitor /etc/fdfs/client.conf
[2017-04-16 21:42:51] DEBUG - base_path=/data/fdfs/client, 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.174.136:22122
group count: 1
Group 1:
group name = group1
disk total space = 17718 MB
disk free space = 16341 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.174.137
ip_addr = 192.168.174.137 (Storage_1) ACTIVE
http domain =
version = 5.10
join time = 2017-04-16 21:12:37
up time = 2017-04-16 21:12:37
total storage = 17718 MB
free storage = 16341 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 = 1
connection.max_count = 1
total_upload_count = 0
success_upload_count = 0
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 = 0
success_delete_count = 0
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 = 0
success_upload_bytes = 0
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 = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2017-04-16 21:42:36
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00
Storage 2:
id = 192.168.174.138
ip_addr = 192.168.174.138 (Storage_2) ACTIVE
http domain =
version = 5.10
join time = 2017-04-17 06:13:42
up time = 2017-04-17 06:13:42
total storage = 17718 MB
free storage = 16432 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.174.137
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 1
connection.max_count = 1
total_upload_count = 0
success_upload_count = 0
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 = 0
success_delete_count = 0
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 = 0
success_upload_bytes = 0
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 = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2017-04-16 21:42:46
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00
#测试上传
[[email protected] ~]# fdfs_test /etc/fdfs/client.conf upload /root/text.txt
This is FastDFS client test program v5.10
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.
[2017-04-16 21:45:44] DEBUG - base_path=/data/fdfs/client, 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=192.168.174.137, port=23000
server 2. group_name=, ip_addr=192.168.174.138, port=23000
group_name=group1, ip_addr=192.168.174.137, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKiuiVjzdaqAfnQgAAAABncc3SA656.txt
source ip address: 192.168.174.137
file timestamp=2017-04-16 21:46:18
file size=6
file crc32=1998380320
example file url: http://192.168.174.137/group1/M00/00/00/wKiuiVjzdaqAfnQgAAAABncc3SA656.txt
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKiuiVjzdaqAfnQgAAAABncc3SA656_big.txt
source ip address: 192.168.174.137
file timestamp=2017-04-16 21:46:18
file size=6
file crc32=1998380320
example file url: http://192.168.174.137/group1/M00/00/00/wKiuiVjzdaqAfnQgAAAABncc3SA656_big.txt
#从上面的输出可以看到文件被上传到了 00/00目录下面,可以去看一下
[[email protected]_1 ~]# cd /data/fdfs/Storage/data/
[[email protected]_1 data]# ls
[[email protected]_1 data]# cd 00
[[email protected]_1 00]# cd 00
[[email protected]_1 00]# ls