FastDFS配置文件詳解

一、tracker.conf

# 這個(gè)配置文件是否無(wú)效,false表示有效

# is this config file disabled

# false for enabled

# true for disabled

disabled=false

# 是否綁定IP

# bind_addr= 后面為綁定的IP地址 (常用于服務(wù)器有多個(gè)IP但只希望一個(gè)IP提供服務(wù))。如果不填則表示所有的(一般不填就OK)

# bind an address of this host

# empty for bind all addresses of this host

bind_addr=

# 提供服務(wù)的端口

# the tracker server port

port=22122

# 連接超時(shí)時(shí)間,針對(duì)socket套接字函數(shù)connect

# connect timeout in seconds

# default value is 30s

connect_timeout=30

# tracker server的網(wǎng)絡(luò)超時(shí),單位為秒。發(fā)送或接收數(shù)據(jù)時(shí),如果在超時(shí)時(shí)間后還不能發(fā)送或接收數(shù)據(jù),則本次網(wǎng)絡(luò)通信失敗

# network timeout in seconds

# default value is 30s

network_timeout=60

# the base path to store data and log files

base_path=/home/yuqing/fastdfs

# base_path 目錄地址(根目錄必須存在,子目錄會(huì)自動(dòng)創(chuàng)建)

# 附目錄說(shuō)明:

#? tracker server目錄及文件結(jié)構(gòu):

#? ${base_path}

#? ? |__data

#? ? |? ? |__storage_groups.dat:存儲(chǔ)分組信息

#? ? |? ? |__storage_servers.dat:存儲(chǔ)服務(wù)器列表

#? ? |__logs

#? ? ? ? ? |__trackerd.log:tracker server日志文件

#數(shù)據(jù)文件storage_groups.dat和storage_servers.dat中的記錄之間以換行符(\n)分隔,字段之間以西文逗號(hào)(,)分隔。

#storage_groups.dat中的字段依次為:

#? 1. group_name:組名

#? 2. storage_port:storage server端口號(hào)

#storage_servers.dat中記錄storage server相關(guān)信息,字段依次為:

#? 1. group_name:所屬組名

#? 2. ip_addr:ip地址

#? 3. status:狀態(tài)

#? 4. sync_src_ip_addr:向該storage server同步已有數(shù)據(jù)文件的源服務(wù)器

#? 5. sync_until_timestamp:同步已有數(shù)據(jù)文件的截至?xí)r間(UNIX時(shí)間戳)

#? 6. stat.total_upload_count:上傳文件次數(shù)

#? 7. stat.success_upload_count:成功上傳文件次數(shù)

#? 8. stat.total_set_meta_count:更改meta data次數(shù)

#? 9. stat.success_set_meta_count:成功更改meta data次數(shù)

#? 10. stat.total_delete_count:刪除文件次數(shù)

#? 11. stat.success_delete_count:成功刪除文件次數(shù)

#? 12. stat.total_download_count:下載文件次數(shù)

#? 13. stat.success_download_count:成功下載文件次數(shù)

#? 14. stat.total_get_meta_count:獲取meta data次數(shù)

#? 15. stat.success_get_meta_count:成功獲取meta data次數(shù)

#? 16. stat.last_source_update:最近一次源頭更新時(shí)間(更新操作來(lái)自客戶端)

#? 17. stat.last_sync_update:最近一次同步更新時(shí)間(更新操作來(lái)自其他storage server的同步)

# 系統(tǒng)提供服務(wù)時(shí)的最大連接數(shù)。對(duì)于V1.x,因一個(gè)連接由一個(gè)線程服務(wù),也就是工作線程數(shù)。

# 對(duì)于V2.x,最大連接數(shù)和工作線程數(shù)沒(méi)有任何關(guān)系

# max concurrent connections this server supported

max_connections=256

# work thread count, should <= max_connections

# default value is 4

# since V2.00

# V2.0引入的這個(gè)參數(shù),工作線程數(shù),通常設(shè)置為CPU數(shù)

work_threads=4

# 上傳組(卷) 的方式 0:輪詢方式 1: 指定組 2: 平衡負(fù)載(選擇最大剩余空間的組(卷)上傳)

# 這里如果在應(yīng)用層指定了上傳到一個(gè)固定組,那么這個(gè)參數(shù)被繞過(guò)

# the method of selecting group to upload files

# 0: round robin

# 1: specify group

# 2: load balance, select the max free space group to upload file

store_lookup=2

# 當(dāng)上一個(gè)參數(shù)設(shè)定為1 時(shí) (store_lookup=1,即指定組名時(shí)),必須設(shè)置本參數(shù)為系統(tǒng)中存在的一個(gè)組名。如果選擇其他的上傳方式,這個(gè)參數(shù)就沒(méi)有效了

# which group to upload file

# when store_lookup set to 1, must set store_group to the group name

store_group=group2

# 選擇哪個(gè)storage server 進(jìn)行上傳操作(一個(gè)文件被上傳后,這個(gè)storage server就相當(dāng)于這個(gè)文件的storage server源,會(huì)對(duì)同組的storage server推送這個(gè)文件達(dá)到同步效果)

# 0: 輪詢方式

# 1: 根據(jù)ip 地址進(jìn)行排序選擇第一個(gè)服務(wù)器(IP地址最小者)

# 2: 根據(jù)優(yōu)先級(jí)進(jìn)行排序(上傳優(yōu)先級(jí)由storage server來(lái)設(shè)置,參數(shù)名為upload_priority)

# which storage server to upload file

# 0: round robin (default)

# 1: the first server order by ip address

# 2: the first server order by priority (the minimal)

store_server=0

# 選擇storage server 中的哪個(gè)目錄進(jìn)行上傳。storage server可以有多個(gè)存放文件的base path(可以理解為多個(gè)磁盤)。

# 0: 輪流方式,多個(gè)目錄依次存放文件

# 2: 選擇剩余空間最大的目錄存放文件(注意:剩余磁盤空間是動(dòng)態(tài)的,因此存儲(chǔ)到的目錄或磁盤可能也是變化的)

# which path(means disk or mount point) of the storage server to upload file

# 0: round robin

# 2: load balance, select the max free space path to upload file

store_path=0

# 選擇哪個(gè) storage server 作為下載服務(wù)器

# 0: 輪詢方式,可以下載當(dāng)前文件的任一storage server

# 1: 哪個(gè)為源storage server 就用哪一個(gè) (前面說(shuō)過(guò)了這個(gè)storage server源 是怎樣產(chǎn)生的) 就是之前上傳到哪個(gè)storage server服務(wù)器就是哪個(gè)了

# which storage server to download file

# 0: round robin (default)

# 1: the source storage server which the current file uploaded to

download_server=0

# storage server 上保留的空間,保證系統(tǒng)或其他應(yīng)用需求空間。可以用絕對(duì)值或者百分比(V4開始支持百分比方式)。

#(指出 如果同組的服務(wù)器的硬盤大小一樣,以最小的為準(zhǔn),也就是只要同組中有一臺(tái)服務(wù)器達(dá)到這個(gè)標(biāo)準(zhǔn)了,這個(gè)標(biāo)準(zhǔn)就生效,原因就是因?yàn)樗麄冞M(jìn)行備份)

# reserved storage space for system or other applications.

# if the free(available) space of any stoarge server in

# a group <= reserved_storage_space,

# no file can be uploaded to this group.

# bytes unit can be one of follows:

### G or g for gigabyte(GB)

### M or m for megabyte(MB)

### K or k for kilobyte(KB)

### no unit for byte(B)

### XX.XX% as ratio such as reserved_storage_space = 10%

reserved_storage_space = 10%

# 選擇日志級(jí)別

#standard log level as syslog, case insensitive, value list:

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info

# 操作系統(tǒng)運(yùn)行FastDFS的用戶組 (不填 就是當(dāng)前用戶組,哪個(gè)啟動(dòng)進(jìn)程就是哪個(gè))

#unix group name to run this program,

#not set (empty) means run by the group of current user

run_by_group=

# 操作系統(tǒng)運(yùn)行FastDFS的用戶 (不填 就是當(dāng)前用戶,哪個(gè)啟動(dòng)進(jìn)程就是哪個(gè))

#unix username to run this program,

#not set (empty) means run by current user

run_by_user=

# 可以連接到此 tracker server 的ip范圍(對(duì)所有類型的連接都有影響,包括客戶端,storage server)

# allow_hosts can ocur more than once, host can be hostname or ip address,

# "*" means match all ip addresses, can use range like this: 10.0.1.[1-15,20] or

# host[01-08,20-25].domain.com, for example:

# allow_hosts=10.0.1.[1-15,20]

# allow_hosts=host[01-08,20-25].domain.com

allow_hosts=*

# 同步或刷新日志信息到硬盤的時(shí)間間隔,單位為秒

# 注意:tracker server 的日志不是時(shí)時(shí)寫硬盤的,而是先寫內(nèi)存

# sync log buff to disk every interval seconds

# default value is 10 seconds

sync_log_buff_interval = 10

# 檢測(cè) storage server 存活的時(shí)間隔,單位為秒。

# storage server定期向tracker server 發(fā)心跳,如果tracker server在一個(gè)check_active_interval內(nèi)還沒(méi)有收到storage server的一次心跳,那邊將認(rèn)為該storage server已經(jīng)下線。所以本參數(shù)值必須大于storage server配置的心跳時(shí)間間隔。通常配置為storage server心跳時(shí)間間隔的2倍或3倍

# check storage server alive interval seconds

check_active_interval = 120

# 線程棧的大小。FastDFS server端采用了線程方式。tracker server線程棧不應(yīng)小于64KB

# 線程棧越大,一個(gè)線程占用的系統(tǒng)資源就越多。如果要啟動(dòng)更多的線程(V1.x對(duì)應(yīng)的參數(shù)為max_connections,

V2.0為work_threads),可以適當(dāng)降低本參數(shù)值

# thread stack size, should >= 64KB

# default value is 64KB

thread_stack_size = 64KB

# 這個(gè)參數(shù)控制當(dāng)storage server IP地址改變時(shí),集群是否自動(dòng)調(diào)整。注:只有在storage server進(jìn)程重啟時(shí)才完成自動(dòng)調(diào)整

# auto adjust when the ip address of the storage server changed

# default value is true

storage_ip_changed_auto_adjust = true

# V2.0引入的參數(shù)。存儲(chǔ)服務(wù)器之間同步文件的最大延遲時(shí)間,缺省為1天。根據(jù)實(shí)際情況進(jìn)行調(diào)整

# 注:本參數(shù)并不影響文件同步過(guò)程。本參數(shù)僅在下載文件時(shí),判斷文件是否已經(jīng)被同步完成的一個(gè)閥值(經(jīng)驗(yàn)值)

# storage sync file max delay seconds

# default value is 86400 seconds (one day)

# since V2.00

storage_sync_file_max_delay = 86400

# V2.0引入的參數(shù)。存儲(chǔ)服務(wù)器同步一個(gè)文件需要消耗的最大時(shí)間,缺省為300s,即5分鐘。

# 注:本參數(shù)并不影響文件同步過(guò)程。本參數(shù)僅在下載文件時(shí),作為判斷當(dāng)前文件是否被同步完成的一個(gè)閥值(經(jīng)驗(yàn)值)

# the max time of storage sync a file

# default value is 300 seconds

# since V2.00

storage_sync_file_max_time = 300

# V3.0引入的參數(shù)。是否使用小文件合并存儲(chǔ)特性,缺省是關(guān)閉的

# if use a trunk file to store several small files

# default value is false

# since V3.00

use_trunk_file = false

# V3.0引入的參數(shù)。

# trunk file分配的最小字節(jié)數(shù)。比如文件只有16個(gè)字節(jié),系統(tǒng)也會(huì)分配slot_min_size個(gè)字節(jié)

# the min slot size, should <= 4KB

# default value is 256 bytes

# since V3.00

slot_min_size = 256

# V3.0引入的參數(shù)。

# 只有文件大小<=這個(gè)參數(shù)值的文件,才會(huì)合并存儲(chǔ)。如果一個(gè)文件的大小大于這個(gè)參數(shù)值,將直接保存到一個(gè)文件中(即不采用合并存儲(chǔ)方式)。

# the max slot size, should > slot_min_size

# store the upload file to trunk file when it's size <=? this value

# default value is 16MB

# since V3.00

slot_max_size = 16MB

# V3.0引入的參數(shù)。

# 合并存儲(chǔ)的trunk file大小,至少4MB,缺省值是64MB。不建議設(shè)置得過(guò)大

# the trunk file size, should >= 4MB

# default value is 64MB

# since V3.00

trunk_file_size = 64MB

# 是否提前創(chuàng)建trunk file。只有當(dāng)這個(gè)參數(shù)為true,下面3個(gè)以trunk_create_file_打頭的參數(shù)才有效

# if create trunk file advancely

# default value is false

# since V3.06

trunk_create_file_advance = false

# 提前創(chuàng)建trunk file的起始時(shí)間點(diǎn)(基準(zhǔn)時(shí)間),02:00表示第一次創(chuàng)建的時(shí)間點(diǎn)是凌晨2點(diǎn)

# the time base to create trunk file

# the time format: HH:MM

# default value is 02:00

# since V3.06

trunk_create_file_time_base = 02:00

# 創(chuàng)建trunk file的時(shí)間間隔,單位為秒。如果每天只提前創(chuàng)建一次,則設(shè)置為86400

# the interval of create trunk file, unit: second

# default value is 38400 (one day)

# since V3.06

trunk_create_file_interval = 86400

# 提前創(chuàng)建trunk file時(shí),需要達(dá)到的空閑trunk大小

# 比如本參數(shù)為20G,而當(dāng)前空閑trunk為4GB,那么只需要?jiǎng)?chuàng)建16GB的trunk file即可

# the threshold to create trunk file

# when the free trunk file size less than the threshold, will create

# the trunk files

# default value is 0

# since V3.06

trunk_create_file_space_threshold = 20G

# trunk初始化時(shí),是否檢查可用空間是否被占用

# if check trunk space occupying when loading trunk free spaces

# the occupied spaces will be ignored

# default value is false

# since V3.09

# NOTICE: set this parameter to true will slow the loading of trunk spaces

# when startup. you should set this parameter to true when neccessary.

trunk_init_check_occupying = false

# 是否無(wú)條件從trunk binlog中加載trunk可用空間信息

# FastDFS缺省是從快照文件storage_trunk.dat中加載trunk可用空間,

# 該文件的第一行記錄的是trunk binlog的offset,然后從binlog的offset開始加載

# if ignore storage_trunk.dat, reload from trunk binlog

# default value is false

# since V3.10

# set to true once for version upgrade when your version less than V3.10

trunk_init_reload_from_binlog = false

# 是否使用server ID作為storage server標(biāo)識(shí)

# if use storage ID instead of IP address

# default value is false

# since V4.00

use_storage_id = false

# use_storage_id 設(shè)置為true,才需要設(shè)置本參數(shù)

# 在文件中設(shè)置組名、server ID和對(duì)應(yīng)的IP地址,參見源碼目錄下的配置示例:conf/storage_ids.conf

# specify storage ids filename, can use relative or absolute path

# since V4.00

storage_ids_filename = storage_ids.conf

#文件名中的id類型,有ip和id兩種,只有當(dāng)use_storage_id設(shè)置為true時(shí)該參數(shù)才有效

# id type of the storage server in the filename, values are:

## ip: the ip address of the storage server

## id: the server id of the storage server

# this paramter is valid only when use_storage_id set to true

# default value is ip

# since V4.03

id_type_in_filename = ip

# 存儲(chǔ)從文件是否采用symbol link(符號(hào)鏈接)方式

# 如果設(shè)置為true,一個(gè)從文件將占用兩個(gè)文件:原始文件及指向它的符號(hào)鏈接

# if store slave file use symbol link

# default value is false

# since V4.01

store_slave_file_use_link = false

# 是否定期輪轉(zhuǎn)error log,目前僅支持一天輪轉(zhuǎn)一次

# if rotate the error log every day

# default value is false

# since V4.02

rotate_error_log = false

# error log定期輪轉(zhuǎn)的時(shí)間點(diǎn),只有當(dāng)rotate_error_log設(shè)置為true時(shí)有效

# rotate error log time base, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

# default value is 00:00

# since V4.02

error_log_rotate_time=00:00

# error log按大小輪轉(zhuǎn)

# 設(shè)置為0表示不按文件大小輪轉(zhuǎn),否則當(dāng)error log達(dá)到該大小,就會(huì)輪轉(zhuǎn)到新文件中

# rotate error log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_error_log_size = 0

# 是否使用連接池

# if use connection pool

# default value is false

# since V4.05

use_connection_pool = false

# 如果一個(gè)連接的空閑時(shí)間超過(guò)這個(gè)值將會(huì)被自動(dòng)關(guān)閉

# connections whose the idle time exceeds this time will be closed

# unit: second

# default value is 3600

# since V4.05

connection_pool_max_idle_time = 3600

# 用于提供http服務(wù)的端口

# HTTP port on this tracker server

http.server_port=8080

# 檢查http server是否還在工作的時(shí)間間隔,如果該值小于0則永遠(yuǎn)不檢查

# check storage HTTP server alive interval seconds

# <= 0 for never check

# default value is 30

http.check_alive_interval=30

# 檢查http server是否存活的類型,有tcp和http兩種

# tcp方式只有http端口被連接

# http方式檢查必須返回狀態(tài)值200

# check storage HTTP server alive type, values are:

#? tcp : connect to the storge server with HTTP port only,

#? ? ? ? do not request and get response

#? http: storage check alive url must return http status 200

# default value is tcp

http.check_alive_type=tcp

# check storage HTTP server alive uri/url

# NOTE: storage embed HTTP server support uri: /status.html

http.check_alive_uri=/status.html

二、storage.conf

# 這個(gè)配置文件是否無(wú)效,false表示有效

# is this config file disabled

# false for enabled

# true for disabled

disabled=false

# 指定 此 storage server 所在組(卷)

# the name of the group this storage server belongs to

group_name=group1

# 是否綁定IP

# bind_addr= 后面為綁定的IP地址 (常用于服務(wù)器有多個(gè)IP但只希望一個(gè)IP提供服務(wù))。如果不填則表示所有的(一般不填就OK)

# bind an address of this host

# empty for bind all addresses of this host

bind_addr=

# bind_addr通常是針對(duì)server的。當(dāng)指定bind_addr時(shí),本參數(shù)才有效。

# 本storage server作為client連接其他服務(wù)器(如tracker server、其他storage server),是否綁定bind_addr。

# if bind an address of this host when connect to other servers

# (this storage server as a client)

# true for binding the address configed by above parameter: "bind_addr"

# false for binding any address of this host

client_bind=true

# storage server服務(wù)端口

# the storage server port

port=23000

# 連接超時(shí)時(shí)間,針對(duì)socket套接字函數(shù)connect

# connect timeout in seconds

# default value is 30s

connect_timeout=30

# storage server 網(wǎng)絡(luò)超時(shí)時(shí)間,單位為秒。發(fā)送或接收數(shù)據(jù)時(shí),如果在超時(shí)時(shí)間后還不能發(fā)送或接收數(shù)據(jù),則本次網(wǎng)絡(luò)通信失敗。

# network timeout in seconds

# default value is 30s

network_timeout=60

# 心跳間隔時(shí)間,單位為秒 (這里是指主動(dòng)向tracker server 發(fā)送心跳)

# heart beat interval in seconds

heart_beat_interval=30

# storage server向tracker server報(bào)告磁盤剩余空間的時(shí)間間隔,單位為秒

# disk usage report interval in seconds

stat_report_interval=60

# base_path 目錄地址,根目錄必須存在? 子目錄會(huì)自動(dòng)生成 (注 :這里不是上傳的文件存放的地址,之前是的,在某個(gè)版本后更改了)

# the base path to store data and log files

base_path=/home/yuqing/fastdfs

# 系統(tǒng)提供服務(wù)時(shí)的最大連接數(shù)

# max concurrent connections the server supported

# default value is 256

# more max_connections means more memory will be used

max_connections=256

# V2.0引入本參數(shù)。設(shè)置隊(duì)列結(jié)點(diǎn)的buffer大小。工作隊(duì)列消耗的內(nèi)存大小 = buff_size * max_connections

# 設(shè)置得大一些,系統(tǒng)整體性能會(huì)有所提升。

# 消耗的內(nèi)存請(qǐng)不要超過(guò)系統(tǒng)物理內(nèi)存大小。另外,對(duì)于32位系統(tǒng),請(qǐng)注意使用到的內(nèi)存不要超過(guò)3GB

# the buff size to recv / send data

# this parameter must more than 8KB

# default value is 64KB

# since V2.00

buff_size = 256KB

# 工作線程的數(shù)量,工作線程用于處理網(wǎng)絡(luò)IO,應(yīng)當(dāng)小于max_connections的值

# work thread count, should <= max_connections

# work thread deal network io

# default value is 4

# since V2.00

work_threads=4

# V2.0引入本參數(shù)。磁盤IO讀寫是否分離,缺省是分離的

# if disk read / write separated

##? false for mixed read and write

##? true for separated read and write

# default value is true

# since V2.00

disk_rw_separated = true

# V2.0引入本參數(shù)。針對(duì)單個(gè)存儲(chǔ)路徑的讀線程數(shù),缺省值為1。

# 讀寫分離時(shí),系統(tǒng)中的讀線程數(shù) = disk_reader_threads * store_path_count

# 讀寫混合時(shí),系統(tǒng)中的讀寫線程數(shù) = (disk_reader_threads + disk_writer_threads) * store_path_count

# disk reader thread count per store base path

# for mixed read / write, this parameter can be 0

# default value is 1

# since V2.00

disk_reader_threads = 1

# V2.0引入本參數(shù)。針對(duì)單個(gè)存儲(chǔ)路徑的寫線程數(shù),缺省值為1。

# 讀寫分離時(shí),系統(tǒng)中的寫線程數(shù) = disk_writer_threads * store_path_count

# 讀寫混合時(shí),系統(tǒng)中的讀寫線程數(shù) = (disk_reader_threads + disk_writer_threads) * store_path_count

# disk writer thread count per store base path

# for mixed read / write, this parameter can be 0

# default value is 1

# since V2.00

disk_writer_threads = 1

# 同步文件時(shí),如果從binlog中沒(méi)有讀到要同步的文件,休眠N毫秒后重新讀取。0表示不休眠,立即再次嘗試讀取。

# 出于CPU消耗考慮,不建議設(shè)置為0。如何希望同步盡可能快一些,可以將本參數(shù)設(shè)置得小一些,比如設(shè)置為10ms

# when no entry to sync, try read binlog again after X milliseconds

# must > 0, default value is 200ms

sync_wait_msec=50

# 同步上一個(gè)文件后,再同步下一個(gè)文件的時(shí)間間隔,單位為毫秒,0表示不休眠,直接同步下一個(gè)文件。

# after sync a file, usleep milliseconds

# 0 for sync successively (never call usleep)

sync_interval=0

# 下面二個(gè)一起解釋。允許系統(tǒng)同步的時(shí)間段 (默認(rèn)是全天) 。一般用于避免高峰同步產(chǎn)生一些問(wèn)題而設(shè)定,相信sa都會(huì)明白

# storage sync start time of a day, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

sync_start_time=00:00

# storage sync end time of a day, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

sync_end_time=23:59

# 同步完N個(gè)文件后,把storage的mark文件同步到磁盤

# 注:如果mark文件內(nèi)容沒(méi)有變化,則不會(huì)同步

# write to the mark file after sync N files

# default value is 500

write_mark_file_freq=500

# 存放文件時(shí)storage server支持多個(gè)路徑(例如磁盤)。這里配置存放文件的基路徑數(shù)目,通常只配一個(gè)目錄。

# path(disk or mount point) count, default value is 1

store_path_count=1

# 逐一配置store_path個(gè)路徑,索引號(hào)基于0。注意配置方法后面有0,1,2 ......,需要配置0到store_path - 1。

# 如果不配置base_path0,那邊它就和base_path對(duì)應(yīng)的路徑一樣。

# store_path#, based 0, if store_path0 not exists, it's value is base_path

# the paths must be exist

store_path0=/home/yuqing/fastdfs

#store_path1=/home/yuqing/fastdfs2

# FastDFS存儲(chǔ)文件時(shí),采用了兩級(jí)目錄。這里配置存放文件的目錄個(gè)數(shù) (系統(tǒng)的存儲(chǔ)機(jī)制,大家看看文件存儲(chǔ)的目錄就知道了)

# 如果本參數(shù)只為N(如:256),那么storage server在初次運(yùn)行時(shí),會(huì)自動(dòng)創(chuàng)建 N * N 個(gè)存放文件的子目錄。

# subdir_count? * subdir_count directories will be auto created under each

# store_path (disk), value can be 1 to 256, default value is 256

subdir_count_per_path=256

# tracker_server 的列表 要寫端口的哦 (再次提醒是主動(dòng)連接tracker_server )

# 有多個(gè)tracker server時(shí),每個(gè)tracker server寫一行

# tracker_server can ocur more than once, and tracker_server format is

#? "host:port", host can be hostname or ip address

tracker_server=192.168.209.121:22122

# 日志級(jí)別

#standard log level as syslog, case insensitive, value list:

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info

# 操作系統(tǒng)運(yùn)行FastDFS的用戶組 (不填 就是當(dāng)前用戶組,哪個(gè)啟動(dòng)進(jìn)程就是哪個(gè))

#unix group name to run this program,

#not set (empty) means run by the group of current user

run_by_group=

# 操作系統(tǒng)運(yùn)行FastDFS的用戶 (不填 就是當(dāng)前用戶,哪個(gè)啟動(dòng)進(jìn)程就是哪個(gè))

#unix username to run this program,

#not set (empty) means run by current user

run_by_user=

# 允許連接本storage server的IP地址列表 (不包括自帶HTTP服務(wù)的所有連接)

# 可以配置多行,每行都會(huì)起作用

# allow_hosts can ocur more than once, host can be hostname or ip address,

# "*" means match all ip addresses, can use range like this: 10.0.1.[1-15,20] or

# host[01-08,20-25].domain.com, for example:

# allow_hosts=10.0.1.[1-15,20]

# allow_hosts=host[01-08,20-25].domain.com

allow_hosts=*

#? 文件在data目錄下分散存儲(chǔ)策略。

# 0: 輪流存放,在一個(gè)目錄下存儲(chǔ)設(shè)置的文件數(shù)后(參數(shù)file_distribute_rotate_count中設(shè)置文件數(shù)),使用下一個(gè)目錄進(jìn)行存儲(chǔ)。

# 1: 隨機(jī)存儲(chǔ),根據(jù)文件名對(duì)應(yīng)的hash code來(lái)分散存儲(chǔ)。

# the mode of the files distributed to the data path

# 0: round robin(default)

# 1: random, distributted by hash code

file_distribute_path_mode=0

# 當(dāng)上面的參數(shù)file_distribute_path_mode配置為0(輪流存放方式)時(shí),本參數(shù)有效。

# 當(dāng)一個(gè)目錄下的文件存放的文件數(shù)達(dá)到本參數(shù)值時(shí),后續(xù)上傳的文件存儲(chǔ)到下一個(gè)目錄中。

# valid when file_distribute_to_path is set to 0 (round robin),

# when the written file count reaches this number, then rotate to next path

# default value is 100

file_distribute_rotate_count=100

# 當(dāng)寫入大文件時(shí),每寫入N個(gè)字節(jié),調(diào)用一次系統(tǒng)函數(shù)fsync將內(nèi)容強(qiáng)行同步到硬盤。0表示從不調(diào)用fsync

# call fsync to disk when write big file

# 0: never call fsync

# other: call fsync when written bytes >= this bytes

# default value is 0 (never call fsync)

fsync_after_written_bytes=0

# 同步或刷新日志信息到硬盤的時(shí)間間隔,單位為秒

# 注意:storage server 的日志信息不是時(shí)時(shí)寫硬盤的,而是先寫內(nèi)存。

# sync log buff to disk every interval seconds

# must > 0, default value is 10 seconds

sync_log_buff_interval=10

# 同步binglog(更新操作日志)到硬盤的時(shí)間間隔,單位為秒

# 本參數(shù)會(huì)影響新上傳文件同步延遲時(shí)間

# sync binlog buff / cache to disk every interval seconds

# default value is 60 seconds

sync_binlog_buff_interval=10

# 把storage的stat文件同步到磁盤的時(shí)間間隔,單位為秒。

# 注:如果stat文件內(nèi)容沒(méi)有變化,不會(huì)進(jìn)行同步

# sync storage stat info to disk every interval seconds

# default value is 300 seconds

sync_stat_file_interval=300

# 線程棧的大小。FastDFS server端采用了線程方式。

# 對(duì)于V1.x,storage server線程棧不應(yīng)小于512KB;對(duì)于V2.0,線程棧大于等于128KB即可。

# 線程棧越大,一個(gè)線程占用的系統(tǒng)資源就越多。

# 對(duì)于V1.x,如果要啟動(dòng)更多的線程(max_connections),可以適當(dāng)降低本參數(shù)值。

# thread stack size, should >= 512KB

# default value is 512KB

thread_stack_size=512KB

# 本storage server作為源服務(wù)器,上傳文件的優(yōu)先級(jí),可以為負(fù)數(shù)。值越小,優(yōu)先級(jí)越高。這里就和 tracker.conf 中store_server= 2時(shí)的配置相對(duì)應(yīng)了

# the priority as a source server for uploading file.

# the lower this value, the higher its uploading priority.

# default value is 10

upload_priority=10

# 網(wǎng)卡別名前綴,就像Linux中的eth,可以使用ifconfig -a命令來(lái)查看

# 多個(gè)別名之間使用逗號(hào)分隔,如果不設(shè)置這個(gè)值表示自動(dòng)的被系統(tǒng)類型設(shè)置

# the NIC alias prefix, such as eth in Linux, you can see it by ifconfig -a

# multi aliases split by comma. empty value means auto set by OS type

# default values is empty

if_alias_prefix=

# 是否檢測(cè)上傳文件已經(jīng)存在。如果已經(jīng)存在,則不存在文件內(nèi)容,建立一個(gè)符號(hào)鏈接以節(jié)省磁盤空間。

# 這個(gè)應(yīng)用要配合FastDHT 使用,所以打開前要先安裝FastDHT

# 1或yes 是檢測(cè),0或no 是不檢測(cè)

# if check file duplicate, when set to true, use FastDHT to store file indexes

# 1 or yes: need check

# 0 or no: do not check

# default value is 0

check_file_duplicate=0

# 文件去重時(shí),文件內(nèi)容的簽名方式:

# hash: 4個(gè)hash code

# md5:MD5

# file signature method for check file duplicate

## hash: four 32 bits hash code

## md5: MD5 signature

# default value is hash

# since V4.01

file_signature_method=hash

# 當(dāng)上個(gè)參數(shù)設(shè)定為1 或 yes時(shí) (true/on也是可以的) , 在FastDHT中的命名空間

# namespace for storing file indexes (key-value pairs)

# this item must be set when check_file_duplicate is true / on

key_namespace=FastDFS

# 與FastDHT servers 的連接方式 (是否為持久連接) ,默認(rèn)是0(短連接方式)??梢钥紤]使用長(zhǎng)連接,這要看FastDHT server的連接數(shù)是否夠用。

# set keep_alive to 1 to enable persistent connection with FastDHT servers

# default value is 0 (short connection)

keep_alive=0

# 下面是關(guān)于FastDHT servers 的設(shè)定 需要對(duì)FastDHT servers 有所了解,這里只說(shuō)字面意思了

# 可以通過(guò) #include filename 方式來(lái)加載 FastDHT servers? 的配置,裝上FastDHT就知道該如何配置啦。

# 同樣要求 check_file_duplicate=1 時(shí)才有用,不然系統(tǒng)會(huì)忽略

# fdht_servers.conf 記載的是 FastDHT servers 列表

# you can use "#include filename" (not include double quotes) directive to

# load FastDHT server list, when the filename is a relative path such as

# pure filename, the base path is the base path of current/this config file.

# must set FastDHT server list when check_file_duplicate is true / on

# please see INSTALL of FastDHT for detail

##include /home/yuqing/fastdht/conf/fdht_servers.conf

# 是否將文件操作記錄到access log

# if log to access log

# default value is false

# since V4.00

use_access_log = false

# 是否定期輪轉(zhuǎn)access log,目前僅支持一天輪轉(zhuǎn)一次

# if rotate the access log every day

# default value is false

# since V4.00

rotate_access_log = false

# access log定期輪轉(zhuǎn)的時(shí)間點(diǎn),只有當(dāng)rotate_access_log設(shè)置為true時(shí)有效

# rotate access log time base, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

# default value is 00:00

# since V4.00

access_log_rotate_time=00:00

# 是否定期輪轉(zhuǎn)error log,目前僅支持一天輪轉(zhuǎn)一次

# if rotate the error log every day

# default value is false

# since V4.02

rotate_error_log = false

# error log定期輪轉(zhuǎn)的時(shí)間點(diǎn),只有當(dāng)rotate_error_log設(shè)置為true時(shí)有效

# rotate error log time base, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

# default value is 00:00

# since V4.02

error_log_rotate_time=00:00

# access log按文件大小輪轉(zhuǎn)

# 設(shè)置為0表示不按文件大小輪轉(zhuǎn),否則當(dāng)access log達(dá)到該大小,就會(huì)輪轉(zhuǎn)到新文件中

# rotate access log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_access_log_size = 0

# error log按文件大小輪轉(zhuǎn)

# 設(shè)置為0表示不按文件大小輪轉(zhuǎn),否則當(dāng)error log達(dá)到該大小,就會(huì)輪轉(zhuǎn)到新文件中

# rotate error log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_error_log_size = 0

# 文件同步的時(shí)候,是否忽略無(wú)效的binlog記錄

# if skip the invalid record when sync file

# default value is false

# since V4.02

file_sync_skip_invalid_record=false

# 是否使用連接池

# if use connection pool

# default value is false

# since V4.05

use_connection_pool = false

# 如果一個(gè)連接的空閑時(shí)間超過(guò)這個(gè)值將會(huì)被自動(dòng)關(guān)閉

# connections whose the idle time exceeds this time will be closed

# unit: second

# default value is 3600

# since V4.05

connection_pool_max_idle_time = 3600

# storage server上web server域名,通常僅針對(duì)單獨(dú)部署的web server。這樣URL中就可以通過(guò)域名方式來(lái)訪問(wèn)storage server上的文件了,

# 這個(gè)參數(shù)為空就是IP地址的方式。

# use the ip address of this storage server if domain_name is empty,

# else this domain name will ocur in the url redirected by the tracker server

http.domain_name=

# web server的端口

# the port of the web server on this storage server

http.server_port=8888

三、client.conf

# 連接超時(shí)時(shí)間,針對(duì)socket套接字函數(shù)connect

# connect timeout in seconds

# default value is 30s

connect_timeout=30

# client的網(wǎng)絡(luò)超時(shí),單位為秒。發(fā)送或接收數(shù)據(jù)時(shí),如果在超時(shí)時(shí)間后還不能發(fā)送或接收數(shù)據(jù),則本次網(wǎng)絡(luò)通信失敗

# network timeout in seconds

# default value is 30s

network_timeout=60

# 存儲(chǔ)日志的根目錄

# the base path to store log files

base_path=/home/yuqing/fastdfs

# tracker_server 的列表 要寫端口

# tracker_server can ocur more than once, and tracker_server format is

#? "host:port", host can be hostname or ip address

tracker_server=192.168.0.197:22122

# 日志的級(jí)別

#standard log level as syslog, case insensitive, value list:

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info

# 是否使用連接池

# if use connection pool

# default value is false

# since V4.05

use_connection_pool = false

# 如果一個(gè)連接的空閑時(shí)間超過(guò)這個(gè)值將會(huì)被自動(dòng)關(guān)閉

# connections whose the idle time exceeds this time will be closed

# unit: second

# default value is 3600

# since V4.05

connection_pool_max_idle_time = 3600

# 是否從FastDFS的tracker server加載參數(shù)

# if load FastDFS parameters from tracker server

# since V4.05

# default value is false

load_fdfs_parameters_from_tracker=false

是否使用storage ID 代替IP,只有當(dāng)load_fdfs_parameters_from_tracker為false時(shí)才有效

# if use storage ID instead of IP address

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# default value is false

# since V4.05

use_storage_id = false

# 指定storage_ids的路徑,可以使用絕對(duì)路徑和相對(duì)路徑,只有當(dāng)load_fdfs_parameters_from_tracker為false時(shí)才有效

# specify storage ids filename, can use relative or absolute path

# same as tracker.conf

# valid only when load_fdfs_parameters_from_tracker is false

# since V4.05

storage_ids_filename = storage_ids.conf

#tracker server的http端口

#HTTP settings

http.tracker_server_port=8080

#use "#include" directive to include HTTP other settiongs

##include http.conf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,400評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,136評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,452評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,818評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,997評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,552評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,292評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,510評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,721評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評(píng)論 1 294
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,235評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,480評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,825評(píng)論 18 139
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc閱讀 2,899評(píng)論 0 0
  • Redis 配置文件示例 注意:想要讀取配置文件,Redis的第一個(gè)參數(shù)必須是文件的路徑 ./redis-serv...
    起個(gè)名忒難閱讀 1,220評(píng)論 0 1
  • “鈴鈴鈴……”,隨著小錘的擺動(dòng)這家伙支著腿在我的床頭柜上愉悅地跳來(lái)跳去,我頂著朦朧的睡眼,艱難地從被窩深處伸出手,...
    左青城閱讀 1,201評(píng)論 6 5
  • 參加多維班已經(jīng)一個(gè)多月了,今天是第五期的總結(jié)。 同學(xué)們講的都很精彩,從八點(diǎn)多一只聽到十一點(diǎn)多,三個(gè)小時(shí),收貨也比較...
    飯桶_b662閱讀 208評(píng)論 0 0