基于docker容器搭建fastdfs分布式文件系统
本次环境的搭建参考了
https://blog.csdn.net/qq_43455410/article/details/84797814,
感谢博主。
主要流程如下:
1. 下载fastdfs镜像
- docker pull season/fastdfs
2. 创建tracker调度容器
- docker run -ti -d --name tracker -v ~/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs tracker(启动tracker服务器)注:启动这个容器之前请确认22122这个端口没有被占用 ,命令:netstat -aon | gerp 22122
- 记得关闭防火墙 命令:systemctl stop firewalld 与 find / -name selinux 在输入vi /etc/sysconfig/selinux 进入vi界面 按esc键 找到SELINUX=enforcing在按a键把enforcing修改成disabled 在按esc退出编辑模式 然后:wq 保存退出 reboot 重启
3.docker run -tid --name storage -v ~/storage_data:/fastdfs/storage/data -v ~/store_path:/fastdfs/store_path --net=host -e TRACKER_SERVER:服务器ip:22122 season/fastdfs storage(启动Storage 服务器) 注:默认配置的ip地址不会生效需要自己重新配
配置命令:
- docker cp storage:/fdfs_conf/storage.conf ~/ 把storage.conf 拷贝到当前目录
- vi storage.conf 进入vi界面找到tracker_server=服务器ip:22122 编辑ip地址 完成之后:wq保存退出
- docker cp ~/storage.conf storage:/fdfs_conf/ 把修改好的文件拷贝回之前的目录下 在重启一下storage就OK了(重启命令:docker stop storage 关闭 docker start storage 开启)
4.fastdht配置
- docker run -ti -d --name fastdht --net=host manuku/fastdfs-fastdht
- docker start fastdht 启动
- docker exec -it fastdht bash
- docker cp fastdht:/etc/fdht/fdht_servers.conf ~/
编辑fdht_servers.conf里面的数据,如下:
- group_count = 1
- group0 = 服务器ip地址:11411
- docker cp ~/fdht_servers.conf fastdht:/etc/fdht
- docker restart fastdht
- lsof -i:11411 查看11411端口是否开始监听
- docker cp ~/fdht_servers.conf storage:/fdfs_conf/ 复制fastdht配置文件到storage节点
修改storage.conf 一下几个参数
- check_file_duplicate=1
- keep_alive=1
- #include /fdfs_conf/fdht_servers.conf fdht_server的配置文件,两个## 更改为1个#
docker cp storage.conf storage:/fdfs_conf/ 复制存储配置文件到storage容器
docker restart storage
5.安装完成后,尝试文件上传:
- docker exec -it tracker bash
- cd fdfs_conf
- fdfs_upload_file storage.conf test.txt
多次执行3 命令,返回如下:

多次执行,会发现每次返回的文件名称是不同的,进入到文件存储目录下查看结果:


可以看出来,对于同一个文件的重复上送,第一次会存储,其他的保存会以软链的方式指向第一次的存储文件。
搭建完成了,这次没有考虑高可用,等找时间再研究一下。
基于docker容器搭建fastdfs分布式文件系统的更多相关文章
- Linux - 搭建FastDFS分布式文件系统
1. FastDFS简介 说明:FastDFS简介部分的理论知识全部来自于博主bojiangzhou的 <用FastDFS一步步搭建文件管理系统>,在此感谢博主的无私分享.当然最最要感谢的 ...
- 简单搭建FastDFS分布式文件系统(简单易懂)
一.什么是FastDFS FastDFS一个开源的轻量级分布式文件系统,它对文件进行管理,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,功能包括:文件存储.文件同步.文件访 ...
- CentOS 7.2搭建FastDFS 分布式文件系统,实现高可用集群
分布式集群搭建结构 双Tracker 2组Group 轮询存储策略 Keepalived+Nginx高可用 Nginx缓存 4个存储节点 一. 集群规划清单 1.安装清单 软件名称 版本 百度云盘存放 ...
- 基于 docker容器搭建机器学习环境
下载docker镜像 docker pull ubuntu:18.04 进入ubuntu系统命令 docker run -ti ubuntu /bin/bash 正确退出系统方式 先按,ctrl+p ...
- 07.Linux系统-Fastdfs分布式文件系统-互为主从配置搭建部署
Fastdfs分布式文件系统-互为主从配置部署 1.安装基础依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl ...
- FastDFS分布式文件系统
FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...
- FastDFS 分布式文件系统部署实战及基本使用
FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...
- CentOS7 安装FastDFS分布式文件系统
CentOS7 安装FastDFS分布式文件系统 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家 ...
- django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除
运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...
随机推荐
- jQuery判断一个元素是否为另一个元素的子元素(或者其本身)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head& ...
- CF993E Nikita and Order Statistics 多项式卷积 快速傅里叶变换
题意: 给你一个数组a1~an,对于k=0~n,求出有多少个数组上的区间满足:区间内恰好有k个数比x小.x为一个给定的数.n<=10^5.值域没有意义. 分析: 大神们都说这道题是一个套路题,真 ...
- POJ-3190-分配畜栏
这个题首先,我们需要注意的是它的时间是一秒,其中还包括了你读入数据的时间,因为cin我写的时候没有解除绑定,所以直接超时,我们直接用scanf函数读入50000组数据好了. 然后就是poj交的时候,如 ...
- [LOJ] 分块九题 5
区间开平方,区间查询. lazy标记改为区间是否全是1或者0,这样的区间是没有更新价值的. //Stay foolish,stay hungry,stay young,stay simple #inc ...
- Objective-C-------(1)创建并使用对象
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- 集合框架学习之List接口
Java语言的java.util包中提供了一些集合类,这些集合类又被称为容器.用来完善数组的不足之处.集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的:数组用来存放基本类型的数据,集合 ...
- 基于 WPF + Modern UI 的 公司OA小助手 开发总结
前言: 距离上一篇博客,整整一个月的时间了.人不能懒下来,必须有个阶段性的总结,算是对我这个阶段的一个反思.人只有在总结的过程中才会发现自己的不足. 公司每天都要在OA系统上上班点击签到,下班点击签退 ...
- python3--shelve 模块
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式 import shelve d = shelve.open('shelve_t ...
- Oracle中的特殊判式
Oracle中的特殊判式 除了逻辑运算之外,Oracle提供了一些特殊判式.这些判式可以用来生成更加复杂和灵活的查询条件.本节将着重介绍以下几种判式. Between: 取值范围 In: 集合成员测试 ...
- 腾讯云CVM使用记录--使用root权限
1.su root 指令 ,执行下列命令获取root权限: sudo /bin/su - root 注意:严禁执行password命令,root密码默认不能被修改.