FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册SEO靠我网站、视频网站等等
文件不分块存储,上传的文件和OS文件系统中的文件一一对应
支持相同内容的文件只保存一份,节约磁盘空间
下载文件支持HTTP协议,可以使用内置Web Server,也可以和其他Web SEO靠我Server配合使用
支持在线扩容
支持主从文件
client(业务请求方)
客户端,作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。FastDFS向使用SEO靠我者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。
tracker(大哥)
跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记SEO靠我录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。
storage(小弟)
存储服务器(又称:存储节点或数据服务器),文件和文件属性(meta data)都保存到存储服务器上。StSEO靠我orage server直接利用OS的文件系统调用管理文件。
group
组, 也可称为卷。 同组内服务器上的文件是完全相同的 ,同一组内的storage server之间是对等的, 文件上传、 删除等操SEO靠我作可以在任意一台storage server上进行
拉取镜像
docker pull registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs启动容SEO靠我器(修改ip)【自启动】
docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=192.168SEO靠我.66.101 -e WEB_PORT=8888 -v ${HOME}/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuoSEO靠我/fastdfs查看容器,找到fastdfs容器的id
docker images进入容器
docker exec -it ea5bb54e1180 bash修改client.conf文件(核对一下即可)SEO靠我
vi /etc/fdfs/client.conf#需要修改的内容如下 (可以不一致,不用改)
base_path=/home/fastdfs
#tracker服务器IP和端口
tracker_server=1SEO靠我92.168.139.128:22122
上传
fdfs_upload_file /etc/fdfs/client.conf /opt/test1.info会把/opt路径下的test1SEO靠我.info保存到设置的storage存储路径
fdfs_upload_file <config_file> <local_filename> [storage_ip:port] [store_path_SEO靠我index]
参数含义:
<config_file> :配置文件路径
<local_filename> :本地文件路径
[storage_ip:port] :(可选参数)
[store_path_index] SEO靠我:(可选参数)
下载
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKhCZWM2EFKAdOn9AAAAFEtV3as48.infSEO靠我ogroup1/M00/00/00/wKhCZWM2EFKAdOn9AAAAFEtV3as48.info把这个文件下载到此目录
fdfs_download_file <config_file> <filSEO靠我e_id> [local_filename] [<download_offset> <download_bytes>]
参数含义:
<config_file> :配置文件路径
<file_id> :文件在FSEO靠我astDFS中的唯一文件标识,即卷名+文件名
[local_filename] :文件下载地址
<download_offset> :(可选参数)文件下载开始时间
<download_bytes> :(可选SEO靠我参数)文件下载的字节数
查看文件信息
fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKhCZWM2EFKAdOn9AAAAFEtV3as48SEO靠我.infofdfs_file_info <config_file> <file_id>
参数含义:
<config_file> :配置文件路径
<file_id> :文件在FastDFS中的唯一文件标识,即SEO靠我卷名+文件名
删除(慎用)
dfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKhCZWM2EFKAdOn9AAAAFEtV3as48.infSEO靠我o注意:
删除指令使用后,文件在该卷中的所有备份都会被删除,因为卷内的存储节点会相互同步,故慎用
fdfs_delete_file <config_file> <file_id>
参数含义:
<config_SEO靠我file> :配置文件路径
<file_id> :文件在FastDFS中的唯一文件标识,即卷名+文件名
查看容器id
docker images进入容器
docker exec -it eaSEO靠我5bb54e1180 bash查看图片路径
find / -name *.jpg把虚拟机的文件cp到容器里面
先把文件上传到虚拟机中,再把文件cp到docker容器中(先创建好目录)
docker cp 目SEO靠我录名称 容器id:/usr/local如:docker cp /usr/local/images/rentPro ea5bb54e1180:/usr/local/images/rentPro
上传文件【SEO靠我命令/配置文件的路径/需要上传文件的路径】
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/anti-steal.jpg上传后获得路径SEO靠我group1/M00/00/00/wKhCZWQ8MVqAU_ErAABdreSfEnY378.jpg
删除【命令/配置文件的路径/需要上传文件的路径】
/usr/bin/dfs_delete_file SEO靠我/etc/fdfs/client.conf group1/M00/00/00/wKhCZWM2EFKAdOn9AAAAFEtV3as48.info访问
192.168.66.101:8888/groupSEO靠我1/M00/00/00/wKhCZWQ8MVqAU_ErAABdreSfEnY378.jpg网站备案号:浙ICP备17034767号-2