Weed-FSインタフェースmaster、volumeサービスインタフェース(回転)

15879 ワード

ディレクトリ構造
 
weed-fs masterサービスインタフェース、ファイルidの割り当て、volume、volumeサービスインタフェースの検索、指定したvolumeサービスで指定したvolumeを作成し、volumeサービスの状態を確認します.
masterサービスインタフェース
すべてのHTTP APIは、&pretty=yパラメータを追加することによってjson出力をフォーマットすることができる.
ファイルidの割り当て
#     :
curl http://localhost:9333/dir/assign
{"count":1,"fid":"3,01637037d6","url":"127.0.0.1:8080","publicUrl":"localhost:8080"} #      id          curl "http://localhost:9333/dir/assign?replication=001" #             id curl "http://localhost:9333/dir/assign?count=5" #       data center curl "http://localhost:9333/dir/assign?dataCenter=dc1"

検索volumevolumeサービスが移転したかどうかを見つける必要があります.
curl "http://localhost:9333/dir/lookup?volumeId=3&pretty=y"
{
  "locations": [
    {
      "publicUrl": "localhost:8080",
      "url": "localhost:8080" } ] } #     : #           id     curl "http://localhost:9333/dir/lookup?volumeId=3,01637037d6" #       collection,  collection      。 curl "http://localhost:9333/dir/lookup?volumeId=3&collection=turbo"

強制ごみ回収
もしあなたのシステムに大量のファイルが削除されたら.ファイルを削除するスペースは同時に削除されません.volumeスペースの使用率を確認するバックグラウンドタスクがあります.空白の空間比率が一定の額(デフォルトは0.3)を超えると、このタスクはvolumeを読み取り専用にし、存在しないファイルを別の新しいvolumeにコピーします.
イライラしている場合は、この方法で不要な方法を回収することができます.
curl "http://localhost:9333/vol/vacuum"
curl "http://localhost:9333/vol/vacuum?garbageThreshold=0.4"
garbageThresholdパラメータはオプションであり、デフォルト値は変更されません.起動時にgarbageThresholdパラメータを追加することで、この値を指定できます.
volumesの事前作成volumeは同時に1つのファイルしか書けません.同時に書く必要がある場合は、volumeを複数作成することができます.
curl "http://localhost:9333/vol/grow?replication=000&count=4"
{"count":4}

#   collection
curl "http://localhost:9333/vol/grow?collection=turbo&count=4" #    data center curl "http://localhost:9333/vol/grow?dataCenter=dc1&count=4"

システムステータスの確認
curl "http://10.0.2.15:9333/cluster/status?pretty=y"
{
  "IsLeader": true,
  "Leader": "10.0.2.15:9333", "Peers": [ "10.0.2.15:9334", "10.0.2.15:9335" ] } curl "http://localhost:9333/dir/status?pretty=y" { "Topology": { "DataCenters": [ { "Free": 3, "Id": "dc1", "Max": 7, "Racks": [ { "DataNodes": [ { "Free": 3, "Max": 7, "PublicUrl": "localhost:8080", "Url": "localhost:8080", "Volumes": 4 } ], "Free": 3, "Id": "DefaultRack", "Max": 7 } ] }, { "Free": 21, "Id": "dc3", "Max": 21, "Racks": [ { "DataNodes": [ { "Free": 7, "Max": 7, "PublicUrl": "localhost:8081", "Url": "localhost:8081", "Volumes": 0 } ], "Free": 7, "Id": "rack1", "Max": 7 }, { "DataNodes": [ { "Free": 7, "Max": 7, "PublicUrl": "localhost:8082", "Url": "localhost:8082", "Volumes": 0 }, { "Free": 7, "Max": 7, "PublicUrl": "localhost:8083", "Url": "localhost:8083", "Volumes": 0 } ], "Free": 14, "Id": "DefaultRack", "Max": 14 } ] } ], "Free": 24, "Max": 28, "layouts": [ { "collection": "", "replication": "000", "writables": [ 1, 2, 3, 4 ] } ] }, "Version": "0.47" }

上記の操作により、4個の空白のvolumeが作成されます.
volumeサービスインタフェース
weedfsにファイルをアップロード
curl -F file=@/home/www/myphoto.jpg http://127.0.0.1:8080/3,01637037d6 {"size": 43234}

返されるサイズはweed-fsにファイルが保存されているサイズで、ファイルタイプに応じて自動的に圧縮される場合があります.
ファイルを直接アップロード
curl -F file=@/home/chris/myphoto.jpg http://localhost:9333/submit
{"fid":"3,01fbe0dc6f1f38","fileName":"myphoto.jpg","fileUrl":"localhost:8080/3,01fbe0dc6f1f38","size":68231}

このAPIは、使用を容易にするためだけに、masterサービスは、ファイルidを受け取り、他のパラメータをサポートしない正しいvolumeにファイルを保存する.
ファイルの削除
curl -X DELETE http://127.0.0.1:8080/3,01637037d6

指定したvolumeサービスで指定したvolumeを作成
curl "http://localhost:8080/admin/assign_volume?replication=000&volume=3"

このコマンドは、volume 3サービス上にvolumeを作成します.
レプリカタイプ(replication)を使用している場合は、他のvolumeサービスで同じミラーファイルを作成する必要があります.
volumeサービスのステータスを確認
curl "http://localhost:8080/status?pretty=y"
{
  "Version": "0.34",
  "Volumes": [
    {
      "Id": 1, "Size": 1319688, "RepType": "000", "Version": 2, "FileCount": 276, "DeleteCount": 0, "DeletedByteCount": 0, "ReadOnly": false }, { "Id": 2, "Size": 1040962, "RepType": "000", "Version": 2, "FileCount": 291, "DeleteCount": 0, "DeletedByteCount": 0, "ReadOnly": false }, { "Id": 3, "Size": 1486334, "RepType": "000", "Version": 2, "FileCount": 301, "DeleteCount": 2, "DeletedByteCount": 0, "ReadOnly": false }, { "Id": 4, "Size": 8953592, "RepType": "000", "Version": 2, "FileCount": 320, "DeleteCount": 2, "DeletedByteCount": 0, "ReadOnly": false }, { "Id": 5, "Size": 70815851, "RepType": "000", "Version": 2, "FileCount": 309, "DeleteCount": 1, "DeletedByteCount": 0, "ReadOnly": false }, { "Id": 6, "Size": 1483131, "RepType": "000", "Version": 2, "FileCount": 301, "DeleteCount": 1, "DeletedByteCount": 0, "ReadOnly": false }, { "Id": 7, "Size": 46797832, "RepType": "000", "Version": 2, "FileCount": 292, "DeleteCount": 0, "DeletedByteCount": 0, "ReadOnly": false } ] }
 
転載先:https://www.cnblogs.com/wangbin/p/9475785.html