fastdfs
订阅
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
展开全文

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
信息
- 类 别
- 编程
- 两个角色
- 跟踪器和存储节点
- 性 质
- 计算机
- 外文名
- fastdfs
fastdfs简介
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:就是这样的存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以包含多个键值对。跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
-
FastDFS
2018-05-17 19:23:53 -
fastDFS
2020-11-24 18:01:35fastDFS创建FastDFS存储路径安装libfastcommon依赖包FastDFS主程序安装配置FastDFS修改tracker.conf配置修改storage.conf配置fastdfs-nginx模块配置拷贝配置文件安装nginx修改Nginx配置文件开机自启创建多个存储分组...fastDFS
yum -y install gcc* pcre pcre-devel openssl openssl-devel zlib zlib-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
创建FastDFS存储路径
mkdir -p /fastdfs/storage/group1
安装libfastcommon依赖包
tar -xvf libfastcommon-1.0.7.tar.gz cd libfastcommon-1.0.7 ./make.sh && ./make.sh install
创建软链接
libfastcommon.so默认安装到了/usr/lib64/libfastcommon.so,而FastDFS主程序设置的lib目录是/usr/local/lib,所以设置软连接ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
FastDFS主程序安装
tar -xvf fastdfs-5.05.tar.gz cd fastdfs-5.05 ./make.sh && ./make.sh install
配置FastDFS
创建调度器(tracker)、存储(storage)、客户端(client)配置文件
cd /etc/fdfs cp tracker.conf.sample tracker.conf cp client.conf.sample client.conf cp storage.conf.sample storage.conf
修改tracker.conf配置
vim tracker.conf base_path=/fastdfs/storage store_lookup=2 store_group=group2
修改storage.conf配置
vim storage.conf group_name=group1 port=23000 base_path=/fastdfs/storage/group1 store_path0=/fastdfs/storage/group1 tracker_server=192.168.168.107:22122
fastdfs-nginx模块配置
tar xf fastdfs-nginx-module_v1.16.tar.gz
vim /usr/local/src/fastdfs-nginx-module/src/config 将CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"改成CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
拷贝配置文件
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ cp /usr/local/src/fastdfs-5.05/conf/http.conf /etc/fdfs/ cp /usr/local/src/fastdfs-5.05/conf/mime.types /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf 修改如下内容 base_path=/fastdfs/storage tracker_server=192.168.168.107:22122 url_have_group_name = true group_count = 1 [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/fastdfs/storage/group1
安装nginx
创建Nginx安装目录
mkdir -p /usr/local/nginx
解压缩
tar xf nginx-1.18.0.tar.gz
进入nginx安装包目录
cd nginx-1.18.0
预配编译安装
./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src && make && make install
修改Nginx配置文件
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_name localhost; location /group1/ { root /fastdfs/storage/group1/data; ngx_fastdfs_module; } }
开机自启
在/root目录下创建startup.sh文件,添加如下内容:
#!/bin/bash /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf /usr/bin/fdfs_storaged /etc/fdfs/storage.conf /usr/local/nginx/sbin/nginx
chmod +x /etc/rc.d/rc.local
创建多个存储分组
例如增加1个存储分组,
步骤1:复制1个storage.conf文件cp storage_PPCf.conf storage_PPCd.conf
步骤2:创建存储路径
mkdir -p /fastdfs/storage/PPCd
步骤3:编辑分组信息
vim /etc/fdfs/storage1.conf
修改如下内容
group_name=group2 port=23001 base_path=/fastdfs/storage/PPCd store_path0=/fastdfs/storage/PPCd tracker_server=192.168.168.179:22122
步骤4:编辑fdfs/mod_fastdfs.conf文件
vim /etc/fdfs/mod_fastdfs.conf 注释掉 tracker_server=192.168.168.106:22122 #storage_server_port=23000 #group_name=group1 #store_path_count=1 #store_path0=/home/yuqing/fastdfs 修改内容如下 base_path=/fastdfs/storage tracker_server=192.168.168.179:22122 url_have_group_name = true group_count = 2 [group1] group_name=PPCd storage_server_port=23000 store_path_count=1 store_path0=/fastdfs/storage/PPCd [group2] group_name=PPCf storage_server_port=23001 store_path_count=1 store_path0=/fastdfs/storage/PPCf
步骤5:修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf server { listen 802; server_name localhost; location /PPCd/ { root /fastdfs/storage/PPCd/data; ngx_fastdfs_module; } location /PPCf/ { root /fastdfs/storage/PPCf/data; ngx_fastdfs_module; } }
步骤6:启动分组
运行命令行: /usr/bin/fdfs_storaged /etc/fdfs/storage1.conf /usr/local/nginx/sbin/nginx -s reload
重启
/usr/bin/restart.sh /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf /usr/bin/restart.sh /usr/bin/fdfs_storaged /etc/fdfs/storage_PPCf.conf /usr/bin/restart.sh /usr/bin/fdfs_storaged /etc/fdfs/storage_PPCd.conf /usr/local/nginx/nginx/sbin/nginx -s reload
步骤7:加入到开机启动项
Vim /root/startup.sh 修改内容如下 #!/bin/bash /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf /usr/bin/fdfs_storaged /etc/fdfs/storage.conf /usr/bin/fdfs_storaged /etc/fdfs/storage1.conf /usr/local/nginx/sbin/nginx
添加更多分组按照以上方法配置即可
-
fastdfs
2018-11-28 20:10:22https://github.com/happyfish100/fastdfs/wiki 这个是在 github 下面 有教程 根据教程 可以安装这个 fastdfshttps://github.com/happyfish100/fastdfs/wiki
这个是在 github 下面 有教程 根据教程 可以安装这个 fastdfs
开启
service fdfs_trackerd start
service fdfs_storaged start配完之后
要下载jar包到本地仓库
git clone https://github.com/happyfish100/fastdfs-client-java
这个我们老师分支上的jar包 下载下来
在此文件夹下面进行
mvn clean install就会拥有他的jar包了
F:.m2\repository\org\csource\fastdfs-client-java\1.27-SNAPSHOT
收藏数
24,548
精华内容
9,819
-
基于python的dango框架购物商城毕业设计毕设源代码使用教程
-
linux基础入门和项目实战部署系列课程
-
Liunx 优化思路与实操步骤
-
C++MFC开发远程控制软件教程(VS2013)
-
Linux基础入门系列课程
-
76
-
社区团购系统含源码无bug
-
ecognition developer 8.9.0 X6400.rar
-
基于认知加深模型的感知进化网络—适应新感觉受体的出现
-
mpsoc zcu104 上做hdmi 显示实验
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
2018-2019年中山大学432统计学考研真题
-
Docker从入门到精通
-
javaChatRoom(jb51.net).rar
-
java常用API使用方法(详细易懂)
-
【硬核】一线Python程序员实战经验分享(1)
-
478、Java工具和中间件02 -【Redis - 运行】 2021.02.25
-
【布道者】Linux极速入门
-
webpack部分面试题
-
FastDFS 分布式文件系统部署