weed-fs没有详细的帮助文档,为了方便阅读,特意把有用的参数帮助罗列出来。
未列出的两个命令为version(版本查询) 及shell(这个命令在0.45版本只有回显功能)
nerc@Ubuntu:~/data1$ weed -h
WeedFS is a software to store billions of files and serve them fast!
Usage:
weed command [arguments]
The commands are:
compact run weed tool compact on volume file if corrupted
fix run weed tool fix on index file if corrupted
master start a master server
upload upload one or a list of files
download download files by file id
shell run interactive commands, now just echo
version print Weed File System version
volume start a volume server
export list or export files from one volume data file
Use "weed help [command]" for more information about a command.
nerc@Ubuntu:~/data1$ weed master -h
Example: weed master -port=9333
Default Usage:
-conf="/etc/weedfs/weedfs.conf": xml configuration file
-debug=false: enable debug mode
-defaultReplicationType="000": Default replication type if not specified.
-garbageThreshold="0.3": threshold to vacuum and reclaim spaces
-maxCpu=0: maximum number of CPUs. 0 means all available CPUs
-mdir="/tmp": data directory to store mappings
-port=9333: http listen port (监听端口,IP地址默认为localhost,但远程时可直接访问外网地址+端口号发起上传申请)
-pulseSeconds=5: number of seconds between heartbeats (心跳监控间隔时长)
-readTimeout=3: connection read timeout in seconds (上传文件大小受网络带宽及此参数限制)
-volumeSizeLimitMB=32768: Default Volume Size in MegaBytes (限制每个volume的大小,一般采用默认值,无需设置此参数)
-whiteList="": comma separated Ip addresses having write permission. No limit if empty.(可以通过此参数限定准许上传的机器,保证服务器安全)
Description:
start a master server to provide volume=>location mapping service
and sequence number of file ids
nerc@Ubuntu:~/data1$ weed volume -h
Example: weed volume -port=8080 -dir=/tmp -max=5 -ip=server_name -mserver=localhost:9333
Default Usage:
-dataCenter="": current volume server's data center name
-debug=false: enable debug mode
-dir="/tmp": directories to store data files. dir[,dir]...
-ip="localhost": ip or server name
-max="7": maximum numbers of volumes, count[,count]...
-maxCpu=0: maximum number of CPUs. 0 means all available CPUs
-mserver="localhost:9333": master server location
-port=8080: http listen port
-publicUrl="": Publicly accessible <ip|server_name>:<port>
-pulseSeconds=5: number of seconds between heartbeats, must be smaller than the master's setting
-rack="": current volume server's rack name
-readTimeout=3: connection read timeout in seconds. Increase this if uploading large files.
-whiteList="": comma separated Ip addresses having write permission. No limit if empty.
Description:
start a volume server to provide storage spaces
nerc@Ubuntu:~/data1$ weed fix -h
Example: weed fix -dir=/tmp -volumeId=234
Default Usage:
-collection="": the volume collection name
-debug=false: enable debug mode
-dir="/tmp": data directory to store files
-volumeId=-1: a volume id. The volume should already exist in the dir. The volume index file should not exist.
Description:
Fix runs the WeedFS fix command to re-create the index .idx file.
nerc@Ubuntu:~/data1$ weed compact -h
Example: weed compact -dir=/tmp -volumeId=234
Default Usage:
-collection="": volume collection name
-debug=false: enable debug mode
-dir="/tmp": data directory to store files
-volumeId=-1: a volume id. The volume should already exist in the dir.
Description:
Force an compaction to remove deleted files from volume files.
The compacted .dat file is stored as .cpd file.
The compacted .idx file is stored as .cpx file.
nerc@Ubuntu:~/data1$ weed upload -h
Example: weed upload -server=localhost:9333 file1 [file2 file3]
upload -server=localhost:9333 -dir=one_directory -include=*.pdf
Default Usage:
-debug=false: verbose debug information
-dir="": Upload the whole folder recursively if specified.
-include="": pattens of files to upload, e.g., *.pdf, *.html, ab?d.txt, works together with -dir
-maxMB=0: split files larger than the limit
-replication="": replication type(000,001,010,100,110,200)
-server="localhost:9333": weedfs master location
Description:
upload one or a list of files, or batch upload one whole folder recursively.
If uploading a list of files:
It uses consecutive file keys for the list of files.
e.g. If the file1 uses key k, file2 can be read via k_1
If uploading a whole folder recursively:
All files under the folder and subfolders will be uploaded, each with its own file key.
Optional parameter "-include" allows you to specify the file name patterns.
If any file has a ".gz" extension, the content are considered gzipped already, and will be stored as is.
This can save volume server's gzipped processing and allow customizable gzip compression level.
The file name will strip out ".gz" and stored. For example, "jquery.js.gz" will be stored as "jquery.js".
If "maxMB" is set to a positive number, files larger than it would be split into chunks and uploaded separatedly.
The list of file ids of those chunks would be stored in an additional chunk, and this additional chunk's file id would be returned.
nerc@Ubuntu:~/data1$ weed download -h
Example: weed download -server=localhost:9333 -dir=one_directory fid1 [fid2 fid3 ...]
Default Usage:
-debug=false: verbose debug information
-dir=".": Download the whole folder recursively if specified.
-server="localhost:9333": weedfs master location
Description:
download files by file id.
Usually you just need to use curl to lookup the file's volume server, and then download them directly.
This download tool combine the two steps into one.
What's more, if you use "weed upload -maxMB=..." option to upload a big file divided into chunks, you can
use this tool to download the chunks and merge them automatically.
nerc@Ubuntu:~/data1$ weed export -h
Example: weed export -dir=/tmp -volumeId=234 -o=/dir/name.tar -fileNameFormat={{.Name}}
Default Usage:
-collection="": the volume collection name
-debug=false: enable debug mode
-dir="/tmp": input data directory to store volume data files
-fileNameFormat="{{.Mime}}/{{.Id}}:{{.Name}}": filename format, default to {{.Mime}}/{{.Id}}:{{.Name}}
-o="": output tar file name, must ends with .tar, or just a "-" for stdout
-volumeId=-1: a volume id. The volume should already exist in the dir. The volume index file should not exist.
Description:
List all files in a volume, or Export all files in a volume to a tar file if the output is specified.
The format of file name in the tar file can be customized. Default is {{.Mime}}/{{.Id}}:{{.Name}}. Also available is {{.Key}}.