docker下搭建fastfds集群版
搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频
声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成了镜像。
如对fastfds搭建流程不熟悉者,需先参阅之前的文章。点击进入文章
首先借鉴一个公众号的两张图来说明一下 fastfds 上传下载的流程,公众号为 "Java架构师之路"
我搭建的思路是,两个tracker、四个storage,然后通过nginx进行反向代理访问图片。
下面演示搭建步骤
先配置几个虚拟ip
运行上次打包的镜像,创建docker容器
docker run --privileged=true -itd -v /soft/:/back -p 192.168.46.230:80:80 -p 192.168.46.230:22122:22122 -p 192.168.46.230:8080:8080 529c212ff162 /bin/bash
进入容器
docker exec -it 0d581e092e1d /bin/bash
(一)tracker
集群版中 配置 tracker 修改tracker.conf文件
# cd /etc/fdfs/
# vi tracker.conf
修改 store_lookup=2 (0代表轮询,1代表固定group,2代表负载均衡)
启动 tracker
# service fdfs_trackerd start
查看一下
# netstat -unltp | grep fdfs
备用 tracker 进行相同操作
(二)storage
配置storage的配置文件
# cd /etc/fdfs/
# vi storage.conf
修改tracker_server
配置group_name 我的是两个1两个2
把主备两个tracker都配置上
tracker_server=172.17.0.34:22122
tracker_server=172.17.0.36:22122
修改/etc/fdfs/目录下的mod_fastdfs.conf
connect_timeout=10
tracker_server 主备两个都要配置 且更改 group_count = 2
我是设置了两个组 每个组两个storage
再配置group1和group2
修改nginx配置文件
# cd /usr/local/nginx/conf/
# vi nginx.conf
listen 8888; 由于storage的端口号为8888 所以这里要修改
如果是group2的话 需要修改group2
修改完以后 保存退出
将刚刚配置好的storage容器 打包成镜像
docker commit f790145a83a2 storage:v1
然后依旧是端口号映射、硬盘挂载创建容器,注意要更改ip地址,然后用新打包好的镜像
docker run --privileged=true -itd -v /soft/:/back -p 192.168.46.235:80:80 -p 192.168.46.235:23000:23000 -p 192.168.46.235:8888:8888 cea52388dba7 /bin/bash
注意 这里的 端口号 做了 修改
安装好以后 进入容器。 直接启动 storage服务 和 nginx 服务就行了
然后继续 安装 容器
这次进入以后 将 storage.conf 和 mod_fastdfs.conf 中的 groupname 修改为 group2
storage.conf
mod_fastdfs.conf
nginx 的配置文件 也要修改
再 启动 storage 服务 和 nginx 服务
然后再 安装一个容器 同上
安装并配置完以后
在cd /usr/bin 这个 文件夹下面 有很多可执行的脚本。
我们通过fdfs_monitor /etc/fdfs/storage.conf 命令
可以查看到 以下内容
再往下 可以看到 分别有哪些组,每个组里有哪些storage 以及这些storage的状态
(三) 测试一下
进入 主 tracker 也就是 第一个配置的那个 tracker
修改 /etc/fdfs/client/conf 文件
# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /back/3.jpg
添加路由
复制地址,输入端口号 8888 可以访问
通过linux的ip也可以访问
由于我这个是group2,那么group2中的另一个 storage中应该也存放了该图片
上传虽然能成功 但是访问的时候IP都不同 所以访问起来很不方便 可以再用一个nginx做一个反向代理
# cd /usr/local/nginx/conf/
# vi nginx.conf
启动 nginx
就可以通过 nginx 的ip地址 加上后面的 路径 访问图片了
---------------------
作者:苝花向暖丨楠枝向寒
来源:CSDN
原文:https://blog.csdn.net/weixin_40247263/article/details/81087726
版权声明:本文为博主原创文章,转载请附上博文链接!
docker下搭建fastfds集群版的更多相关文章
- 在centos7使用docker下搭建elasticsearch集群
一 .docker的安装 https://www.cnblogs.com/ghostdot/p/12410242.html 二.创建相关映射文件 cd /home/ mkdir node cd nod ...
- Linux下搭建tomcat集群全记录(转)
本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...
- Windows下搭建Redis集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...
- Redis集群搭建(转自一菲聪天的“Windows下搭建Redis集群”)
配置Redis参考:http://blog.csdn.net/zsg88/article/details/73715947 使用Ruby配置集群参考:https://www.cnblogs.com/t ...
- Windows下 搭建redis集群
Windows下搭建redis集群教程 一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主 ...
- windows环境下搭建Redis集群
转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...
- Linux下搭建tomcat集群全记录
(转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...
- Windows下搭建REDIS集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...
- docker下搭建fastfds
https://blog.csdn.net/weixin_40247263/article/details/81087726 搭建过程参考 作者 https://me.csdn.net/feng_qi ...
随机推荐
- 网口扫盲二:Mac与Phy组成原理的简单分析(转)
1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分 ...
- UBUNTU 测试跑分
time echo "scale=5000; 4*a(1)" | bc -l -q3.14159265358979323846264338327950288419716939937 ...
- tf.trainable_variables() and tf.all_variables()
tf.trainable_variables() 返回的是 所有需要训练的变量列表 tf.all_variables() 返回的是 所有变量的列表 v = tf.Variable(0, name=' ...
- ios中字典转模型的创建以及简单用法
// appModel.h // Created by zzqqrr on 17/8/19. // #import <Foundation/Foundation.h> @interface ...
- WHID Injector:将HID攻击带入新境界
HID Attack是最近几年流行的一类攻击方式.HID是Human Interface Device的缩写,意思是人机接口设备.它是对鼠标.键盘.游戏手柄这一类可以操控电脑设备的统称. 由于电脑对这 ...
- Ubantu-Nginx部署
nginx+uwsgi+django部署流程 当我们在用django开发的web项目时,开发测试过程中用到的是django自带的测试服务器,由于其安全及稳定等性能方面的局限性,django官方并不 ...
- G++ C++之区别
1.遇到精度用C++ 2.G++内存超限,C++过了 其他都用G++
- linux 安装crontab执行定时任务
转载:https://www.cnblogs.com/xiaoluo501395377/archive/2013/04/06/3002602.html http://yangqijun.iteye.c ...
- 前端笔记 (3.JavaScript 2)
一般来说,js代码越来越庞大的时候,最好要把它存在一个js文件中, 通过src引入即可,这样具有维护性高,可缓存(加载一次,无需加载) 方便未来拓展的特性 正确写法: <script type= ...
- JS之计时器
JavaScript 计时事件 通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.我们称之为计时事件. 在 JavaScritp 中使用计 ...