FastDFS分布式文件系统环境搭建及安装过程解析

FastDFS:分布式文件系统

它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。

特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,

使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

FastDFS服务端有两个角色:

跟踪器(tracker)和存储节点(storage)。

跟踪器主要做调度工作,在访问上起负载均衡的作用。

环境搭建:

Linux操作系统,

需要的Tar包

fastdfs-nginx-module,fastdfs,nginx,libfastcommon

安装GCC编译器:

yum install -y gcc gcc-c++

安装libevent运行库

yum -y install libevent

把上述的Tar包文件获取并上传或者直接下载到Linux中

1、安装LibFastCommon:

解压Tar包

tar -zxvf libfastcommon-1.0.35.tar.gz

进入主目录:

cd libfastcommon-1.0.35

执行编译SHELL脚本:

./make.sh

安装运行库:

./make.sh install

2、安装FastDFS:

需要安装前置的依赖准备:

yum -y install perl pcre pcre-devel zlib zlib-devel openssl openssl-devel

然后解压FastDFS的Tar包:

tar -zxvf fastdfs-5.11.tar.gz

同样的进入目录,编译,安装

cd ./make.sh./make.sh install

查看跟踪器,和存储节点的执行脚本

ll /etc/init.d/ | grep fdfs

准备配置文件,首先进入FastDFS目录

cd /etc/fdfs/ll

复制并重新命名样例配置文件:

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp storage_ids.conf.sample storage_ids.conf
cp tracker.conf.sample tracker.conf

创建一个跟踪器存放日志和数据的目录:

mkdir -p /fdfs/tracker

切换回配置文件的目录,编辑tracker.conf

cd /etc/fdfs/
vim tracker.conf

只需要更改我们上面配置的路径,其他保持默认配置

启动FastDFS的跟踪器:

service fdfs_trackerd start

查看之前的tracker存储目录,就会多了我们之前说的文件

ll -a /fdfs/tracker

接下来配置存储节点:

创建存储节点的数据存储目录

mkdir -p /fdfs/storage

编辑存储节点配置:

vim storage.conf

组保持不变,一样的还是更改basedir

存放目录也需要更改:

如果存在多个挂载磁盘,则以此类推声明

store_path1=/.../.../...store_path2=/.../.../...store_path3=/.../.../...store_path4=/.../.../......

然后配置跟踪器服务IP地址与端口号

IP就是你的服务器或者虚拟机的地址

配置完成,运行FastDFS的存储节点

service fdfs_storaged start

查看存储节点的存储目录:

ls -a /fdfs/storage/data

存储形式是一个个的16进制声明的目录

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python django框架中使用FastDFS分布式文件系统的安装方法

    一.安装FastDFS 1-1:执行docker命令安装 # 安装tracker docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs youkou1/fastdfs tracker # 安装storage docker run -dti --network=host --name storage -e TRACKER_SERVER=IP地址:22122 -v /var/fdfs/storage:

  • Java高级架构之FastDFS分布式文件集群详解

    FastDFS简介 FastDFS是一款开源的轻量级分布式文件系统,使用C实现,支持Linux.BSD等unix-like操作系统.值得注意的是,fastdfs并不是通用的文件系统,只能通过专用的API访问. fastdfs为互联网应用量身定做,解决了大容量文件存储的问题,fastdfs追求高性能和高扩展性.fastdfs的主要概念: tracker-server:跟踪服务器.用于跟踪文件,主要起调度作用.在内存中记录了所有存储组和存储服务器的状态信息,是客户端和数据存储的主要枢纽.相比GFS更

  • nginx的FastDFS分布式存储模块测试方法

    再回过头来看FastDFS更新很快,还看到fastdfs-nginx-module_v1.01.tar.gz nginx模块,所以今天在一台测试机上测试了·测试几天看稳定不稳定,在考虑换掉浪费资源的 lustre ! 环境: storage1:192.168.6.100 storage2:192.168.6.101 tracker:192.168.6.102 1. 在每个机器上,下载安装 FastDFS nginx $> wget http://fastdfs.googlecode.com/fi

  • Python3与fastdfs分布式文件系统如何实现交互

    一.先配置好自己的分布式文件系统 参考另一篇文章: https://www.jb51.net/article/189283.htm 二.安装第三方库py3Fdfs pip install py3Fdfs 三.实际应用,参考文档 https://pypi.org/project/py3Fdfs/ from fdfs_client.client import get_tracker_conf, Fdfs_client # client.conf配置文件路径 conf = get_tracker_co

  • Centos7配置fastdfs和nginx分布式文件存储系统实现过程解析

    1.安装libfastcommon-1.0.43,安装包可以在大佬的https://github.com/happyfish100/libfastcommon/releases下载 [root@localhost Downloads]# tar -zxvf libfastcommon-1.0.43.tar.gz # 解压后进入目录进行编译并安装 [root@localhost libfastcommon-1.0.43]#cd libfastcommon-1.0.43 [root@localhos

  • springboot2.0如何通过fastdfs实现文件分布式上传

    这篇文章主要介绍了springboot2.0如何通过fastdfs实现文件分布式上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 引入依赖 在父工程中,我们已经管理了依赖,版本为: <fastDFS.client.version>1.26.7</fastDFS.client.version> 因此,这里我们直接在工程的pom.xml中引入坐标即可: <dependency> <groupId>com

  • FastDFS分布式文件系统环境搭建及安装过程解析

    FastDFS:分布式文件系统 它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以文件为载体的在线服务,如相册网站.视频网站等等. FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标, 使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. FastDFS服务端有两个角色: 跟踪器(tracker)和存储节点(storage). 跟踪器主要

  • 基于jquery ajax的多文件上传进度条过程解析

    这篇文章主要介绍了基于jquery ajax的多文件上传进度条过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果图 前端代码,基于jquery <!DOCTYPE html> <html> <head> <title>主页</title> <meta name="viewport" content="width=device-width,initia

  • Python FTP文件定时自动下载实现过程解析

    这篇文章主要介绍了Python FTP文件定时自动下载实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.需求: 某数据公司每日15:00~17:00之间,在其FTP发布当日数据供下载,我方需及时下载当日数据至指定本地目录. 二.分析: 1.需实现FTP登陆.查询.下载功能: 解答:使用内置的ftplib模块中FTP类: 2.需判断文件是否下载: 解答:使用os模块中path.exists方法: 3.需判断在指定时间段内才执行下载任

  • Netty分布式ByteBuf使用directArena分配缓冲区过程解析

    目录 directArena分配缓冲区 回到newDirectBuffer中 我们跟到newByteBuf方法中 跟到reuse方法中 跟到allocate方法中 1.首先在缓存上进行分配 2.如果在缓存上分配不成功, 则实际分配一块内存 上一小节简单分析了PooledByteBufAllocator中, 线程局部缓存和arean的相关逻辑, 这一小节简单分析下directArena分配缓冲区的相关过程 directArena分配缓冲区 回到newDirectBuffer中 protected

  • 服务器SVN搭建图文安装过程

    目录 一.首先准备三个软件: 二.安装 一.首先准备三个软件: 1.VisualSVN-Server-3.6.3-x64.msi(svn服务端) 2.TortoiseSVN-1.9.6.27867-x64-svn-1.9.6.msi(svn客户端) 3.LanguagePack_1.9.6.27867-x64-zh_CN.msi(TortoiseSVN 的汉化包) 软件下载地址:http://subversion.apache.org/packages.html 打开网页拉到最后,看到以下的软件

  • 利用rest framework搭建Django API过程解析

    思路步骤: 创建一个可以序列化的类 去数据库取数据交给序列化的类处理 把序列化的数据返回前端 操作流程: # 安装模块 pip install djangorestframework # settings.py配置 1. apps中注册 INSTALLED_APPS = [ '...', 'rest_framework', ] 2.末尾添加以下代码,访问权限 REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` perm

  • vim自动补全插件YouCompleteMe(YCM)安装过程解析

    Vim是全平台上一个高度可拓展的编辑器.它本身只是一个简陋的编辑器,但是因为有各种插件而变得强大.使用Vim编写代码就不免遇到代码补全的问题.常用的代码补全插件有两个:日本人shougo写的neocomplete和前Google工程师Valloric写的YouCompleteMe.用的人比较多的还是YouCompleteMe.YouCompleteMe被称为Vim最难配置的插件,当初配置好YouCompleteMe也是费了九牛二虎之力,印象中是花了整整一个晚上.回报也是显然的,支持定义跳转,变量

  • 基于http.server搭建局域网服务器过程解析

    不知道大家有没有遇到过这样的情况, 在做项目或者研发的时候,迫切想要将一个文件传输给另一台电脑,却找不到U盘,于是麻烦的通过登陆qq.微信等社交软件 ,或者邮箱等工具进行传输,十分麻烦,让人苦恼.都说Python号称无所不能,除了生孩子啥都行!于是小编今天就给大家介绍一种简单的方式来解决这一问题,通过调用Python中的http.server搭建局域网服务器,让这个问题变得So easy ! 1. 一行Python命令一行Python命令如何搭建局域网,其实很简单,我们用了Python里面的一条

  • 基于Python实现大文件分割和命名脚本过程解析

    日志文件分割.命名 工作中经常会收到测试同学.客户同学提供的日志文件,其中不乏几百M一G的也都有,毕竟压测一晚上产生的日志量还是很可观的,xDxD,因此不可避免的需要对日志进行分割,通常定位问题需要针对时间点,因此最好对分割后的日志文件使用文件中日志的开始.结束时间点来命名,这样使用起来最为直观,下面给大家分享两个脚本,分别作分割.命名,希望能够给大家提供一点点帮助: 大文件分割 用法: python split_big_file.py 输入文件全路径名 输入期望的分割后每个小文件的行数 Jus

  • Python HTMLTestRunner库安装过程解析

    安装 HTMLTestRunner 库的方法非常简单,直接 pip 就可以了 pip install html-testRunner 在 https://pypi.org/ 中可以直接搜索到,并且官方还提供了详细的文档,操作起来非常的简单 官方示例代码: import HtmlTestRunner import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('

随机推荐