配置詳解
tracker 配置
配置項 | 默認值 | 其他配置值 | 簡述 |
---|---|---|---|
disabled | false | true | 是否禁用當前配置文件? false:不禁用,true:禁用 |
bind_addr | INADDR_ANY | 綁定該主機的地址。空表示綁定該主機的所有地址 | |
port | 22000 | tracker的服務端口 | |
connect_timeout | 30s | 連接超時時間 | |
network_timeout | 30s | 網絡超時時間 | |
base_path | 存儲和日誌文件的基礎路徑(必須配置項) | ||
max_connections | 256 | 最大連接數 | |
accept_threads | 1 | 接收線程數量 | |
work_threads | 4 | 工作線程數量,工作線程數量應該 <= 最大連接數 | |
store_lookup | 0 | 0:輪詢,1:指定分組,2:負載均衡,選擇空閒空間最大的分組上傳文件 | 定義如何選擇分組進行文件上傳 |
store_group | 應該上傳到哪個分組 ,當 store_lookup 配置爲1時,必須設置分組名字 | ||
store_server | 0 | 0:輪詢,1: 按照IP排序的第一臺服務器,2:按照優先級排序的第一臺服務器順序(最小) | 向哪個存儲服務上傳文件 |
store_path | 0 | 0:輪詢,1:負載均衡,選擇空閒空間最大的路徑上傳文件 | 存儲服務器上載文件的路徑(磁盤或掛載點)。 |
download_server | 0 | 0:輪詢,1: 當前文件上傳到的源存儲服務器 | 要從哪裏下載文件 |
reserved_storage_space | 爲系統或其他應用程序保留的存儲空間。如果組中任何存儲服務器的可用(可用)空間<= reserved_storage_space,則無法將任何文件上載到該組。字節單位可以是以下之一:G或g(GB),M或m(兆字節),K或k表示千字節(KB),字節(B)沒有單位XX.XX%作爲比率,例如reserved_storage_space = 10% | ||
run_by_group | 運行該程序的Unix組名,未設置(空)表示由當前用戶組運行。 | ||
run_by_user | 運行該程序的Unix用戶名,未設置(空)表示當前用戶運行。 | ||
allow_hosts | * | “ allow_hosts”可以出現多次,host可以是主機名或IP地址,“ *”表示匹配所有ip地址,可以使用以下範圍:10.0.1。[1-15,20]或host [01-08, 20-25] .domain.com,例如:allow_hosts = 10.0.1。[1-15,20] , allow_hosts = host [01-08,20-25] .domain.com | |
sync_log_buff_interval | 10 | 每隔幾秒鐘將日誌buff同步到磁盤。 | |
check_active_interval | 100 | 檢查存儲服務器的活動間隔秒數。 | |
thread_stack_size | 64KB | 線程堆棧大小,應大於等於64KB。 | |
storage_ip_changed_auto_adjust | true | false | 存儲服務器的IP地址更改時自動調整。 |
storage_sync_file_max_delay | 86400s(60天) | 存儲同步文件的最大延遲秒數。 | |
storage_sync_file_max_time | 300秒 | 存儲文件同步的最長時間。 | |
use_trunk_file | false | 如果使用主幹文件來存儲幾個小文件。 | |
slot_min_size | 256字節 | 最小插槽大小應小於等於4KB。是否認爲是小文件 | |
slot_max_size | 16MB | 最大插槽大小應> slot_min_size。當上傳文件的大小小於等於此值時,將其存儲到主幹文件中。 | |
trunk_file_size | 64 MB | 主幹文件大小應大於等於4MB。 | |
trunk_create_file_advance | false | 是否提前創建主幹文件 | |
trunk_create_file_time_base | 02:00 | 創建中繼文件的時基 。 時間格式:HH:MM。 | |
trunk_create_file_interval | 38400s | 創建Trunk文件的時間間隔,單位:秒。 | |
trunk_create_file_space_threshold | 0 | 閾值創建主幹文件時,可用主幹文件的大小小於閾值,將創建主幹文件。 | |
trunk_init_check_occupying | false | 裝載行李箱空閒空間時是否檢查行李箱空間佔用。佔用的空間將被忽略。注意:將此參數設置爲true會在啓動時減慢中繼空間的加載速度。您應在必要時將此參數設置爲true。 | |
trunk_init_reload_from_binlog | false | 如果忽略storage_trunk.dat,請從中繼binlog重新加載。當版本低於V3.10時,一次設置爲true即可進行版本升級。 | |
use_storage_id | false | 是否使用存儲ID而不是IP地址。 | |
storage_ids_filename | 指定存儲ID的文件名,可以使用相對或絕對路徑。 | ||
id_type_in_filename | ip | ip:存儲服務器的IP地址,id:存儲服務器的服務器ID | 文件名中存儲服務器的ID類型 |
store_slave_file_use_link | false | 如果存儲從文件,請使用符號鏈接。 | |
rotation_error_log | false | 是否每天循環寫入錯誤日誌。 | |
error_log_rotate_time | 00:00 | 循環錯誤日誌時基,時間格式:HH:MM。小時從0到23,分鐘從0到59。 | |
rotation_error_log_size | 0 | 當日志文件超過此大小時,旋轉錯誤日誌。0表示從不按日誌文件大小旋轉日誌文件 | |
log_file_keep_days | 0 | 保留幾天的日誌文件。0表示不刪除舊的日誌文件 | |
use_connection_pool | false | 是否使用連接池 | |
connection_pool_max_idle_time | 3600 | 空閒時間超過此時間的連接將被關閉。(單位:秒) | |
http.server_port | 8080 | 此跟蹤器服務器上的HTTP端口。 | |
http.check_alive_interval | 30秒 | 檢查存儲HTTP服務器的活動間隔秒數。<= 0,表示永不檢查。 | |
http.check_alive_type | tcp | tcp:僅通過HTTP端口連接到storge服務器,不請求並獲取響應,http:存儲檢查有效網址必須返回http狀態200 | 檢查存儲HTTP服務器的活動類型 |
http.check_alive_uri | / | 檢查存儲HTTP服務器是否存在uri 注意:存儲嵌入HTTP服務器支持uri:/status.html |
官方配置
配置項詳細解釋見 下方 配置項詳解
# is this config file disabled
# false for enabled
# true for disabled
disabled = false
# bind an address of this host
# empty for bind all addresses of this host
bind_addr =
# the tracker server port
port = 22122
# connect timeout in seconds
# default value is 30
# Note: in the intranet network (LAN), 2 seconds is enough.
connect_timeout = 5
# network timeout in seconds for send and recv
# default value is 30
network_timeout = 60
# the base path to store data and log files
base_path = /home/yuqing/fastdfs
# max concurrent connections this server support
# you should set this parameter larger, eg. 10240
# default value is 256
max_connections = 1024
# accept thread count
# default value is 1 which is recommended
# since V4.07
accept_threads = 1
# work thread count
# work threads to deal network io
# default value is 4
# since V2.00
work_threads = 4
# the min network buff size
# default value 8KB
min_buff_size = 8KB
# the max network buff size
# default value 128KB
max_buff_size = 128KB
# the method for 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
# which group to upload file
# when store_lookup set to 1, must set store_group to the group name
store_group = group2
# 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)
# Note: if use_trunk_file set to true, must set store_server to 1 or 2
store_server = 0
# 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
# which storage server to download file
# 0: round robin (default)
# 1: the source storage server which the current file uploaded to
download_server = 0
# 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 = 20%
#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
#unix group name to run this program,
#not set (empty) means run by the group of current user
run_by_group=
#unix username to run this program,
#not set (empty) means run by current user
run_by_user =
# allow_hosts can ocur more than once, host can be hostname or ip address,
# "*" (only one asterisk) means match all ip addresses
# we can use CIDR ips like 192.168.5.64/26
# and also use range like these: 10.0.1.[0-254] and 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=192.168.5.64/26
allow_hosts = *
# sync log buff to disk every interval seconds
# default value is 10 seconds
sync_log_buff_interval = 1
# check storage server alive interval seconds
check_active_interval = 120
# thread stack size, should >= 64KB
# default value is 256KB
thread_stack_size = 256KB
# auto adjust when the ip address of the storage server changed
# default value is true
storage_ip_changed_auto_adjust = true
# storage sync file max delay seconds
# default value is 86400 seconds (one day)
# since V2.00
storage_sync_file_max_delay = 86400
# the max time of storage sync a file
# default value is 300 seconds
# since V2.00
storage_sync_file_max_time = 300
# if use a trunk file to store several small files
# default value is false
# since V3.00
use_trunk_file = false
# the min slot size, should <= 4KB
# default value is 256 bytes
# since V3.00
slot_min_size = 256
# 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 = 1MB
# the alignment size to allocate the trunk space
# default value is 0 (never align)
# since V6.05
# NOTE: the larger the alignment size, the less likely of disk
# fragmentation, but the more space is wasted.
trunk_alloc_alignment_size = 256
# if merge contiguous free spaces of trunk file
# default value is false
# since V6.05
trunk_free_space_merge = true
# if delete / reclaim the unused trunk files
# default value is false
# since V6.05
delete_unused_trunk_files = false
# the trunk file size, should >= 4MB
# default value is 64MB
# since V3.00
trunk_file_size = 64MB
# if create trunk file advancely
# default value is false
# since V3.06
trunk_create_file_advance = false
# 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
# the interval of create trunk file, unit: second
# default value is 38400 (one day)
# since V3.06
trunk_create_file_interval = 86400
# the threshold to create trunk file
# when the free trunk file size less than the threshold,
# will create he trunk files
# default value is 0
# since V3.06
trunk_create_file_space_threshold = 20G
# 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
# 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
# the min interval for compressing the trunk binlog file
# unit: second, 0 means never compress
# FastDFS compress the trunk binlog when trunk init and trunk destroy
# recommand to set this parameter to 86400 (one day)
# default value is 0
# since V5.01
trunk_compress_binlog_min_interval = 86400
# the interval for compressing the trunk binlog file
# unit: second, 0 means never compress
# recommand to set this parameter to 86400 (one day)
# default value is 0
# since V6.05
trunk_compress_binlog_interval = 86400
# compress the trunk binlog time base, time format: Hour:Minute
# Hour from 0 to 23, Minute from 0 to 59
# default value is 03:00
# since V6.05
trunk_compress_binlog_time_base = 03:00
# max backups for the trunk binlog file
# default value is 0 (never backup)
# since V6.05
trunk_binlog_max_backups = 7
# if use storage server ID instead of IP address
# if you want to use dual IPs for storage server, you MUST set
# this parameter to true, and configure the dual IPs in the file
# configured by following item "storage_ids_filename", such as storage_ids.conf
# default value is false
# since V4.00
use_storage_id = false
# specify storage ids filename, can use relative or absolute path
# this parameter is valid only when use_storage_id set to true
# since V4.00
storage_ids_filename = storage_ids.conf
# 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 = id
# if store slave file use symbol link
# default value is false
# since V4.01
store_slave_file_use_link = false
# if rotate the error log every day
# default value is false
# since V4.02
rotate_error_log = false
# 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
# if compress the old error log by gzip
# default value is false
# since V6.04
compress_old_error_log = false
# compress the error log days before
# default value is 1
# since V6.04
compress_error_log_days_before = 7
# 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
# keep days of the log files
# 0 means do not delete old log files
# default value is 0
log_file_keep_days = 0
# if use connection pool
# default value is false
# since V4.05
use_connection_pool = true
# 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 port on this tracker server
http.server_port = 8080
# check storage HTTP server alive interval seconds
# <= 0 for never check
# default value is 30
http.check_alive_interval = 30
# 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