天天看点

FastDFS的简介和安装

1)FastDFS的简介

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

2)FastDFS的安装步骤

2.1)安装gcc

yum install -y gcc gcc-c++

2.2)安装libevent

yum -y install libevent

2.3)安装libfastcommon

wget https://codeload.github.com/happyfish100/libfastcommon/zip/refs/heads/master
unzip unzip fastdfs-master.zip 
cd /tmp/libfastcommon-master
 ./make.sh
./make.sh install

           

2.4)安装FastDFS

wget https://codeload.github.com/happyfish100/fastdfs/zip/refs/heads/master
unzip fastdfs-master.zip 
cd fastdfs-master
./make.sh
./make.sh install
[[email protected] fastdfs-master]# ls -la /usr/bin/fdfs*
-rwxr-xr-x 1 root root  369280 Jul 19 18:54 /usr/bin/fdfs_appender_test
-rwxr-xr-x 1 root root  369064 Jul 19 18:54 /usr/bin/fdfs_appender_test1
-rwxr-xr-x 1 root root  355984 Jul 19 18:54 /usr/bin/fdfs_append_file
-rwxr-xr-x 1 root root  355368 Jul 19 18:54 /usr/bin/fdfs_crc32
-rwxr-xr-x 1 root root  356008 Jul 19 18:54 /usr/bin/fdfs_delete_file
-rwxr-xr-x 1 root root  356744 Jul 19 18:54 /usr/bin/fdfs_download_file
-rwxr-xr-x 1 root root  356672 Jul 19 18:54 /usr/bin/fdfs_file_info
-rwxr-xr-x 1 root root  376392 Jul 19 18:54 /usr/bin/fdfs_monitor
-rwxr-xr-x 1 root root  356232 Jul 19 18:54 /usr/bin/fdfs_regenerate_filename
-rwxr-xr-x 1 root root 1297928 Jul 19 18:54 /usr/bin/fdfs_storaged
-rwxr-xr-x 1 root root  379160 Jul 19 18:54 /usr/bin/fdfs_test
-rwxr-xr-x 1 root root  378376 Jul 19 18:54 /usr/bin/fdfs_test1
-rwxr-xr-x 1 root root  522560 Jul 19 18:54 /usr/bin/fdfs_trackerd
-rwxr-xr-x 1 root root  356936 Jul 19 18:54 /usr/bin/fdfs_upload_appender
-rwxr-xr-x 1 root root  357952 Jul 19 18:54 /usr/bin/fdfs_upload_file
[[email protected] fastdfs-master]# 
           

2.5)配置Tracker服务并启动

[[email protected] ~]$ /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
[[email protected] ~]$ netstat -nlp | grep fdfs
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      22671/fdfs_trackerd 
[[email protected] ~]$ 
[[email protected] ~]$ cat /etc/fdfs/tracker.conf | grep -vi '#' | grep -vi ^$
disabled = false
bind_addr = 192.168.1.99
port = 22122
connect_timeout = 5
network_timeout = 60
base_path = /home/user/fastdfs
max_connections = 1024
accept_threads = 1
work_threads = 4
min_buff_size = 8KB
max_buff_size = 128KB
store_lookup = 2
store_group = group2
store_server = 0
store_path = 0
download_server = 0
reserved_storage_space = 20%
log_level = info
run_by_group=
run_by_user =
allow_hosts = *
sync_log_buff_interval = 1
check_active_interval = 120
thread_stack_size = 256KB
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 = 1MB
trunk_alloc_alignment_size = 256
trunk_free_space_merge = true
delete_unused_trunk_files = false
trunk_file_size = 64MB
trunk_create_file_advance = false
trunk_create_file_time_base = 02:00
trunk_create_file_interval = 86400
trunk_create_file_space_threshold = 20G
trunk_init_check_occupying = false
trunk_init_reload_from_binlog = false
trunk_compress_binlog_min_interval = 86400
trunk_compress_binlog_interval = 86400
trunk_compress_binlog_time_base = 03:00
trunk_binlog_max_backups = 7
use_storage_id = false
storage_ids_filename = storage_ids.conf
id_type_in_filename = id
store_slave_file_use_link = false
rotate_error_log = false
error_log_rotate_time = 00:00
compress_old_error_log = false
compress_error_log_days_before = 7
rotate_error_log_size = 0
log_file_keep_days = 0
use_connection_pool = true
connection_pool_max_idle_time = 3600
http.server_port = 8080
http.check_alive_interval = 30
http.check_alive_type = tcp
http.check_alive_uri = /status.html
[[email protected] ~]$ 
           

2.6)配置Storage服务并启动

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
[[email protected] ~]$ netstat -nlp | grep 232
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      23260/fdfs_storaged 
           

2.7)验证

[[email protected] ~]$ /usr/bin/fdfs_monitor /etc/fdfs/storage.conf 
[2021-07-19 19:09:26] DEBUG - base_path=/home/user/fastdfs, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=1, 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.1.99:22122

group count: 1

Group 1:
group name = group1
disk total space = 17,394 MB
disk free space = 11,092 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
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.1.99
		ip_addr = 192.168.1.99  ACTIVE
		http domain = 
		version = 6.07
		join time = 2021-07-19 19:07:16
		up time = 2021-07-19 19:08:09
		total storage = 17,394 MB
		free storage = 11,092 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 = 0
		connection.max_count = 0
		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 = 2021-07-19 19:09:10
		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 
           

3)安装Nginx进行验证