本次环境的搭建参考了

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.安装完成后,尝试文件上传:

  1. docker exec -it tracker bash
  2. cd fdfs_conf
  3. fdfs_upload_file storage.conf  test.txt

多次执行3 命令,返回如下:

  

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

  

可以看出来,对于同一个文件的重复上送,第一次会存储,其他的保存会以软链的方式指向第一次的存储文件。

搭建完成了,这次没有考虑高可用,等找时间再研究一下。

基于docker容器搭建fastdfs分布式文件系统的更多相关文章

  1. Linux - 搭建FastDFS分布式文件系统

    1. FastDFS简介 说明:FastDFS简介部分的理论知识全部来自于博主bojiangzhou的 <用FastDFS一步步搭建文件管理系统>,在此感谢博主的无私分享.当然最最要感谢的 ...

  2. 简单搭建FastDFS分布式文件系统(简单易懂)

    一.什么是FastDFS FastDFS一个开源的轻量级分布式文件系统,它对文件进行管理,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,功能包括:文件存储.文件同步.文件访 ...

  3. CentOS 7.2搭建FastDFS 分布式文件系统,实现高可用集群

    分布式集群搭建结构 双Tracker 2组Group 轮询存储策略 Keepalived+Nginx高可用 Nginx缓存 4个存储节点 一. 集群规划清单 1.安装清单 软件名称 版本 百度云盘存放 ...

  4. 基于 docker容器搭建机器学习环境

    下载docker镜像 docker pull ubuntu:18.04 进入ubuntu系统命令 docker run -ti ubuntu /bin/bash 正确退出系统方式 先按,ctrl+p ...

  5. 07.Linux系统-Fastdfs分布式文件系统-互为主从配置搭建部署

    Fastdfs分布式文件系统-互为主从配置部署 1.安装基础依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl ...

  6. FastDFS分布式文件系统

    FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...

  7. FastDFS 分布式文件系统部署实战及基本使用

    FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...

  8. CentOS7 安装FastDFS分布式文件系统

    CentOS7 安装FastDFS分布式文件系统 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家 ...

  9. django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

    运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...

随机推荐

  1. hdu3404 Switch lights

    题目描述 题解: 首先,由$SG$定理得SG(x,y)=mex(SG(x',y)^SG(x,y')^SG(x',y'))(x'<x,y'<y) 这里的$SG(x,y)$叫$Nim$积. $ ...

  2. N皇后递归

    问题: n皇后问题:输入整数n, 要求n个国际象棋的皇后,摆在 n*n的棋盘上,互相不能攻击,输出全部方案. #include <iostream> using namespace std ...

  3. Go:sync.Once 实现单例模式

    代码: package main import ( "fmt" "sync" ) type Singleton struct{} var singleton * ...

  4. Go:文件操作

    一.打开文件和关闭文件 os包File结构体的两个方法: func Open(name string) (file *File, err error) Open打开一个文件用于读取.如果操作成功,返回 ...

  5. Python能干啥?

    Python之py9 Python之py9-录音自动下载 Python之py9-py9作业检查 Python之py9-py9博客情况获取 Python之py9-微信监控获取mp3_url Python ...

  6. 【HIHOCODER 1469 】福字(DP)

    描述 新年到了,你收到了一副画.你想找到里面最大的福字. 一副画是一个n × n的矩阵,其中每个位置都是一个非负整数. 一个福字被定义成是大小为 k 的正方形,满足其中的每个位置上的数都恰好比他的左边 ...

  7. Haybale Stacking(差分数组 + 求中位数的一些方法 + nth_element)

    题意: 给定N个初始值为0的数, 然后给定K个区间修改(区间[l,r] 每个元素加一), 求修改后序列的中位数. 分析: K个离线的区间修改可以使用差分数组(http://www.cnblogs.co ...

  8. python常用函数 C

    1. Counter(hashable) 直接使用统计可哈希元素每个元素的数量. 2. most_common:可以统计数量最多的n个元素. from collections import Count ...

  9. 大数据学习——装私服nexus

    (一)安装 解压之后 进入bin文件夹下 复制路径 D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin 进入命令行窗口输入以下命令,安装成功 ...

  10. 大数据学习——linux常用命令(四)

    四 查到命令 1 查找可执行的命令所在的路径 which ls 查ls命令所在的路径 2 查找可执行的命令和帮助的位置 whereiis ls 3 从某个文件夹开始查找文件 find / -name ...