安装seaweedfs分布式文件存储

启动一个测试集群:2 filer(8801-8802) + 3 master(9331-9333) + 3 volume(8081-8083)

下载seaweedfs:

https://github.com/chrislusf/seaweedfs/releases/download/1.44/linux_amd64.tar.gz

先创建所需要目录

启动master

  1. xuliang@xuliang-PC:/data/seaweedfs$ cat start_master.sh
  2. ./weed -logdir=log/master1 master -mdir=master1 -peers=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -port=9331 -defaultReplication=001 &
  3. ./weed -logdir=log/master2 master -mdir=master2 -peers=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -port=9332 -defaultReplication=001 &
  4. ./weed -logdir=log/master3 master -mdir=master3 -peers=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -port=9333 -defaultReplication=001 &
  5. xuliang@xuliang-PC:/data/seaweedfs$

启动volume

  1. xuliang@xuliang-PC:/data/seaweedfs$ cat start_volume.sh
  2. ./weed -logdir=log/volume1 volume -dir=volume/data1 -max=300 -mserver=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -port=8081 &
  3. ./weed -logdir=log/volume2 volume -dir=volume/data2 -max=300 -mserver=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -port=8082 &
  4. ./weed -logdir=log/volume3 volume -dir=volume/data3 -max=300 -mserver=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -port=8083 &
  5. xuliang@xuliang-PC:/data/seaweedfs$

使用weed scaffold -config filer -output="." 在当前目录生成配置文件

查看帮助信息知道

The configuration file "filer.toml" is read from ".", "$HOME/.seaweedfs/", or "/etc/seaweedfs/", in that order.

配置文件要放在当前目录或"$HOME/.seaweedfs/", or "/etc/seaweedfs/

修改存储元数据信息默认[leveldb2]

  1. [leveldb2]
  2. £ local on disk, mostly for simple single-machine setup, fairly scalable
  3. £ faster than previous leveldb, recommended.
  4. enabled = true
  5. dir = "."

  修改为redis

  1. [redis]
  2. enabled = true
  3. address = "localhost:6379"
  4. password = ""
  5. database = 0

启动命令:

  1. xuliang@xuliang-PC:/data/seaweedfs$ cat start_filer.sh
  2. ./weed -logdir=./log/filer1 filer -port=8801 -master=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -defaultReplicaPlacement=001 &
  3. ./weed -logdir=./log/filer2 filer -port=8802 -master=192.168.11.103:9331,192.168.11.103:9332,192.168.11.103:9333 -ip=192.168.11.103 -defaultReplicaPlacement=001 &
  4. xuliang@xuliang-PC:/data/seaweedfs$

挂载:

  1. xuliang@xuliang-PC:/data/seaweedfs$ cat start_mount.sh
  2. ./weed mount -filer=192.168.11.103:8801 -dir=/mnt -filer.path=/
  3.  
  4. xuliang@xuliang-PC:/data/seaweedfs$

配置文件:

  1. [root@k8s-master sts]# cat nginx.yaml
  2. ---
  3. apiVersion: apps/v1
  4. kind: StatefulSet
  5. metadata:
  6. name: web
  7. spec:
  8. serviceName: "nginx"
  9. replicas: 2
  10. selector:
  11. matchLabels:
  12. app: nginx
  13. template:
  14. metadata:
  15. labels:
  16. app: nginx
  17. spec:
  18. containers:
  19. - name: nginx
  20. image: nginx
  21. ports:
  22. - containerPort: 80
  23. name: web
  24. volumeMounts:
  25. - name: www
  26. mountPath: /usr/share/nginx/html
  27. volumes:
  28. - hostPath:
  29. path: /data
  30. type: ""
  31. name: www
  32. ---
  33. apiVersion: networking.istio.io/v1alpha3
  34. kind: Gateway
  35. metadata:
  36. name: nginx-gateway
  37. spec:
  38. selector:
  39. istio: ingressgateway # use istio default controller
  40. servers:
  41. - port:
  42. number: 80
  43. name: http
  44. protocol: HTTP
  45. hosts:
  46. - "myapp.test.com"
  47. ---
  48. apiVersion: networking.istio.io/v1alpha3
  49. kind: VirtualService
  50. metadata:
  51. name: nginx
  52. spec:
  53. hosts:
  54. - "*"
  55. gateways:
  56. - nginx-gateway
  57. http:
  58. - match:
  59. - uri:
  60. prefix: /test/
  61. retries:
  62. attempts: 3
  63. perTryTimeout: 2s
  64. route:
  65. - destination:
  66. host: nginx
  67. port:
  68. number: 80
  69.  
  70. [root@k8s-master sts]#

  

查看:

  1. [root@k8s-master sts]# kubectl get sts
  2. NAME READY AGE
  3. web 2/2 6m24s
  4. [root@k8s-master sts]# kubectl get svc
  5. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  6. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 97d
  7. nginx ClusterIP 10.106.157.182 <none> 80/TCP 48m
  8. [root@k8s-master sts]# kubectl get pods
  9. NAME READY STATUS RESTARTS AGE
  10. web-0 2/2 Running 0 6m33s
  11. web-1 2/2 Running 0 6m16s
  12. [root@k8s-master sts]#

 

seaweedfs分布式文件使用示例的更多相关文章

  1. 一文搞定FastDFS分布式文件系统配置与部署

    Ubuntu下FastDFS分布式文件系统配置与部署 白宁超 2017年4月15日09:11:52 摘要: FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储.文件同步.文件访问(文件 ...

  2. 淘宝分布式文件存储系统:TFS

    TFS ——分布式文件存储系统 TFS(Taobao File System)是淘宝针对海量非结构化数据存储设计的分布式系统,构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问. ...

  3. .Net平台下,分布式文件存储的实现

    遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...

  4. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  5. 我心中的核心组件(可插拔的AOP)~分布式文件上传组件~基于FastDFS

    回到目录 一些概念 在大叔框架里总觉得缺点什么,在最近的项目开发中,终于知道缺什么了,分布式文件存储组件,就是缺它,呵呵,对于分布式文件存储来说,业界比较公认的是FastDFS组件,它自己本身就是集群 ...

  6. Inno setup 安装*.inf文件_示例

    nno setup 调用*.Inf文件的条目区段名称_示例 首先自己编写一个INF文件来供 Inno setup 进行测试: ;复制以下代码到记事本然后另存为123.inf .然后把123.inf文件 ...

  7. Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)

    数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件 ...

  8. Java 网络编程---分布式文件协同编辑器设计与实现

    目录: 第一部分:Java网络编程知识 (一)简单的Http请求 一般浏览网页时,使用的时Ip地址,而IP(Internet Protocol,互联网协议)目前主要是IPv4和IPv6. IP地址是一 ...

  9. 挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务

    挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务#36氪开放日# 其他 JasonZheng • 2012-04-07 15:14 来自36氪开放 ...

随机推荐

  1. Markdown(3)Typora快捷键

    Typora(3)快捷键 一.快捷键列表 操作内容 快捷键 助记词 1. 标题 Ctrl + 数字 1-6 2. 段落 Ctrl + 数字 0 3. 粗体 Ctrl + B (B) Bold 4. 斜 ...

  2. 看完我的笔记不懂也会懂----less

    目录 Less学习 语法篇 注释 变量 映射(Maps) @规则嵌套和冒泡 less中的嵌套规则 less中的混合 less的运算 extend延伸/继承 less忽略编译(转义) 导入(Import ...

  3. 后端程序员之路 14、NumPy

    NumPy - NumPyhttp://www.numpy.org/ NumPy-快速处理数据 - 用Python做科学计算http://old.sebug.net/paper/books/scipy ...

  4. kali 将家目录下的中文文件名修改成英文

    修改vim ~/.config/user-dirs.dirs 打开`文件,删除那些中文目录 在目录下创建英文目录 重启 参考 https://elementaryos.stackexchange.co ...

  5. fastjson 反弹shell

    目录 如下文章说得很不详细,只是用于记录我的步骤,初次利用的人,建议找别的博客文章学习. 准备一台公网服务器 cd test python -m SimpleHTTPServer 8888 javac ...

  6. 小程序基于Token登录 示意图

  7. 01_AlexNet

    torch.topk 功能:找出前k大的数据,及其索引号 input:张量 k:决定选取k个值,k=1是为top-1 dim:索引维度 返回: Tensor:前k大的值 LongTensor:前k大的 ...

  8. [同步到 MaixPy3 文档] 使用 Python 编程入门开源硬件项目

    本文是给有一点 Python 基础但还想进一步深入的同学,有经验的开发者建议跳过. 前言 在写这篇案例系列的时候 junhuanchen 期望能够引导用户如何成为专业的开发者,不是只会调用代码就好,所 ...

  9. 解决.NET Core Ajax请求后台传送参数过大请求失败问题

    解决.NET Core Ajax请求后台传送参数过大请求失败问题 今天在项目上遇到一个坑, 在.Net Core中通过ajax向mvc的controller传递对象时,控制器(controller)的 ...

  10. vue+vuex 修复数据更新页面没有渲染问题

    不解: 为什么在关闭开关后,已经将data里的属性和vuex属性初始化后,页面就是不响应??? 问题: 由于切换路由后,获取到vuex的数据在created中赋值到data相对应的属性中,在关闭开关后 ...