基于docker容器搭建fastdfs分布式文件系统

Posted liuqxfuture

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于docker容器搭建fastdfs分布式文件系统相关的知识,希望对你有一定的参考价值。

本次环境的搭建参考了

https://blog.csdn.net/qq_43455410/article/details/84797814,

感谢博主。

主要流程如下:

  1. docker pull season/fastdfs (下载镜像)
  2. docker run -ti -d --name tracker -v ~/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs tracker(启动tracker服务器)注:启动这个容器之前请确认22122这个端口没有被占用 ,命令:netstat -aon | gerp 22122
  3. 记得关闭防火墙 命令: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地址不会生效需要自己重新配
配置命令:
(1)docker cp storage:/fdfs_conf/storage.conf ~/ 把storage.conf 拷贝到当前目录
(2)vi storage.conf 进入vi界面找到tracker_server=服务器ip:22122 编辑ip地址 完成之后:wq保存退出
(3)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

安装完成后,尝试文件上传:

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

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

  技术图片

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

  技术图片

技术图片

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

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

以上是关于基于docker容器搭建fastdfs分布式文件系统的主要内容,如果未能解决你的问题,请参考以下文章

Docker 搭建FastDFS文件系统

docker 搭建fastDFS

Docker + FastDFS + Spring Boot 一键式搭建分布式文件服务器

docker搭建fastdfs环境

docker环境下docker-compose一键式搭建fastdfs文件存储服务系统

FastDFS+docker建立分布式文件系统