seaweedfs使用概要

3703 ワード

メリット:


ストレージの小さいファイル、占有スペースが小さくて、性能はfastDfsより良いです

論理的にSeaweedfsのいくつかの概念:

  • Nodeシステム抽象ノード、抽象データセンター、Rack、DataNode
  • DataCenterデータセンター、現実の異なる機械室
  • に対応
  • Rackラック、現実のキャビネット
  • に対応
  • Datanodeストレージノード、管理、ストレージロジックボリューム
  • Volume論理ボリューム、格納された論理構造、論理ボリュームの下にNeedle
  • を格納
  • Needle論理ボリュームのObject、対応する格納されたファイル
  • Collectionファイルセットは、複数の論理ボリュームに分散できる
  • インストール:

    yum info golang
    wget https://github.com/chrislusf/seaweedfs/releases/download/0.96/linux_amd64.tar.gz
    tar -zxf linux_amd64.tar.gz
    

    開始

    ./weed -h   
      master
    nohup /home/dev/go/gopath/weed master -mdir=/home/dev/go/sea/data -port=9333 -defaultReplication="001" -ip="10.66.220.*" &>> /home/dev/go/sea/logs/master.log &
    
      volume
    nohup /home/dev/go/gopath/weed volume -dir=/home/dev/go/sea/vol/vol1 -mserver="10.66.220.*:9333" -port=8081 -ip="10.66.220.*" &>>/home/dev/go/sea/logs/vol1.log &
    nohup /home/dev/go/gopath/weed volume -dir=/home/dev/go/sea/vol/vol2 -mserver="10.66.220.*:9333" -port=8082 -ip="10.66.220.*" &>>/home/dev/go/sea/logs/vol2.log &
    nohup /home/dev/go/gopath/weed volume -dir=/home/dev/go/sea/vol/vol3 -mserver="10.66.220.*:9333" -port=8083 -ip="10.66.220.*" &>>/home/dev/go/sea/logs/vol3.log &
    

    ファイルのアップロード:

     curl http://10.66.220.38:9333/dir/assign
     curl -F "file=/home/dev/mail.py" 10.66.220.38:8082/2,01f9865716
    
    

    その他api

  • Check System Status: curl "http://10.0.2.15:9333/cluster/status?pretty=y"curl "http://localhost:9333/dir/status?pretty=y"
  • volumeが移動されたかどうかを確認する:curl」http://localhost:9333/dir/lookup?volumeId=3&pretty=y"curl "http://localhost:9333/dir/lookup?volumeId=3,01637037d6"curl "http://localhost:9333/dir/lookup?volumeId=3&collection=turbo”
  • Force garbage collection: curl "http://localhost:9333/vol/vacuum"curl "http://localhost:9333/vol/vacuum?garbageThreshold=0.4"
  • Pre-Allocate Volumes:
  • # specify a specific replication
    
    curl "http://localhost:9333/vol/grow?replication=000&count=4"
    
    {"count":4}
    
    # specify a collection
    
    curl "http://localhost:9333/vol/grow?collection=turbo&count=4"
    
    # specify data center
    
    curl "http://localhost:9333/vol/grow?dataCenter=dc1&count=4"
    
    # specify ttl
    
    curl "http://localhost:9333/vol/grow?ttl=5d&count=4"
    
    * Check Volume Server Status
    
        curl "[http://localhost:8080/status?pretty=y](http://localhost:8080/status?pretty=y)”
    
  • Look up volume
  • curl "http://localhost:9333/dir/lookup?volumeId=3&pretty=y"
    
    # Other usages:
    
    # You can actually use the file id to lookup, if you are lazy to parse the file id.
    
    curl "http://localhost:9333/dir/lookup?volumeId=3,01637037d6"
    
    # If you know the collection, specify it since it will be a little faster
    
    curl "http://localhost:9333/dir/lookup?volumeId=3&collection=turbo"
    
  • Upload File Directly curl -F file=@/home/chris/myphoto.jpg http://localhost:9333/submit
  • filer
  • mountマウント
  • With "weed mount", the files can be operated as a local file. Weed Mount Architecture
  • FUSE:ユーザ空間ファイルシステム(Filesystem in Userspace)は、LinuxにおいてSSHなどのネットワーク空間をマウントするためのモジュール
  • である.

    SeaweedFSコマンドセット:

    benchmark
    backup  
    compact
    filer
    fix
    server
    master
    filer
    s3
    upload
    download
    shell
    version
    volume
    export
    mount