seaweedfs

SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.

APACHE-2.0 License

Downloads
315
Stars
21.4K
Committers
336

Bot releases are hidden (Show)

seaweedfs -

Published by chrislusf almost 5 years ago

seaweedfs -

Published by chrislusf almost 5 years ago

This has a fix for a compaction bug introduced in 1.48

  • volume: fix compaction
  • weed fix: generate .idx files correctly
seaweedfs -

Published by chrislusf almost 5 years ago

  • Tiered Storage
    • Support reverting cloud tier to local tier.
  • Erasure Coding
    • Support reverting EC volumes to normal volumes.
  • Filer
    • Support extended attributes.
    • Add route by latency option for Redis store.
    • Returns 404 if not found.
    • Optional default recursive deletion.
    • Add fs.meta.cat to see file meta data.
    • Fix fs.meta.save concurrency problem.
  • Volume
    • Lower readonly volume memory usage.
    • Support deletions on read only volumes.
    • Avoid core dump when creating volumes and disk is full.
seaweedfs -

Published by chrislusf almost 5 years ago

  • FUSE mount
    • Fix nil directory problem
  • Volume Server
    • Fix missing leading dot in extension
seaweedfs -

Published by chrislusf almost 5 years ago

seaweedfs -

Published by chrislusf almost 5 years ago

  • shell
    • fs.meta.save missed directory data with more than 1024 entries (#1130)
    • ec.balance did not balance correctly (#1111)
    • add current filer directory default value
  • master
    • add option to store file sequence to etcd
    • assign volume can optionally specify the number of volumes to grow
  • volume
  • filer
    • parallelize weed filer.copy for single file
    • support tikv as filer store
seaweedfs -

Published by chrislusf about 5 years ago

  • Filer
    • follow the redirected master #1070
    • Recursive deletion optionally ignore any errors #1062
    • avoid hard-coded upload timeout
  • Hadoop Compatible File System
    • fix jar issues on Cloudera HDFS CDH
  • Volume
    • in rare cases when volume is created but no superblock #1079
    • skip readonly volume checking when destroy #1063
    • avoid nil needle map #1061
  • Experimental
    • grpc API for server side json select pushdown
  • increase thread safety by avoiding rand
seaweedfs -

Published by chrislusf about 5 years ago

  • Released 1.1.6 Hadoop clients, verified working with HDFS/Spark/HBase.
  • master
    • master followers can also lookup and redirect, improves master scalability
    • clients are redirected to new leader, instead of looping through all masters.
  • filer
    • support Etcd as filer store, avoiding any SPOF.
    • fix redis configuration typo for database. #1031
  • volume
    • fail the volume deletion if compaction is in progress, #1035
    • protect against nil needle map, #1037
    • truncating the temp files when compacting, avoid wrong .dat file after compaction.
  • mount
    • add umask option, related to #978
  • shell
    • added an option to set the output file name
    • added an option to see verbose output, default to non-verbose mode
  • weed backup
    • add ttl and replication parameter
seaweedfs -

Published by chrislusf about 5 years ago

  • master:
    • ensure only one exclusive vacuum process
  • volume
    • vacuum related optimizations and bug fixes
    • fix volume count metrics bug #1013
    • write requests also checks matching cookies #1014
  • shell
    • add fs.mv
  • filer
    • set file name when uploading to a directory (#1005)
    • default filer.copy to chunk at 32MB
    • detect a filer path is a file or a directory #1004
  • s3
    • add location for multipart upload #1002
seaweedfs -

Published by chrislusf over 5 years ago

seaweedfs -

Published by chrislusf over 5 years ago

  • filer
    • default to leveldb2 store if filer store is not configured
    • add metrics for go memory, gc stats
    • avoid concurrent modification to result slice, fix #972
  • volume
    • fix bug with 8000GB version if using in memory index
    • default file ttl to volume ttl, related to #992
seaweedfs -

Published by chrislusf over 5 years ago

seaweedfs -

Published by chrislusf over 5 years ago

seaweedfs -

Published by chrislusf over 5 years ago

seaweedfs -

Published by chrislusf over 5 years ago

  • NOTICE: For filer with a large leveldb store, initial upgrading will trigger overdue background compactions, to optimize the leveldb files. This can cause high CPU and disk usage. Just let it run.
  • filer
    • add leveldb2 for faster local leveldb
    • optimize leveldb parameters.
  • master
    • configurable JWT expires_after_seconds
  • shell
    • add volume.balance command
  • volume
    • add option to throttle background volume compaction
  • add weedfuse for fstab
seaweedfs -

Published by chrislusf over 5 years ago

  • Added WebDAV
  • volume
    • optionally slow down compaction (b335f81a4fb51e57b0da37b2b662e823369459f6)
  • filer
    • listen on specified ip address (dabc9c9a891b7b563ae17dbb4030ddecdde73483)
    • remove customizable grpc port (21fe5bde7cf0e619b4d9f2b2a15f8541988a646b)
  • server
    • add option to start S3 API gateway
seaweedfs -

Published by chrislusf over 5 years ago

  • UI
    • fix volume server metrics (#935)
  • shell
    • add fs.cat to see file content
seaweedfs -

Published by chrislusf over 5 years ago

  • shell
    • add fs.meta.save, fs.meta.load
    • add fs.meta.notify, removing command "weed filer.export"
    • add volume.copy, volume.move, volume.mount, volume.unmount, volume.delete
  • filer
    • rename -port.public to -port.readonly
    • add locking for in memory filer store
    • filer.copy add local compression level
    • adjust mysql database DDL
  • volume
    • reset leader if error happens
    • support http status NotModified 304
seaweedfs -

Published by chrislusf over 5 years ago

  • weed filer
    • optimized leveldb memory usage
    • removed btree and boltdb options
    • added leveldbMedium and leveldbLarge options
  • docker
    • added cronjob mode to run "volume.fix.replication" every 5 hours
  • important fix
    • close gRPC connections if failure happens
seaweedfs -

Published by chrislusf over 5 years ago

  • weed volume
    • add builds for large disk. volume size can be up to 8000GB.
  • weed s3
    • multipart upload goes to the right bucket
    • fix aws s3 ls lists directories but not files (fix #911)
  • weed replicate
    • replicate atomic renaming to other systems
    • add GoCDK PubSub support
  • weed filer
    • mysql/postgres use ReadCommitted transaction isolation level
    • increase default mysql/postgres dir or name length to 65535 (just instruction changes)
    • fix directory cache invalidation error (fix #910)
  • weed shell
    • add fs.cd, fs.pwd to change to a directory and print current directory
  • weed filer.copy
    • set default chunk size to 32MB
    • parallelize weed filer.copy
    • client side gzip compression
    • keep original file owner id and group id
  • weed upload
    • set default chunk size to 32MB
Package Rankings
Top 31.22% on Formulae.brew.sh
Top 1.73% on Proxy.golang.org
Top 7.32% on Alpine-edge
Top 37.52% on Pypi.org
Badges
Extracted from project README
Slack Twitter Build Status GoDoc Wiki Docker Pulls SeaweedFS on Maven Central Artifact Hub nodion piknik keepsec Docker Pulls Stargazers over time