首页 > 编程知识 正文

完全搞懂了(一篇文章搞懂FastDfs(全是干货,建议收藏))

时间:2023-05-03 11:06:07 阅读:122981 作者:4482

这里有目录标题1 .什么是分布式文件系统? 2 .为什么要使用分布式文件系统? 3. FastDFS与HDFS的比较什么是FastDFS5? 常见术语6. FastDFS体系结构7. FastDFS上传流程8. FastDFS下载流程9 .在9. Linux上安装FastDFS注意事项:请确保首先启动FastDFS启动存储下载基:2.安装基础环境进入libfatscommon库安装libfastcommon文件夹, 要编译并安装的fastdfs主程序文件安装fast DFS7.复制配置文件9.2访问配置文件目录2.tracker访问配置文件目录2.tracker .启动进程9.3配置storage服务1 .访问配置文件目录2 .修改storage配置文件3 .创建工作目录4 .启动进程9.4在client测试中上传文件服务器修改文件3 .创建工作目录4 .自行查找图像测试9.5以配置nginx fastdfs以实现文件服务器注意事项: fastdfs安装后无法通过http访问。 注意:由于需要使用nginx,因此必须安装fast DFS:nginx必须与storage位于同一节点上。 解压缩nginx fast DFS压缩包2 .复制配置文件:修改3./fast DFS-nginx-module/src/config文件。 主要修改路径,删除local。 因为安装fastdfs时没有修改路径。 原始路径为/usr:4.nginx5安装. mod_fastdfs.conf修改配置文件6 .创建工作区修改nginx.conf,启动.浏览器访问添加虚拟主机,例如

1 .分布式文件系统是指随着文件数据的增长,在tomcat或nginx上虚拟化的静态资源文件不能存储在单个服务器节点上。 在多个节点上保存即可,但不利于管理和维护,因此需要管理多个计算机节点上的文件数据的系统。 这就是分布式文件系统。 分布式文件系统是一个文件系统,可以通过网络在多个节点上共享文件,多个计算机节点集成在一起,为更多用户提供共享文件和存储空间。 例如,典型的网络磁盘本质上是分布式文件存储系统。 我们是分布式文件系统,但对用户来说是透明的,用户使用起来就像在访问本地磁盘一样。 分布式文件系统可以提供冗馀的备份,因此具有很强的容错能力。 系统中有一个节点关闭,但是整个文件服务是否不会停止,是否可以为用户提供服务,是否整个节点工作正常,是否有数据丢失? 分布式文件系统可扩展性强,增加和减少节点很容易,不影响在线服务。 增加后在线发布,加入集群为用户服务。 分布式文件系统提供负载平衡功能,多个节点在读取文件副本时共同提供服务。 横向扩展还可以提高性能和确保负载。 2 .为什么要使用分布式文件系统的大文件数据存储文件数据?高可用性(冗馀备份)读写性能和负载均衡pgddhk以上三点是tomcat或nginx无法实现的。 因此,是使用分布式文件系统还是比较3. FastDFS和HDFS

说到分布式文件存储,可能有人会想到HDFS。 他们的主要定位和应用场景不同。

Hadoop文件系统HDFS主要解决并行计算中的分布式存储数据问题。 由于各个数据文件通常较大,采用了块(分割)存储方式,因此是大数据使用大文件存储的场景。 FastDFS主要用于互联网网站,为文件的上传和下载提供在线服务。 因此,在负载平衡、动态扩展等方面得到了良好的支持,FastDFS不会快速保存文件。 FastDFS最好用于保存中小文件。 例如,用户的脸部照片,几个小音视频文件等都很好。 FastDFS FastDFS是一个开源轻量级分布式文件系统,用于管理文件。 功能包括文件存储、文件同步和文件访问(文件上载、文件下载),可解决大容量存储和负载平衡问题。 pgddhk非常适合以文件为载体的在线服务,如相册网站、视频网站等。 FastDFS是专为互联网定制的,充分考虑了冗馀备份、负载平衡、线性扩展等机制,重视高可用性、高性能等指标,使用FastDFS可以构建高性能的文件服务器集群来备份文件pgddhk FastDFS服务端有两个角色:追踪器(tracker )和存储节点(storage )。 跟踪器主要进行调度工作,对访问起到负载均衡的作用。 pgddhk存储节点存储文件并完成文件管理的所有功能。 它提供这种存储、同步和访问接口,FastDFS同时管理文件元数据。 文件元数据是文件的属性,由“关键帧值对”(key value )表示。 例如,width=1024,其中key为width,value为1024。 文件元数据是文件属性列表,可以包含多个键-值对。 pgddhk跟踪器和存储节点可以由一台或多台服务器组成。 跟踪器和存储节点中的服务器可以随时添加或脱机,而不会影响在线服务。 跟踪器中的所有服务都是对等的,可以根据服务的压力情况随时增减。 pgddhk

为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。pgddhk 在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。pgddhk 当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。pgddhk FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。pgddhk – 摘自<百度百科>

5. 常见术语 tracker:追踪者服务器,主要用于协调调度,可以起到负载均衡的作用,记录storage的相关状态信息。storage:存储服务器,用于保存文件以及文件的元数据信息。group:组,同组节点提供冗余备份,不同组用于扩容。zjdfh data:文件的元数据信息,比如长宽信息,图片后缀,视频的帧数等。 6. FastDFS架构 7. FastDFS上传过程 Storage会定时的向Tracker发送心跳,告诉Tracker自己还还活着,这样Fastdfs就可以工作了客户端发送上传请求给Tracker,Tracker会检查是否有可用Storage如果有可用的,客户端就可以上传文件数据到Storage上Storage将文件写入磁盘后,会返回路径信息给客户端客户端就可以根据这个路径信息找到上传的文件pgddhk 8. FastDFS下载过程 Storage会定时的向Tracker安装发送心跳,告诉Tracker自己还还活着,这样Fastdfs就可以工作了客户端发送下载请求到Tracker上,Tracker查找到存储的Storage地址后返回给客户端客户端拿到Storage地址后,去Storage上找到文件把文件返回给客户端pgddhk 9. Linux上FastDFS安装 注:一定要先启动Tracker,在启动Storage 9.1 基础环境安装

注:如果Tracker和Storage是配置在不同的服务器上,那么基础环境要在两个服务器上都安装。

1.下载安装包: libfatscommon:FastDFS分离出的一些公用函数包FastDFS:FastDFS本体fastdfs-nginx-module:FastDFS和nginx的关联模块nginx:发布访问服务 2. 安装基础环境 yum install -y gcc gcc-c++ yum -y install libeventyum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget 3. 安装libfatscommon函数库

tar -zxvf libfastcommon-1.0.42.tar.gz

4. 进入libfastcommon文件夹,编译并且安装 ./make.sh ./make.sh install 5. 安装fastdfs主程序文件

tar -zxvf fastdfs-6.04.tar.gz

6. 安装fastdfs ./make.sh./make.sh install 7. 拷贝配置文件

cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/

停止trackerpgddhk /usr/dqddy/stop.sh /etc/fdfs/tracker.conf

9.2 配置tracker服务

注:tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage

1. 进入到配置文件目录

cd /etc/fdfs

2. 修改tracker配置文件

vim tracker.conf

#修改tracker配置文件,此为tracker的工作目录,保存数据以及日志base_path=/usr/local/fastdfs/tracker 3. 创建工作目录

mkdir /usr/local/fastdfs/tracker -p

4. 启动进程

/usr/dqddy/fdfs_trackerd /etc/fdfs/tracker.conf

9.3 配置storage服务 1. 进入到配置文件目录

cd /etc/fdfs

2. 修改storage配置文件

vim storage.conf

# 修改组名 可以不修改group_name=test # 修改storage的工作空间 base_path=/usr/local/fastdfs/storage # 修改storage的存储空间 store_path0=/usr/local/fastdfs/storage # 修改tracker的地址和端口号,用于心跳 tracker_server=192.168.1.153:22122 # 后续结合nginx的一个对外服务端口号 http.server_port=8888 3. 创建工作目录

mkdir /usr/local/fastdfs/storage -p

4. 启动进程

前提:必须首先启动trackerpgddhk /usr/dqddy/fdfs_storaged /etc/fdfs/storage.conf

9.4 利用client测试上传 1. 进入到配置文件目录

cd /etc/fdfs

2. 修改client配置文件

vim client.conf

# 修改client的工作空间 base_path=/usr/local/fastdfs/client # 修改tracker的地址和端口号,用于心跳 tracker_server=192.168.1.153:22122 3. 创建工作目录

mkdir /usr/local/fastdfs/client

4. 随便找一张图片测试测试 cd /usr/dqddy/./fdfs_test /etc/fdfs/client.conf upload /home/logo.png

9.5 配置 nginx fastdfs 实现文件服务器 注:fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。 注:nginx需要和storage在同一个节点。 1. 解压nginx的fastdfs压缩包

tar -zxvf fastdfs-nginx-module-1.22.tar.gz

2. 复制配置文件:

cd /fastdfs-nginx-module-1.22/srcpgddhk cp mod_fastdfs.conf /etc/fdfs

3. 修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把local删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr:

4. 安装nginx 安装依赖环境pgddhk (1)安装gcc环境pgddhk yum install gcc-c++pgddhk (2)安装PCRE库,用于解析正则表达式pgddhk yum install -y pcre pcre-develpgddhk (3)zlib压缩和解压缩依赖,pgddhk yum install -y zlib zlib-develpgddhk (4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是httpspgddhk yum install -y openssl openssl-develpgddhk 2.解压,需要注意,解压后得到的是源码,源码需要编译后才能安装pgddhk tar -zxvf nginx-1.16.1.tar.gzpgddhk 3.编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错pgddhk mkdir /var/temp/nginx -p配置改一下

./configure pgddhk –prefix=/usr/local/nginx pgddhk –pid-path=/var/run/nginx/nginx.pid pgddhk –lock-path=/var/lock/nginx.lock pgddhk –error-log-path=/var/log/nginx/error.log pgddhk –http-log-path=/var/log/nginx/access.log pgddhk –with-http_gzip_static_module pgddhk –http-client-body-temp-path=/var/temp/nginx/client pgddhk –http-proxy-temp-path=/var/temp/nginx/proxy pgddhk –http-fastcgi-temp-path=/var/temp/nginx/fastcgi pgddhk –http-uwsgi-temp-path=/var/temp/nginx/uwsgi pgddhk –http-scgi-temp-path=/var/temp/nginx/scgi pgddhk –add-module=/home/software/fdfs/fastdfs-nginx-module-1.22/srcpgddhk 5.make编译pgddhk makepgddhk 6.安装pgddhk make installpgddhk 7.进入sdqddy目录启动pgddhk nginx./nginx

5. 修改 mod_fastdfs.conf 配置文件

cd /etc/fdfs

# 修改mod_fastdfs的工作空间 base_path=/usr/local/fastdfs/tmp # 修改tracker的地址和端口号,用于心跳 tracker_server=192.168.1.153:22122 # 修改组名 可以不修改group_name=imooc # 在url上拼接组名url_have_group_name = true # 文件存储空间store0_path=/usr/local/fastdfs/storage 6. 创建工作空间

mkdir /usr/local/fastdfs/tmp

7. 修改nginx.conf,添加如下虚拟主机

server {pgddhk listen 8888;pgddhk server_name localhost;pgddhk #如果自己修改组名了,这块配自己修改的组名pgddhk location /group1/M00pgddhk {pgddhk ngx_fastdfs_module;pgddhk }pgddhk }

8. 启动nginx 9. 浏览器访问

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。