一偷霉、tracker.conf
# 這個配置文件是否無效厨诸,false表示有效
# is this config file disabled
# false for enabled
# true for disabled
disabled=false
# 是否綁定IP
# bind_addr= 后面為綁定的IP地址 (常用于服務(wù)器有多個IP但只希望一個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
# 連接超時時間惭载,針對socket套接字函數(shù)connect
# connect timeout in seconds
# default value is 30s
connect_timeout=30
# tracker server的網(wǎng)絡(luò)超時恋拷,單位為秒敢订。發(fā)送或接收數(shù)據(jù)時王污,如果在超時時間后還不能發(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 目錄地址(根目錄必須存在,子目錄會自動創(chuàng)建)
# 附目錄說明:
#? tracker server目錄及文件結(jié)構(gòu):
#? ${base_path}
#? ? |__data
#? ? |? ? |__storage_groups.dat:存儲分組信息
#? ? |? ? |__storage_servers.dat:存儲服務(wù)器列表
#? ? |__logs
#? ? ? ? ? |__trackerd.log:tracker server日志文件
#數(shù)據(jù)文件storage_groups.dat和storage_servers.dat中的記錄之間以換行符(\n)分隔楚午,字段之間以西文逗號(,)分隔昭齐。
#storage_groups.dat中的字段依次為:
#? 1. group_name:組名
#? 2. storage_port:storage server端口號
#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ù)文件的截至時間(UNIX時間戳)
#? 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:最近一次源頭更新時間(更新操作來自客戶端)
#? 17. stat.last_sync_update:最近一次同步更新時間(更新操作來自其他storage server的同步)
# 系統(tǒng)提供服務(wù)時的最大連接數(shù)矾柜。對于V1.x阱驾,因一個連接由一個線程服務(wù),也就是工作線程數(shù)怪蔑。
# 對于V2.x里覆,最大連接數(shù)和工作線程數(shù)沒有任何關(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引入的這個參數(shù),工作線程數(shù)缆瓣,通常設(shè)置為CPU數(shù)
work_threads=4
# 上傳組(卷) 的方式 0:輪詢方式 1: 指定組 2: 平衡負載(選擇最大剩余空間的組(卷)上傳)
# 這里如果在應(yīng)用層指定了上傳到一個固定組,那么這個參數(shù)被繞過
# 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
# 當上一個參數(shù)設(shè)定為1 時 (store_lookup=1景醇,即指定組名時)让簿,必須設(shè)置本參數(shù)為系統(tǒng)中存在的一個組名。如果選擇其他的上傳方式,這個參數(shù)就沒有效了
# which group to upload file
# when store_lookup set to 1, must set store_group to the group name
store_group=group2
# 選擇哪個storage server 進行上傳操作(一個文件被上傳后赖条,這個storage server就相當于這個文件的storage server源,會對同組的storage server推送這個文件達到同步效果)
# 0: 輪詢方式
# 1: 根據(jù)ip 地址進行排序選擇第一個服務(wù)器(IP地址最小者)
# 2: 根據(jù)優(yōu)先級進行排序(上傳優(yōu)先級由storage server來設(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 中的哪個目錄進行上傳簿废。storage server可以有多個存放文件的base path(可以理解為多個磁盤)。
# 0: 輪流方式菩帝,多個目錄依次存放文件
# 2: 選擇剩余空間最大的目錄存放文件(注意:剩余磁盤空間是動態(tài)的咖城,因此存儲到的目錄或磁盤可能也是變化的)
# 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
# 選擇哪個 storage server 作為下載服務(wù)器
# 0: 輪詢方式茬腿,可以下載當前文件的任一storage server
# 1: 哪個為源storage server 就用哪一個 (前面說過了這個storage server源 是怎樣產(chǎn)生的) 就是之前上傳到哪個storage server服務(wù)器就是哪個了
# 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)用需求空間宜雀∏衅剑可以用絕對值或者百分比(V4開始支持百分比方式)。
#(指出 如果同組的服務(wù)器的硬盤大小一樣,以最小的為準,也就是只要同組中有一臺服務(wù)器達到這個標準了,這個標準就生效,原因就是因為他們進行備份)
# 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%
# 選擇日志級別
#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)運行FastDFS的用戶組 (不填 就是當前用戶組,哪個啟動進程就是哪個)
#unix group name to run this program,
#not set (empty) means run by the group of current user
run_by_group=
# 操作系統(tǒng)運行FastDFS的用戶 (不填 就是當前用戶,哪個啟動進程就是哪個)
#unix username to run this program,
#not set (empty) means run by current user
run_by_user=
# 可以連接到此 tracker server 的ip范圍(對所有類型的連接都有影響辐董,包括客戶端悴品,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=*
# 同步或刷新日志信息到硬盤的時間間隔,單位為秒
# 注意:tracker server 的日志不是時時寫硬盤的简烘,而是先寫內(nèi)存
# sync log buff to disk every interval seconds
# default value is 10 seconds
sync_log_buff_interval = 10
# 檢測 storage server 存活的時間隔苔严,單位為秒。
# storage server定期向tracker server 發(fā)心跳孤澎,如果tracker server在一個check_active_interval內(nèi)還沒有收到storage server的一次心跳届氢,那邊將認為該storage server已經(jīng)下線。所以本參數(shù)值必須大于storage server配置的心跳時間間隔覆旭。通常配置為storage server心跳時間間隔的2倍或3倍
# check storage server alive interval seconds
check_active_interval = 120
# 線程棧的大小退子。FastDFS server端采用了線程方式。tracker server線程棧不應(yīng)小于64KB
# 線程棧越大型将,一個線程占用的系統(tǒng)資源就越多寂祥。如果要啟動更多的線程(V1.x對應(yīng)的參數(shù)為max_connections,
V2.0為work_threads)七兜,可以適當降低本參數(shù)值
# thread stack size, should >= 64KB
# default value is 64KB
thread_stack_size = 64KB
# 這個參數(shù)控制當storage server IP地址改變時丸凭,集群是否自動調(diào)整。注:只有在storage server進程重啟時才完成自動調(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ù)腕铸。存儲服務(wù)器之間同步文件的最大延遲時間惜犀,缺省為1天。根據(jù)實際情況進行調(diào)整
# 注:本參數(shù)并不影響文件同步過程恬惯。本參數(shù)僅在下載文件時向拆,判斷文件是否已經(jīng)被同步完成的一個閥值(經(jīng)驗值)
# 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ù)。存儲服務(wù)器同步一個文件需要消耗的最大時間酪耳,缺省為300s浓恳,即5分鐘。
# 注:本參數(shù)并不影響文件同步過程碗暗。本參數(shù)僅在下載文件時颈将,作為判斷當前文件是否被同步完成的一個閥值(經(jīng)驗值)
# 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ù)。是否使用小文件合并存儲特性言疗,缺省是關(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個字節(jié)噪奄,系統(tǒng)也會分配slot_min_size個字節(jié)
# the min slot size, should <= 4KB
# default value is 256 bytes
# since V3.00
slot_min_size = 256
# V3.0引入的參數(shù)死姚。
# 只有文件大小<=這個參數(shù)值的文件人乓,才會合并存儲。如果一個文件的大小大于這個參數(shù)值都毒,將直接保存到一個文件中(即不采用合并存儲方式)色罚。
# 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ù)。
# 合并存儲的trunk file大小账劲,至少4MB戳护,缺省值是64MB。不建議設(shè)置得過大
# the trunk file size, should >= 4MB
# default value is 64MB
# since V3.00
trunk_file_size = 64MB
# 是否提前創(chuàng)建trunk file瀑焦。只有當這個參數(shù)為true腌且,下面3個以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的起始時間點(基準時間),02:00表示第一次創(chuàng)建的時間點是凌晨2點
# 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的時間間隔榛瓮,單位為秒铺董。如果每天只提前創(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時榆芦,需要達到的空閑trunk大小
# 比如本參數(shù)為20G柄粹,而當前空閑trunk為4GB喘鸟,那么只需要創(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初始化時匆绣,是否檢查可用空間是否被占用
# 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
# 是否無條件從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標識
# 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和對應(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兩種,只有當use_storage_id設(shè)置為true時該參數(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
# 存儲從文件是否采用symbol link(符號鏈接)方式
# 如果設(shè)置為true恨豁,一個從文件將占用兩個文件:原始文件及指向它的符號鏈接
# 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)的時間點,只有當rotate_error_log設(shè)置為true時有效
# 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)橘蜜,否則當error log達到該大小菊匿,就會輪轉(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
# 如果一個連接的空閑時間超過這個值將會被自動關(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是否還在工作的時間間隔,如果該值小于0則永遠不檢查
# 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
# 這個配置文件是否無效,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ù)器有多個IP但只希望一個IP提供服務(wù))象颖。如果不填則表示所有的(一般不填就OK)
# bind an address of this host
# empty for bind all addresses of this host
bind_addr=
# bind_addr通常是針對server的佩厚。當指定bind_addr時,本參數(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
# 連接超時時間钙姊,針對socket套接字函數(shù)connect
# connect timeout in seconds
# default value is 30s
connect_timeout=30
# storage server 網(wǎng)絡(luò)超時時間筋讨,單位為秒。發(fā)送或接收數(shù)據(jù)時摸恍,如果在超時時間后還不能發(fā)送或接收數(shù)據(jù)悉罕,則本次網(wǎng)絡(luò)通信失敗。
# network timeout in seconds
# default value is 30s
network_timeout=60
# 心跳間隔時間立镶,單位為秒 (這里是指主動向tracker server 發(fā)送心跳)
# heart beat interval in seconds
heart_beat_interval=30
# storage server向tracker server報告磁盤剩余空間的時間間隔壁袄,單位為秒
# disk usage report interval in seconds
stat_report_interval=60
# base_path 目錄地址,根目錄必須存在? 子目錄會自動生成 (注 :這里不是上傳的文件存放的地址,之前是的,在某個版本后更改了)
# the base path to store data and log files
base_path=/home/yuqing/fastdfs
# 系統(tǒng)提供服務(wù)時的最大連接數(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è)置隊列結(jié)點的buffer大小媚媒。工作隊列消耗的內(nèi)存大小 = buff_size * max_connections
# 設(shè)置得大一些嗜逻,系統(tǒng)整體性能會有所提升。
# 消耗的內(nèi)存請不要超過系統(tǒng)物理內(nèi)存大小缭召。另外栈顷,對于32位系統(tǒng),請注意使用到的內(nèi)存不要超過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)當小于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ù)靡努。針對單個存儲路徑的讀線程數(shù),缺省值為1晓折。
# 讀寫分離時惑朦,系統(tǒng)中的讀線程數(shù) = disk_reader_threads * store_path_count
# 讀寫混合時,系統(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ù)漓概。針對單個存儲路徑的寫線程數(shù)漾月,缺省值為1。
# 讀寫分離時胃珍,系統(tǒng)中的寫線程數(shù) = disk_writer_threads * store_path_count
# 讀寫混合時梁肿,系統(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
# 同步文件時,如果從binlog中沒有讀到要同步的文件堂鲜,休眠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
# 同步上一個文件后厌秒,再同步下一個文件的時間間隔,單位為毫秒擅憔,0表示不休眠鸵闪,直接同步下一個文件。
# after sync a file, usleep milliseconds
# 0 for sync successively (never call usleep)
sync_interval=0
# 下面二個一起解釋暑诸。允許系統(tǒng)同步的時間段 (默認是全天) 蚌讼。一般用于避免高峰同步產(chǎn)生一些問題而設(shè)定,相信sa都會明白
# 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個文件后个榕,把storage的mark文件同步到磁盤
# 注:如果mark文件內(nèi)容沒有變化篡石,則不會同步
# write to the mark file after sync N files
# default value is 500
write_mark_file_freq=500
# 存放文件時storage server支持多個路徑(例如磁盤)。這里配置存放文件的基路徑數(shù)目西采,通常只配一個目錄凰萨。
# path(disk or mount point) count, default value is 1
store_path_count=1
# 逐一配置store_path個路徑,索引號基于0械馆。注意配置方法后面有0,1,2 ......胖眷,需要配置0到store_path - 1。
# 如果不配置base_path0霹崎,那邊它就和base_path對應(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存儲文件時,采用了兩級目錄仿畸。這里配置存放文件的目錄個數(shù) (系統(tǒng)的存儲機制,大家看看文件存儲的目錄就知道了)
# 如果本參數(shù)只為N(如:256)食棕,那么storage server在初次運行時,會自動創(chuàng)建 N * N 個存放文件的子目錄错沽。
# 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 的列表 要寫端口的哦 (再次提醒是主動連接tracker_server )
# 有多個tracker server時,每個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
# 日志級別
#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)運行FastDFS的用戶組 (不填 就是當前用戶組,哪個啟動進程就是哪個)
#unix group name to run this program,
#not set (empty) means run by the group of current user
run_by_group=
# 操作系統(tǒng)運行FastDFS的用戶 (不填 就是當前用戶,哪個啟動進程就是哪個)
#unix username to run this program,
#not set (empty) means run by current user
run_by_user=
# 允許連接本storage server的IP地址列表 (不包括自帶HTTP服務(wù)的所有連接)
# 可以配置多行眶拉,每行都會起作用
# 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目錄下分散存儲策略千埃。
# 0: 輪流存放,在一個目錄下存儲設(shè)置的文件數(shù)后(參數(shù)file_distribute_rotate_count中設(shè)置文件數(shù))忆植,使用下一個目錄進行存儲放可。
# 1: 隨機存儲,根據(jù)文件名對應(yīng)的hash code來分散存儲朝刊。
# 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
# 當上面的參數(shù)file_distribute_path_mode配置為0(輪流存放方式)時耀里,本參數(shù)有效。
# 當一個目錄下的文件存放的文件數(shù)達到本參數(shù)值時拾氓,后續(xù)上傳的文件存儲到下一個目錄中冯挎。
# 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
# 當寫入大文件時,每寫入N個字節(jié)咙鞍,調(diào)用一次系統(tǒng)函數(shù)fsync將內(nèi)容強行同步到硬盤房官。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
# 同步或刷新日志信息到硬盤的時間間隔趾徽,單位為秒
# 注意:storage server 的日志信息不是時時寫硬盤的,而是先寫內(nèi)存翰守。
# sync log buff to disk every interval seconds
# must > 0, default value is 10 seconds
sync_log_buff_interval=10
# 同步binglog(更新操作日志)到硬盤的時間間隔孵奶,單位為秒
# 本參數(shù)會影響新上傳文件同步延遲時間
# sync binlog buff / cache to disk every interval seconds
# default value is 60 seconds
sync_binlog_buff_interval=10
# 把storage的stat文件同步到磁盤的時間間隔,單位為秒蜡峰。
# 注:如果stat文件內(nèi)容沒有變化了袁,不會進行同步
# sync storage stat info to disk every interval seconds
# default value is 300 seconds
sync_stat_file_interval=300
# 線程棧的大小。FastDFS server端采用了線程方式湿颅。
# 對于V1.x早像,storage server線程棧不應(yīng)小于512KB;對于V2.0肖爵,線程棧大于等于128KB即可卢鹦。
# 線程棧越大,一個線程占用的系統(tǒng)資源就越多劝堪。
# 對于V1.x冀自,如果要啟動更多的線程(max_connections),可以適當降低本參數(shù)值秒啦。
# thread stack size, should >= 512KB
# default value is 512KB
thread_stack_size=512KB
# 本storage server作為源服務(wù)器熬粗,上傳文件的優(yōu)先級,可以為負數(shù)余境。值越小驻呐,優(yōu)先級越高。這里就和 tracker.conf 中store_server= 2時的配置相對應(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命令來查看
# 多個別名之間使用逗號分隔,如果不設(shè)置這個值表示自動的被系統(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=
# 是否檢測上傳文件已經(jīng)存在即舌。如果已經(jīng)存在佣盒,則不存在文件內(nèi)容,建立一個符號鏈接以節(jié)省磁盤空間顽聂。
# 這個應(yīng)用要配合FastDHT 使用肥惭,所以打開前要先安裝FastDHT
# 1或yes 是檢測,0或no 是不檢測
# 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
# 文件去重時紊搪,文件內(nèi)容的簽名方式:
# hash: 4個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
# 當上個參數(shù)設(shè)定為1 或 yes時 (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 的連接方式 (是否為持久連接) ,默認是0(短連接方式)耀石∏6冢可以考慮使用長連接,這要看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è)定 需要對FastDHT servers 有所了解,這里只說字面意思了
# 可以通過 #include filename 方式來加載 FastDHT servers? 的配置奔浅,裝上FastDHT就知道該如何配置啦馆纳。
# 同樣要求 check_file_duplicate=1 時才有用,不然系統(tǒng)會忽略
# 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)的時間點鲁驶,只有當rotate_access_log設(shè)置為true時有效
# 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)的時間點舞骆,只有當rotate_error_log設(shè)置為true時有效
# 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)钥弯,否則當access log達到該大小,就會輪轉(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)督禽,否則當error log達到該大小脆霎,就會輪轉(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
# 文件同步的時候,是否忽略無效的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
# 如果一個連接的空閑時間超過這個值將會被自動關(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域名狈惫,通常僅針對單獨部署的web server睛蛛。這樣URL中就可以通過域名方式來訪問storage server上的文件了,
# 這個參數(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
# 連接超時時間,針對socket套接字函數(shù)connect
# connect timeout in seconds
# default value is 30s
connect_timeout=30
# client的網(wǎng)絡(luò)超時菱肖,單位為秒客冈。發(fā)送或接收數(shù)據(jù)時,如果在超時時間后還不能發(fā)送或接收數(shù)據(jù)稳强,則本次網(wǎng)絡(luò)通信失敗
# network timeout in seconds
# default value is 30s
network_timeout=60
# 存儲日志的根目錄
# 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
# 日志的級別
#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
# 如果一個連接的空閑時間超過這個值將會被自動關(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场仲,只有當load_fdfs_parameters_from_tracker為false時才有效
# 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的路徑,可以使用絕對路徑和相對路徑退疫,只有當load_fdfs_parameters_from_tracker為false時才有效
# 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