fastdfs简介

一、docker部署fastdfs

fastdfs 的Dockerfile

FROM centos:7LABEL maintainer "luhuiguo@gmail.com"ENV FASTDFS_PATH=/opt/fdfs \FASTDFS_BASE_PATH=/var/fdfs \PORT= \GROUP_NAME= \TRACKER_SERVER=#get all the dependences
RUN yum install -y git gcc make#create the dirs to store the files downloaded from internet
RUN mkdir -p ${FASTDFS_PATH}/libfastcommon \&& mkdir -p ${FASTDFS_PATH}/fastdfs \&& mkdir ${FASTDFS_BASE_PATH}#compile the libfastcommon
WORKDIR ${FASTDFS_PATH}/libfastcommonRUN git clone --branch V1.0.36 --depth 1 https://github.com/happyfish100/libfastcommon.git ${FASTDFS_PATH}/libfastcommon \&& ./make.sh \&& ./make.sh install \&& rm -rf ${FASTDFS_PATH}/libfastcommon#compile the fastdfs
WORKDIR ${FASTDFS_PATH}/fastdfsRUN git clone --branch V5.11 --depth 1 https://github.com/happyfish100/fastdfs.git ${FASTDFS_PATH}/fastdfs \&& ./make.sh \&& ./make.sh install \&& rm -rf ${FASTDFS_PATH}/fastdfsEXPOSE 22122 23000 8080 8888
VOLUME ["$FASTDFS_BASE_PATH", "/etc/fdfs"]   COPY conf/*.* /etc/fdfs/COPY start.sh /usr/bin/#make the start.sh executable
RUN chmod 777 /usr/bin/start.shENTRYPOINT ["/usr/bin/start.sh"]
CMD ["tracker"]

1、创建docker-compose.yml

version: '3.0'
services:tracker:container_name: trackerimage: luhuiguo/fastdfsrestart: alwayscommand: tracker # 覆盖容器启动后默认执行的命令, 支持 shell 格式和 [] 格式network_mode: host # 指定网络模式 (等同于 docker run --net 的作用, 在使用 swarm 部署时将忽略该选项)volumes:   - /var/fdfs/tracker:/var/fdfs    storage0:container_name: storage0image: luhuiguo/fastdfsrestart: alwayscommand: storagenetwork_mode: host  environment: # 设置环境变量, environment 的值可以覆盖 env_file 的值 (等同于 docker run --env 的作用)- TRACKER_SERVER=10.1.5.85:22122volumes: - /var/fdfs/storage0:/var/fdfs# storage1:#   container_name: storage1#   image: luhuiguo/fastdfs#   command: storage#   network_mode: host  #   environment:#     - TRACKER_SERVER=10.1.5.85:22122#   volumes: #     - /var/fdfs/storage1:/var/fdfs#  storage2:#   container_name: storage2#   image: luhuiguo/fastdfs#   command: storage#   network_mode: host  #   environment:#     - TRACKER_SERVER=10.1.5.85:22122#     - GROUP_NAME=group2#     - PORT=24000#   volumes: #     - /var/fdfs/storage2:/var/fdfs

注:docker exec -it tracker sed -i ‘s/192.168.0.197/192.168.180.35/g’ /etc/fdfs/client.conf #不用运行这个语句

2、查看配置

docker exec -it tracker fdfs_monitor /etc/fdfs/client.conf

3、验证
进入任意一个storage容器内上传一个文件

root@localhost:/# echo hello>a.txt
# 上传一个文件
/root@localhost:/# usr/bin/fdfs_test /etc/fdfs/client.conf upload a.txt
This is FastDFS client test program v5.11Copyright (C) 2008, Happy Fish / YuQingFastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.[2019-11-13 09:16:54] DEBUG - base_path=/var/fdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0tracker_query_storage_store_list_without_group:server 1. group_name=, ip_addr=192.168.180.46, port=23000group_name=group1, ip_addr=192.168.180.46, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568.txt
source ip address: 192.168.180.46
file timestamp=2019-11-13 09:16:54
file size=6
file crc32=1998380320
example file url: http://192.168.180.46/group1/M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568.txt
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568_big.txt
source ip address: 192.168.180.46
file timestamp=2019-11-13 09:16:54
file size=6
file crc32=1998380320
example file url: http://192.168.180.46/group1/M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568_big.txt

查看本地文件的位置
http://192.168.180.46/group1/M00/00/00/wKi0Ll3bji6AKxJiAAAABncc3SA697_big.txt

[root@localhost ~]# cd /var/fdfs/storage0/data/00/00/wKi0Ll3bji6AKxJiAAAABncc3SA697_big.txt

二、kubernetes部署fastdfs

1、创建命名空间
vim my-namespace.yaml

apiVersion: v1
kind: Namespace
metadata:# 创建命名空间的名name: fenglonglabels:name: fenglong-test

2、创建tracker服务
vim tracker-deploy.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: tracker-deploy222# 指定命名空间namespace: fenglonglabels:name: tracker111
spec:replicas: 1template:metadata:labels:app: tracker-deployspec:nodeSelector:# 选择node的labels(用来指定服务起在哪台服务器上)fastdfs: "tracker"# k8s正确、优雅地关闭应用,等待时间30秒terminationGracePeriodSeconds: 2containers:- name: trackerimage: luhuiguo/fastdfsimagePullPolicy: Alwaysports:- containerPort: 22122- containerPort: 23000- containerPort: 8080- containerPort: 8888volumeMounts:- name: tracker-volumemountPath: /var/fdfscommand: ["/usr/bin/start.sh","tracker"]volumes:- name: tracker-volumehostPath:path: /home/data/fastdfs/tracker

3、创建tracker-service
vim tracker-service.yaml

apiVersion: v1
kind: Service
metadata:#service的服务名name: tracker-servicelabels:app: trackernamespace: fenglong
spec:selector:app: tracker-deploytype: NodePort# 指定ipclusterIP: 10.96.0.111ports:- name: "22122"port: 22122targetPort: 22122protocol: TCP- name: "23000"port: 23000targetPort: 23000protocol: TCP- name: "8080"port: 8080targetPort: 8080protocol: TCP- name: "8888"port: 8888targetPort: 8888protocol: TCP

4、创建storage服务连接tracker
vim storage-deploy.yaml

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: storage0-deploy222namespace: fenglonglabels:name: storage0-deploy111
spec:replicas: 1template:metadata:labels:app: storage0spec:nodeSelector:fastdfs: "storage0"terminationGracePeriodSeconds: 2containers:- name: storage0image: luhuiguo/fastdfsimagePullPolicy: Alwaysports:- containerPort: 22122- containerPort: 23000- containerPort: 8080- containerPort: 8888volumeMounts:- name: storage0-volumemountPath: /var/fdfsenv:- name: TRACKER_SERVER# 通过固定的ip连接trackervalue: 10.96.0.111:22122# 通过service 连接tracker#value: tracker-service.fenglong:22122command: ["/usr/bin/start.sh","storage"]volumes:- name: storage0-volumehostPath:path: /home/data/fastdfs/storage0

注意:
1、nodeSelector根据 label 指定pod起在哪台机器上,根据自身所需进行修改
2、注意集群中不同node网络是否相通
storage.conf配置文件
tracker.conf配置文件
luhuiguo/fastdfs镜像参考
season/fastdfs镜像参考
其他参考1

docker、kubernetes安装部署fastdfs文件集群系统相关推荐

  1. docker-compose、kubernetes安装部署fastdfs文件集群系统

    fastdfs简介 一.docker部署fastdfs fastdfs 的Dockerfile FROM centos:7LABEL maintainer "luhuiguo@gmail.c ...

  2. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  3. 【Docker安装部署FastDFS详细过程】

    0.国人之光~FastDFS 分布式文件存储的由来: 在我们的项目中有很多需要存储的内容出现,比如图片,视频,文件等等,在早期的时候用户量不大,产生的文件也不是很多,这时我们可以把文件和服务程序放在一 ...

  4. RKE安装部署K8S集群、Rancher

    服务器准备:三台虚拟机(master:1,node:2:这里选用的阿里云ECS) OS hostname 内网IP Centos7 joker-master-1 172.27.31.149 Cento ...

  5. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 文章目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 k ...

  6. Docker ElK安装部署使用教程

    Docker ElK安装部署使用教程 原文:Docker ElK安装部署使用教程 一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elast ...

  7. weblogic 正在启动 wsee服务_详解LINUX安装部署weblogic集群--第二部分

    概述 续一下前几天说的安装部署weblogic集群部分,前面介绍了在每台服务器(ABCDE)安装weblogic软件,下面只在A服务器创建域,最后再拷贝到其他服务器即可. 使用Domain Confi ...

  8. 使用Docker快速安装部署ES和Kibana并配置IK中文分词器以及自定义分词拓展词库

    使用Docker快速安装部署ES和Kibana的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后, ...

  9. 使用Docker快速安装部署mysql

    使用Docker快速安装部署mysql的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后,就可以使 ...

最新文章

  1. iconfont图标_小程序使用 Iconfont 的正确姿势
  2. PID算法-温度控制
  3. 将时间戳转为年月日时分秒格式
  4. 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?
  5. 了解Sql Server的执行计划
  6. Gulp 前端自动化构建
  7. 女性自我的迷宫:看EMI的人体自拍
  8. Java NIO系列教程(十 五)Java NIO Path
  9. ASIO 腾空出世 (那些年我们追过的网络库.PartII)
  10. CMake使用详解二(多文件编译)
  11. java 抽象类 模板_Java学习day21-抽象类(abstract class)和模板设计模式(TemplateMethod)...
  12. 搭建sendmail邮件服务器
  13. 这辈子都没有好好的认认真真的过过一天
  14. Arthas 实战,助你解决同名类依赖冲突问题
  15. 代码审计:企业级web代码安全架构读书笔记(二)
  16. 使用pca进行坐标系转换、降维
  17. 1341:【例题】一笔画问题
  18. MIT Mini Cheetah仿真环境搭建(VMware中的ubuntu20.04,含问题解决)
  19. 联想st510开卡软件_无力吐槽的一单联想ST510固态硬盘数据恢复
  20. 动态规划算法04-最长递增子序列问题

热门文章

  1. 2023,创客永不停歇
  2. 解决word2019安装完visio变得卡顿的问题
  3. access9磅字体是多_word字体中几号字与多少磅的对应关系
  4. 计算机里面看不到桌面是什么原因,电脑桌面图标都没了是什么情况?电脑桌面图标都没了解决方法...
  5. 网易web安全工程师进阶网易web安全微专业从基础到进阶
  6. python正弦波叠加方波_无穷多个(幅值)和(频率)不等的正弦波叠加就能形成周期方波。_学小易找答案...
  7. PDM数据表结构字段导出到excel
  8. 吴恩达《深度学习专项》笔记+代码实战(三):“浅度”神经网络
  9. spring boot项目没报错,但就是启动不起来
  10. [转]URLConnection和HTTPClient的比较