fastdfs (文件服务器fastdfs)

FastDFS是一个开源的分布要用于存储它采用了分布式存储架构,可以实现海量文件的访问,并具有高可靠性、高性能、高扩展性的特点,FastDFS由跟踪服务器,TrackerServer,和存储服务器,StorageServer,组成,跟踪服务器负责管理文件的上传和下载过程,存储服务器负责存储文件数据,在FastDFS中,文件被分割成若干…。

FastDFS是一个开源的分布要用于存储它采用了分布式存储架构,可以实现海量文件的访问,并具有高可靠性、高性能、高扩展性的特点。FastDFS由跟踪服务器(Tracker Server)和存储服务器(Storage Server)组成,跟踪服务器负责管理文件的上传和下载过程,存储服务器负责存储文件数据。

在FastDFS中,文件被分割成若干个固定大小的块,并在不同的存储服务器上存储这些块,从而实现文件的分布式存储。当用户上传文件时,跟踪服务器会选择一个存储服务器作为上传目标,并把文件分割成块分布到不同的存储服务器上。同时,跟踪服务器会记录每个文件块所在的存储服务器信息,以便后续用户下载文件时能够快速定位并获取文件块。

文件服务器fastdfs

FastDFS还提供了文件的元数据管理功能,用户可以在上传文件时指定文件的元数据信息(如文件名、文件类型、文件大小等),并可以通过元数据信息来检索和管理文件。FastDFS还支持文件的迅速下载和加载,用户可以通过HTTP访问接口直接获取文件内容,从而实现快速的文件传输和加载。

FastDFS的分布式存储架构可以有效提高文件存储和访问的效率,同时也能够提供高可靠性和容错能力。由于文件被分布存储在多台服务器上,即使某台存储服务器发生故障,系统仍然可以继续对外提供服务,保证文件的可用性。FastDFS还支持动态扩展存储服务器的功能,当系统需要扩展存储容量时,可以简单地添加新的存储服务器,而不会影响已有的文件存储和访问。

FastDFS作为一种分布式文件系统,具有高性能、高可靠性和高扩展性的特点,适用于存储海量文件并实现快速访问的场景。通过合理配置和使用FastDFS,用户可以构建一个可靠、高效的文件存储和访问系统,满足不同规模和需求的文件存储需求。


如何安装FastDFS

目前FastDFS支持类Unix系统 ,在Linux和FreeBSD下测试过,本文使用的是Ubuntu10.4,建议安装之前先简单了解一下FastDFS的原理 ,这对后继的配置部分会有很好的理解。

一、准备工作-安装libeventFastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libevent。

(官方也推荐使用 http 方式下载 文件 )如果已经安装了 libevent,请确认安装路径是 /usr , 因为 FastDFS 在编译源程序时,需要到此目录下查找一些依赖文件,否则编译 FastDFS 会出错 。

如果不是,建议首先卸载 libevent ,然后安装到 /usr 下。

Ubuntu10.4默认是安装了libevent,可以到软件中心卸载掉然后按照下面介绍的方式安装。

安装步骤:解压 libevent ,然后进入解压后的目录分别执行:Shell代码./configure –prefix=/usrmake clean;makemake install安装libevent完成。

二、安装 FastDFS1、下载 FastDFS 源程序2、在 FastDFS_ 所在文件夹下执行:Shell代码sudo tar vxzf FastDFS_ /home/soar/FastDFS注: /home/soar/FastDFS 也可以是其他目录,记住这是解压目录,以后用 %FastDFS% 表示)3、由于要使用内置的 http 服务,因此编辑 %FastDFS%/ 文件,找到#WITH_HTTPD=1修改成WITH_HTTPD=1以支持 http4、进入 %FastDFS% 目录,执行:Shell代码sudo ./5、在 %FastDFS% 目录下,执行:Shell代码sudo ./ install如果运行如上命令后,在命令行信息最后看到类似Shell代码#ln -fs /usr/local/lib/.1 /usr/local/lib/#ln -fs /usr/local/lib/.1 /usr/local/lib/ ./fdfs_link_恭喜你,已经安装成功了!FastDFS的配置文件在%FastDFS%/conf目录下,其中包括客户端上传配置文件文件存储服务器配置文件负责均衡调度服务器配置文件服务器配置文件配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档,以及FastDFS原理介绍文档在本例中,Tracker Server,Storage Server都安装在一台服务器上,IP:10.0.2.151、配置及启动Tracker ServerA、修改%FastDFS%/conf/文件,修改如下#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动Txt代码base_path=/home/yuqing/fastdfs -> base_path=/home/soar/fastdfs_tracker#改成你想要的http端口,将来http下载文件的端口就是他了Txt代码_port=8080 -> _port=8090#http支持Txt代码##include -> #include #默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动Txt代码reserved_storage_space = 4GB -> reserved_storage_space = 1GB#tracker server对storage server供服务的端口,使用默认的即可,也可以自定义Txt代码port=B、将文件拷贝到/etc/fdfs目录下,执行Shell代码sudo cp %FastDFS%/conf/ /etc/fdfs/注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param not exist or is empty类似的错误C、进入/usr/local/bin/目录,启动tracker服务器,执行Shell代码sudo fdfs_trackerd %FastDFS%/conf/、进入/home/soar/fastdfs_tracker/logs/查看tracker的启动日志,如果看到类似Shell代码[2010-11-04 16:21:25] INFO – FastDFS v2.02, base_path=/home/soar/fastdfs_tracker, connect_timeout=30s, network_timeout=60s, port=, bind_addr=, max_connections=256, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storage_space=4MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=s, storage_sync_file_max_time=300s[2010-11-04 16:21:25] INFO – HTTP supported: server_port=8090, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, check_active_interval=30, check_active_type=tcp, check_active_uri=/恭喜你,tracker server已经启动成功!2、配置及启动Storage ServerA、修改%FastDFS%/conf/文件,修改如下:#可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息Txt代码base_path=/home/yuqing/fastdfs -> /home/soar/fastdfs_storge#文件的存储位置,在一台storage server上可以指定多个存储位置Txt代码store_path0=/home/yuqing/fastdfs -> store_path0=/home/soar/fastdfs_storge#必须指定Txt代码group_name=group1#修改成tracker server的IP和端口信息Txt代码tracker_server=192.168.209.121 -> tracker_server=10.0.2.15#http支持Txt代码##include ->#include 、进入/usr/local/bin/目录,启动storage服务器,执行Shell代码sudo fdfs_storaged %FastDFS%/conf/、进入/home/soar/fastdfs_tracker/logs/查看storage服务器启动日志,如果看到类似Shell代码[2010-11-04 16:37:16] INFO – FastDFS v2.02, base_path=/home/soar/fastdfs_storge, store_path_count=1, subdir_count_per_path=256, group_name=group1, connect_timeout=30s, network_timeout=60s, port=, bind_addr=, client_bind=1, max_connections=256, work_threads=4, disk_rw_separated=1, disk_reader_threads=1, disk_writer_threads=1, buff_size=256KB, heart_beat_interval=30s, stat_report_interval=60s, tracker_server_count=1, sync_wait_msec=200ms, sync_interval=0ms, sync_start_time=00:00, sync_end_time=23:59, write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_log_buff_interval=10s, sync_binlog_buff_interval=60s, sync_stat_file_interval=300s, thread_stack_size=512 KB, upload_priority=10, if_alias_prefix=, check_file_duplicate=0, FDHT group count=0, FDHT server count=0, FDHT key_namespace=, FDHT keep_alive=0, HTTP server port=8888, domain name=[2010-11-04 16:37:16] INFO – HTTP supported: server_port=8888, http_trunk_size=, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0[2010-11-04 16:37:16] INFO – file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1[2010-11-04 16:37:19] INFO – file: tracker_client_thread.c, line: 274, successfully connect to tracker server 10.0.2.15, as a tracker client, my ip is 10.0.2.15恭喜你,storage server已经启动成功!经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。

一、上传文件FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。

在使用这个客户端程序之前,首先需要配置,然后再进行文件上传及下载。

1、修改%FastDFS%/conf/文件,修改如下:#可自定义,但此目录必须存在,用于存放文件上传logTxt代码base_path=/home/yuqing/fastdfs-> base_path=/home/soar/fastdfs_trackerTxt代码tracker_server=192.168.209.121 -> tracker_server=10.0.2.15Txt代码_server_port=8080 ->_server_port=8090#支持httpTxt代码##include ->#include 2、进入/usr/local/bin/目录,上传文件,执行Txt代码sudo fdfs_test %FastDFS%/conf/ upload 注可以在/usr/local/bin/目录下自己创建一个如果命令行反馈类似如下:则说明上传文件成功。

关于fastdfs集群和备份配置1、修改文件中store_lookup=2 平衡负载2、修改文件中store_server=0 采用轮询方式。

如果希望只使用一台文件存储服务器,其他二台做备份,则修改文件tracker_server为某台主机的IP,只启动文件存储服务器的tracker,其他二台备份服务器不需要启动tracker。

如果希望三台服务器集群使用,互相备份,比如:使用A机器存储文件,这时候A机器会将文件同步到B机器和C机器,同理使用B机器存储文件,则会同时将文件同步到A机器和C机器。

这时候需要将所有的机器IP和端口号都配置在中,如下所示:tracker_server=10.207.16.127tracker_server=10.207.16.129

如何基于fastdfs搭建缩略图服务器

目前FastDFS支持类Unix系统 ,在Linux和FreeBSD下测试过,本文使用的是Ubuntu10.4,建议安装之前先简单了解一下FastDFS的原理 ,这对后继的配置部分会有很好的理解。

一、准备工作-安装libeventFastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libevent。

(官方也推荐使用 http 方式下载 文件 )如果已经安装了 libevent,请确认安装路径是 /usr , 因为 FastDFS 在编译源程序时,需要到此目录下查找一些依赖文件,否则编译 FastDFS 会出错 。

如果不是,建议首先卸载 libevent ,然后安装到 /usr 下。

Ubuntu10.4默认是安装了libevent,可以到软件中心卸载掉然后按照下面介绍的方式安装。

安装步骤:解压 libevent ,然后进入解压后的目录分别执行:Shell代码 ./configure –prefix=/usrmake clean;makemake install 安装libevent完成。

二、安装 FastDFS1、下载 FastDFS 源程序 2、在 FastDFS_ 所在文件夹下执行:Shell代码 sudo tar vxzf FastDFS_ /home/soar/FastDFS 注: /home/soar/FastDFS 也可以是其他目录,记住这是解压目录,以后用 %FastDFS% 表示)3、由于要使用内置的 http 服务,因此编辑 %FastDFS%/ 文件,找到#WITH_HTTPD=1 修改成WITH_HTTPD=1 以支持 http4、进入 %FastDFS% 目录,执行:Shell代码 sudo ./ 5、在 %FastDFS% 目录下,执行:Shell代码 sudo ./ install 如果运行如上命令后,在命令行信息最后看到类似Shell代码 #ln -fs /usr/local/lib/.1 /usr/local/lib/#ln -fs /usr/local/lib/.1 /usr/local/lib/ ./fdfs_link_ 恭喜你,已经安装成功了!FastDFS的配置文件在%FastDFS%/conf目录下,其中包括客户端上传配置文件文件存储服务器配置文件负责均衡调度服务器配置文件服务器配置文件配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档,以及FastDFS原理介绍文档在本例中,Tracker Server,Storage Server都安装在一台服务器上,IP:10.0.2.151、配置及启动Tracker ServerA、修改%FastDFS%/conf/文件,修改如下#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动Txt代码 base_path=/home/yuqing/fastdfs -> base_path=/home/soar/fastdfs_tracker #改成你想要的http端口,将来http下载文件的端口就是他了Txt代码 _port=8080 -> _port=8090 #http支持Txt代码 ##include -> #include #默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动Txt代码 reserved_storage_space = 4GB -> reserved_storage_space = 1GB #tracker server对storage server供服务的端口,使用默认的即可,也可以自定义Txt代码 port= B、将文件拷贝到/etc/fdfs目录下,执行Shell代码 sudo cp %FastDFS%/conf/ /etc/fdfs/ 注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param not exist or is empty类似的错误C、进入/usr/local/bin/目录,启动tracker服务器,执行Shell代码 sudo fdfs_trackerd %FastDFS%/conf/ D、进入/home/soar/fastdfs_tracker/logs/查看tracker的启动日志,如果看到类似Shell代码 [2010-11-04 16:21:25] INFO – FastDFS v2.02, base_path=/home/soar/fastdfs_tracker, connect_timeout=30s, network_timeout=60s, port=, bind_addr=, max_connections=256, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storage_space=4MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=s, storage_sync_file_max_time=300s[2010-11-04 16:21:25] INFO – HTTP supported: server_port=8090, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, check_active_interval=30, check_active_type=tcp, check_active_uri=/ 恭喜你,tracker server已经启动成功!2、配置及启动Storage ServerA、修改%FastDFS%/conf/文件,修改如下:#可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息Txt代码 base_path=/home/yuqing/fastdfs -> /home/soar/fastdfs_storge#文件的存储位置,在一台storage server上可以指定多个存储位置Txt代码 store_path0=/home/yuqing/fastdfs -> store_path0=/home/soar/fastdfs_storge #必须指定Txt代码 group_name=group1 #修改成tracker server的IP和端口信息Txt代码 tracker_server=192.168.209.121 -> tracker_server=10.0.2.15 #http支持Txt代码 ##include ->#include B、进入/usr/local/bin/目录,启动storage服务器,执行Shell代码 sudo fdfs_storaged %FastDFS%/conf/ C、进入/home/soar/fastdfs_tracker/logs/查看storage服务器启动日志,如果看到类似Shell代码 [2010-11-04 16:37:16] INFO – FastDFS v2.02, base_path=/home/soar/fastdfs_storge, store_path_count=1, subdir_count_per_path=256, group_name=group1, connect_timeout=30s, network_timeout=60s, port=, bind_addr=, client_bind=1, max_connections=256, work_threads=4, disk_rw_separated=1, disk_reader_threads=1, disk_writer_threads=1, buff_size=256KB, heart_beat_interval=30s, stat_report_interval=60s, tracker_server_count=1, sync_wait_msec=200ms, sync_interval=0ms, sync_start_time=00:00, sync_end_time=23:59, write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_log_buff_interval=10s, sync_binlog_buff_interval=60s, sync_stat_file_interval=300s, thread_stack_size=512 KB, upload_priority=10, if_alias_prefix=, check_file_duplicate=0, FDHT group count=0, FDHT server count=0, FDHT key_namespace=, FDHT keep_alive=0, HTTP server port=8888, domain name=[2010-11-04 16:37:16] INFO – HTTP supported: server_port=8888, http_trunk_size=, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0[2010-11-04 16:37:16] INFO – file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1[2010-11-04 16:37:19] INFO – file: tracker_client_thread.c, line: 274, successfully connect to tracker server 10.0.2.15, as a tracker client, my ip is 10.0.2.15 恭喜你,storage server已经启动成功!经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。

一、上传文件FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。

在使用这个客户端程序之前,首先需要配置,然后再进行文件上传及下载。

1、修改%FastDFS%/conf/文件,修改如下:#可自定义,但此目录必须存在,用于存放文件上传logTxt代码 base_path=/home/yuqing/fastdfs-> base_path=/home/soar/fastdfs_trackerTxt代码 tracker_server=192.168.209.121 -> tracker_server=10.0.2.15Txt代码 _server_port=8080 ->_server_port=8090 #支持httpTxt代码 ##include ->#include 2、进入/usr/local/bin/目录,上传文件,执行Txt代码 sudo fdfs_test %FastDFS%/conf/ upload 注可以在/usr/local/bin/目录下自己创建一个 如果命令行反馈类似如下:则说明上传文件成功。

关于fastdfs集群和备份配置 1、修改文件中store_lookup=2 平衡负载 2、修改文件中store_server=0 采用轮询方式。

如果希望只使用一台文件存储服务器,其他二台做备份,则修改文件tracker_server为某台主机的IP,只启动文件存储服务器的tracker,其他二台备份服务器不需要启动tracker。

如果希望三台服务器集群使用,互相备份,比如:使用A机器存储文件,这时候A机器会将文件同步到B机器和C机器,同理使用B机器存储文件,则会同时将文件同步到A机器和C机器。

这时候需要将所有的机器IP和端口号 都配置在中,如下所示: tracker_server=10.207.16.127tracker_server=10.207.16.129

java无法读取fastdfs的文件

解决方法如下:1、导入FastDFS的Java客户端库。

2、创建FastDFS的客户端对象,并连接到FastDFS服务器。

3、使用downloadfile1方法来下载文件,指定文件的组名和文件路径。

将得到的文件数据进行相关处理即可。

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.jukee8.cn/104843.html