FastDFS使用中的几个常见问题

2023-11-03

FastDFS使用中的几个常见问题

本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号。

1. FastDFS适用的场景以及不适用的场景

FastDFS 是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储图片、音频、视频、文档等文件。对于互联网应用,简洁高效的 FastDFS 和其他分布式文件系统相比,优势非常明显。具体情况大家可以查阅相关介绍文档,如:FastDFS架构设计文档等等。

出于简洁考虑,FastDFS 没有对文件做分块存储,因此不太适合分布式计算场景。

2. 服务器时间必须保持一致

因为 FastDFS 的精巧设计不需要存储文件索引,FastDFS 通过比较时间戳来判断文件是否同步完成。因此集群内的服务器时间要保持一致,各台服务器的时间差值不要超过 1 秒。建议采用 NTP 对时服务。

3. too many open files 错误解决方法

日志中报打开文件过多的错误,是因为系统允许一个进程打开的文件数设置太小了。Linux环境下的解决办法,修改文件 /etc/security/limits.conf,在文件尾部添加如下代码(如果已经存在则修改相应数值):

root soft nofile 65535

root hard nofile 65535

 * soft nofile 65535

 * hard nofile 65535

注: 只配置最后两行不就可以了吗,为啥还要单独为 root 用户配置呢?查了网上资料,说是*这样的通配符对 root 用户无效,所以 root 需要单独配置(嗯,阿里云ECS就配置了上面这4行)。

4. FastDFS服务启停

FastDFS server 程序自带 startstoprestart 指令,命令行示例如下:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf  [start | stop | restart]

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf  [start | stop | restart]

可以使用 kill 或者 killall 正常杀掉 fdfs_trackerdfdfs_storaged 进程,但千万不要加上 -9 参数强杀,否则可能会导致 binlog 数据丢失等问题。

5. FastDFS支持断点续传吗?

上传和下载文件均可支持。

5.1 文件上传

对于文件上传,需要先上传 appender 类型的文件,然后使用 apend 方法。

如果要上传超过 1GB 的大文件,建议采用 append 方式分多次上传,比如每次上传 64MB。需要先创建 appender 类型的文件,可以创建空的 appender 文件。

对于超大文件,如果想支持多线程上传以加快上传速度,可以采用如下3个步骤实现:

(1)上传 appender 类型的文件;
(2)调用 truncate 方法将该 appender 文件设置为最终文件大小;
(3)调用 modify 方法并发上传文件分片。

5.2 文件下载

对于文件下载,FastDFS可以指定文件偏移量和获取的文件内容大小。利用这个特性,文件下载可以实现断点续传以及多线程下载。

6. Java SDK非线程安全

FastDFS 提供的 Java SDK 是非线程安全的,有人已经踩过这个坑了。包括负责与 tracker server 交互的 TrackerClient、与 storage server 直接通信的StorageClientStorageClient1 这三个类均是非线程安全的。

为啥会出现两个 StorageClient 字样的类名呢?二者实现功能完全一样, StorageClientgroupfilename 分离的用法,StorageClient1groupfilename 合体用法(文件ID)。通常使用 StorageClient1 就好。

总结

大家在部署和使用 FastDFS 的过程中有任何疑问,欢迎在FastDFS QQ群或微信公众号交流。我可以根据大家的反馈和交流结果,继续整理 FastDFS 常见问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FastDFS使用中的几个常见问题 的相关文章

  • com.github.tobato.fastdfs.exception.FdfsServerException: 错误码:2,错误信息:找不到节点或文件

    我的原因是因为docker中Tracker没有启动起来 xff0c 重新启动后系统正常
  • 阿里云服务器搭建fastdfs

    fastdfs安装介绍 环境准备 本人的阿里云服务器CentOS Linux release 7 9 2009 Core 版本 xff08 通过命令cat etc redhat release查看自己的Linux版本信息 xff09 过程中
  • FastDFS 搭建与客户端编写

    FastDFS 搭建与客户端编写 文件服务器 服务器搭建 https github com qbanxiaoli fastdfs 客户端编写 依赖 span class token tag span class token tag span
  • C++文件服务器项目—FastDFS—1

    C 43 43 文件服务器项目 FastDFS 1 前言1 项目架构2 分布式文件系统2 1 传统文件系统2 2 分布式文件系统 3 FastDFS介绍3 1 fdfs概述3 2 fdfs框架中的三个角色3 3 fdfs三个角色之间的关系3
  • FastDFS是如何解决数据一致性问题的?

    FastDFS是如何解决数据一致性问题的 本篇文章转载于 FastDFS 作者 余庆 大佬的 FastDFS分享与交流 公众号 保证数据一致性是分布式系统面临的最大难题 尤其是要做到数据强一致性 FastDFS 作为一款分布式文件系统 是如
  • 腾讯云服务器ubuntu18.04搭建FastDFS文件服务器

    腾讯云服务器ubuntu18 04搭建FastDFS文件服务器 FastDFS简介 FastDFS是用c语言编写的一款开源的分布式文件系统 FastDFS为互联网量身定制 充分考虑了冗余备份 负载均衡 线性扩容等机制 并注重高可用 高性能等
  • docker安装fastdfs

    1 搜索fastdfs docker search fastdfs 2 拉取镜像 docker pull morunchang fastdfs 3 运行tracker docker run d name tracker net host m
  • 分布式文件系统 - FastDFS 在UBUNTU下安装

    分布式文件系统 FastDFS 在 CentOS 下配置安装部署 按照该博主的介绍 大部分安装操作正常 只是在创建软连接的时候报错 所以只好用笨办法启动和关闭 启动tracker usr bin fdfs trackerd etc fdfs
  • Springboot 封装Fastdfs 功能模块

    整体项目结构 第一步 BuleSky 的pom xml 文件
  • fastdfs特点

    FastDFS是一个开源的轻量级分布式文件系统 它对文件进行管理 功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的问题 特别适合以文件为载体的在线服务 如相册网站 视频网站等等 FastDFS为互
  • 已安装的nginx,添加新模块fastdfs-nginx-module

    1 先看nginx的安装位置和运行目录 不清楚的可以使用命令查看 find name nginx 2 确定安装目录和运行目录后 查看当前nginx的安装路径及已安装的模块等信息 usr local nginx sbin nginx V 3
  • FastDFS安全注意事项

    FastDFS安全注意事项 本篇文章转载于 FastDFS 作者 余庆 大佬的 FastDFS分享与交流 公众号 对于互联网应用 FastDFS 的标准使用姿势 通过 FastDFS API 进行文件上传等更新操作 storage serv
  • Ubuntu下安装并配置FastDFS

    FastDFS是一个开源的轻量级分布式文件系统 它对文件进行管理 功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的问题 特别适合以文件为载体的在线服务 如相册网站 视频网站等等 FastDFS的项
  • 使用docker部署fastdfs集群版

    一 前言 本文档说明在node01和node02两台主机上安装部署FastDFS双节点 node01 ip 198 168 1 121 安装tracker1 storage1 node02 ip 198 168 1 122 安装tracke
  • ubuntu 安装Fastdfs

    安装fastdfs依赖插件libfastcommon 下载 https github com happyfish100 libfastcommon archive V1 0 39 tar gz 创建 usr local software 目
  • FastDFS的Tracker及Storage节点添加及删除

    1 增加Storage节点 通过配置 自动加入 1 安装Storage并配置mod fastdfs conf及storage conf 设置fdfs storaged及nginx自启动 2 启动新加的storage节点 会自动同步相同gro
  • FastDFS文件同步机制简介

    FastDFS文件同步机制简介 本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号 FastDFS 文件同步采用 binlog 异步复制方式 storage server 使用 binlog 文件记录文件上传
  • 热敏电阻测温

    热敏电阻器主要分为 PTC 和 NTC 正温度系数热敏电阻器 PTC 在温度越高时电阻值越大 负温度系数热敏电阻器 NTC 在温度越高时电阻值越低 它们同属于半导体器件 测温的热敏电阻一般为NTC 其主要参数有以下几个 标称阻值 标称阻值是
  • fastdfs-client使用教程

    FastDfs客户端使用文档 fastdfs client支持框架 fastdfs client目前支持的框架有springboot1 x springboot2 x springmvc 添加fastdfs client依赖 springb
  • FastDFS storage服务器安装Nginx

    环境准备 操作系统 Centos 服务器 192 168 60 165 storage服务器 软件包 fastdfs nginx module 1 20 tar gz nginx 1 14 0 tar gz 软件包下载地址 待补充 第一步

随机推荐

  • gflags简单应用

    描述 一些利用gflag的小代码 参考文章https www cnblogs com myyan p 4798679 html 代码 gflags ParseCommandLineFlags argc argv false 用于解析命令行参
  • MyBatis之insert——主键自增和自定义主键

    一 实现描述 我们在写程序时 时常会遇到这样的问题 插入一条数据 但因有主键的存在 而有时候会报 违反唯一性约束 的错误 下面呢 我们就来利用MyBatis来解决这个问题 二 此文使用的数据库为MySQL 如需要使用其他数据库 请做适当更改
  • day_01_Spring_IOC(1~24)

    Spring spring 核心组成部分 IOC AOP 轻量级 依赖包少 开源 框架 IOC 控制反转 将创建对象的操作交给Spring AOP 面向切面 不修改源码实现功能的拓展 Spring的优点 通过IOC解耦 简化开发 支持AOP
  • 大厂面试快问快答,10分钟搞定MySQL夺命20问,你都能接住吗?

    号外号外 死磕 Java 并发编程 系列连载中 大家可以关注一波 死磕 Java 并发编程05 阿里面试失败后 一气之下我图解了Java中18把锁 死磕 Java 并发编程04 说说Java Atomic 原子类的实现原理 死磕 Java
  • = =和equals的区别是什么

    一 Java基础 和equals的区别是什么 该问题是Java中最基本的小白问题 但是很多人不去注意 就会导致之后编写代码的时候出现一些最基本的错误 却总是找不到错误来源 其实很简单 只要了解了之后就会觉得 哎呦 一般般了 在Java中是操
  • Burpsuite的抓包过程

    学习笔记 Burpsuite的抓包过程 原理 web数据包 gt burpsuite gt 服务器 cycle 数据的请求和响应过程 web端用户请求 服务端数据响应称之为一个cycle Burpsuite抓包需要和浏览器接通 配置浏览器的
  • VMware虚拟机(v17)安装macOS Monterey图文教程(超详细)

    说起虚拟机安装macOS 其实也挺简单的 但对于大多数没接触过Mac系统的朋友来说 可能不知道从何入手 今天就给大家出一个最详细的图文安装教程 我们选择安装的是macOS的Monterey版 其它版本安装也一样 第一步 虚拟机的选择 目前在
  • Java 重写:使用方法重写实现多态性

    Java 重写 使用方法重写实现多态性 在Java编程中 方法重写是一种实现多态性的重要方式 方法重写允许子类重新定义父类中已经声明的方法 并且在运行时根据对象的实际类型来调用相应的方法 这篇文章将详细介绍Java中方法重写的概念 语法和使
  • 合宙Air103

    基础资料 基于Air103开发板 Air103 LuatOS 文档 上手 开发上手 LuatOS 文档 探讨重点 对官方DISP OLED demo中功能的复现 进行相关内容的学习及探讨 实现功能 功能 lua快速驱动0 96寸OLED i
  • 【目标检测 Object Detection】从YOLO v1 到 YOLO v3 算法总结

    文章目录 0 前言 1 YOLO v1 1 1 整体算法 1 2 特点 1 3 总结 2 YOLO v2 2 1 整体算法 2 2 特点 2 3 总结 3 YOLO v3 3 1 整体算法 3 2 特点 3 3 总结 0 前言 YOLO系列
  • 如何防止以及解决别人域名恶意解析到主机ip

    如何防止以及解决别人域名恶意解析到主机ip 恶意解析 是指有人通过域名A记录直接解析别人IP地址 从而得到一个在访问者眼中完全相同网站 也会造成搜索引擎收录别人的域名主要被称作 PR劫持 恶意网站镜像 恶意克隆 恶意解析域名到自己的服务器等
  • 新星计划【Java微服务+云原生】赛道开启!

    前排提醒 这里是新星计划2023 微服务 云原生 学习方向的报名入口 一经报名 不可更换 报名入口 新星计划2023 微服务 云原生 学习方向报名入口 CSDN社区 一 关于本学习方向导师 博客昵称 鹤冲天Pro 博客主页 鹤冲天Pro的博
  • Unity 模型执行完动作总回到原位的问题-解决方法

    1 首先在模型的Animator组件中勾上 应用根运动 把更新模式改成 Animate Physics 把剔除模式改成 剔除更新变换 2 设置原本动画文件的烘焙动作选项 以根变换旋转下的烘焙为例 若勾上 则效果为 模型物体不会随着动画改变旋
  • 【小生作品展】xxx物联管理系统(原型)

    一 背景 xxx物联管理系统 原型 为小生的一个软件原型作品 对物联网管理系统的架构和组成做了一个简单的抽象 该作品诞生于2020的春节期间 看来只有闲的时候战斗力才强啦 哈哈 使用Qt完成其原型的设计和开发 有以下特点 1 带有一个侧边导
  • 电脑上怎么设置自动按某个键_五个电脑技术小常识,你值得拥有!

    对于一般用户而言 位于键盘左上方的ESC键并不常用 但你知道吗 其实借助ESC键还能实现不少快捷操作哦 1 上网时 如果点错了某个网址 直接按ESC键即可停止打开当前网页 2 上网时总免不了要填写一些用户名什么的 如果填错了 按ESC键即可
  • Lintcode 464. 整数排序 II 归并排序递归与非递归实现 java

    实现思路 https blog csdn net morewindows article details 6678165 OJ链接 https www lintcode com problem sort integers ii descri
  • 如何修改Tomcat默认端口号

    问题描述 众所周知Tomcat的默认端口号是8080 如何修改这个默认的端口号呢 实现步骤 下面以8081端口号为例 将Tomcat的端口号进行修改 一 修改Tomcat端口号 步骤如下 1 先找到conf文件夹 2 打开server xm
  • AttributeError: module ‘safetensors‘ has no attribute ‘torch‘

    问题 AttributeError module safetensors has no attribute torch 环境 Python3 10 Conda 解决方法 在safetensors包的 init py文件中加入如下 from
  • UE4 C++变量的声明,简单的位置获取,和设置位置

    UE4 C 变量的声明 简单的位置获取 和设置位置 pragma once include CoreMinimal h include GameFramework Actor h include MyActor generated h UC
  • FastDFS使用中的几个常见问题

    FastDFS使用中的几个常见问题 本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号 1 FastDFS适用的场景以及不适用的场景 FastDFS 是为互联网应用量身定做的一套分布式文件存储系统 非常适合用来