zoukankan      html  css  js  c++  java
  • seaweedfs分布式文件使用示例

    安装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

    xuliang@xuliang-PC:/data/seaweedfs$ cat start_master.sh 
    ./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 &
    ./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 &
    ./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 &
    xuliang@xuliang-PC:/data/seaweedfs$ 

    启动volume

    xuliang@xuliang-PC:/data/seaweedfs$ cat start_volume.sh 
    ./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 &
    ./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 &
    ./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 &
    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]

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

      修改为redis

    [redis]
    enabled = true
    address  = "localhost:6379"
    password = ""
    database = 0

    启动命令:

    xuliang@xuliang-PC:/data/seaweedfs$ cat start_filer.sh 
    ./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 &
    ./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 &
    xuliang@xuliang-PC:/data/seaweedfs$ 

    挂载:

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

    配置文件:

    [root@k8s-master sts]# cat nginx.yaml 
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: web
    spec:
      serviceName: "nginx"
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80
              name: web
            volumeMounts:
            - name: www
              mountPath: /usr/share/nginx/html
          volumes:
          - hostPath:
              path: /data
              type: ""
            name: www
    ---
    apiVersion: networking.istio.io/v1alpha3
    kind: Gateway
    metadata:
      name: nginx-gateway
    spec:
      selector:
        istio: ingressgateway # use istio default controller
      servers:
      - port:
          number: 80
          name: http
          protocol: HTTP
        hosts:
        - "myapp.test.com"
    ---
    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: nginx
    spec:
      hosts:
      - "*"
      gateways:
      - nginx-gateway
      http:
      - match:
        - uri:
            prefix: /test/
        retries:
          attempts: 3
          perTryTimeout: 2s
        route:
        - destination:
            host: nginx
            port:
              number: 80
    
    [root@k8s-master sts]#
    

      

    查看:

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

     

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/xuliang666/p/11844142.html
Copyright © 2011-2022 走看看