fastDFS tracker 參數配置詳解


fastDFS tracker 參數配置詳解

disabled

disabled=false,這個配置文件是否不生效

bind_addr

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

port

port=22122 ,提供服務的端口

connect_timeout

connect_timeout=30 ,連接超時時間,針對socket套接字函數connect

network_timeout

network_timeout=60 ,tracker server的網絡超時,單位為秒。發送或接收數據時,如果在超時時間后還不能發送或接收數據,則本次網絡通信失敗。

base_path

base_path=/home/yuqing/fastdfs ,base_path 目錄地址(根目錄必須存在,子目錄會自動創建)
附目錄說明:

  tracker server目錄及文件結構:
  ${base_path}
    |__data
    |     |__storage_groups.dat:存儲分組信息
    |     |__storage_servers.dat:存儲服務器列表
    |__logs
          |__trackerd.log:tracker server日志文件

  數據文件storage_groups.dat和storage_servers.dat中的記錄之間以換行符(\n)分隔,字段之間以西文逗號(,)分隔。
  storage_groups.dat中的字段依次為:
    1. group_name:組名
    2. storage_port:storage server端口號

  storage_servers.dat中記錄storage server相關信息,字段依次為:
    1. group_name:所屬組名
    2. ip_addr:ip地址
    3. status:狀態
    4. sync_src_ip_addr:向該storage server同步已有數據文件的源服務器
    5. sync_until_timestamp:同步已有數據文件的截至時間(UNIX時間戳)
    6. stat.total_upload_count:上傳文件次數
    7. stat.success_upload_count:成功上傳文件次數
    8. stat.total_set_meta_count:更改meta data次數
    9. stat.success_set_meta_count:成功更改meta data次數
    10. stat.total_delete_count:刪除文件次數
    11. stat.success_delete_count:成功刪除文件次數
    12. stat.total_download_count:下載文件次數
    13. stat.success_download_count:成功下載文件次數
    14. stat.total_get_meta_count:獲取meta data次數
    15. stat.success_get_meta_count:成功獲取meta data次數
    16. stat.last_source_update:最近一次源頭更新時間(更新操作來自客戶端)
    17. stat.last_sync_update:最近一次同步更新時間(更新操作來自其他storage server的同步)

max_connections

max_connections=256 ,系統提供服務時的最大連接數

work_threads

work_threads=4 ,工作線程數,通常設置為CPU數

store_lookup

store_lookup=2 ,上傳組(卷) 的方式 0:輪詢方式 1: 指定組 2: 平衡負載(選擇最大剩余空間的組(卷)上傳)。
這里如果在應用層指定了上傳到一個固定組,那么這個參數被繞過

store_group

store_group=group2 ,當上一個參數設定為1 時 (store_lookup=1,即指定組名時),必須設置本參數為系統中存在的一個組名。如果選擇其他的上傳方式,這個參數就沒有效了。

store_server

store_server=0 , 選擇哪個storage server 進行上傳操作(一個文件被上傳后,這個storage server就相當於這個文件的storage server源,會對同組的storage server推送這個文件達到同步效果)

  • 0: 輪詢方式
  • 1: 根據ip 地址進行排序選擇第一個服務器(IP地址最小者)
  • 2: 根據優先級進行排序(上傳優先級由storage server來設置,參數名為upload_priority)

store_path

store_path=0 ,中的哪個目錄進行上傳。storage server可以有多個存放文件的base path(可以理解為多個磁盤)。

  • 0: 輪流方式,多個目錄依次存放文件
  • 2: 選擇剩余空間最大的目錄存放文件(注意:剩余磁盤空間是動態的,因此存儲到的目錄或磁盤可能也是變化的)

download_server

download_server=0 ,選擇哪個 storage server 作為下載服務器

  • 0: 輪詢方式,可以下載當前文件的任一storage server
  • 1: 哪個為源storage server 就用哪一個 (前面說過了這個storage server源 是怎樣產生的) 就是之前上傳到哪個storage server服務器就是哪個了

reserved_storage_space

reserved_storage_space = 10% ,storage server 上保留的空間,保證系統或其他應用需求空間。可以用絕對值或者百分比(V4開始支持百分比方式)。
(指出 如果同組的服務器的硬盤大小一樣,以最小的為准,也就是只要同組中有一台服務器達到這個標准了,這個標准就生效,原因就是因為他們進行備份)

log_level

log_level=info ,選擇日志級別(日志寫在哪?看前面的說明了,有目錄介紹哦)

run_by_group

run_by_group= ,操作系統運行FastDFS的用戶組 (不填 就是當前用戶組,哪個啟動進程就是哪個)

run_by_user

run_by_user= ,操作系統運行FastDFS的用戶 (不填 就是當前用戶,哪個啟動進程就是哪個)

allow_hosts

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

 "*" 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

sync_log_buff_interval

sync_log_buff_interval = 10 ,同步或刷新日志信息到硬盤的時間間隔,單位為秒,注意:tracker server 的日志不是時時寫硬盤的,而是先寫內存。

check_active_interval

check_active_interval = 120 ,檢測 storage server 存活的時間隔,單位為秒。

storage server定期向tracker server 發心跳,如果tracker server在一個check_active_interval內還沒有收到storage server的一次心跳,那邊將認為該storage server已經下線。所以本參數值必須大於storage server配置的心跳時間間隔。通常配置為storage server心跳時間間隔的2倍或3倍。

thread_stack_size

thread_stack_size=1MB ,線程棧的大小。FastDFS server端采用了線程方式。更正一下,tracker server線程棧不應小於64KB。線程棧越大,一個線程占用的系統資源就越多。如果要啟動更多的線程

storage_ip_changed_auto_adjust

storage_ip_changed_auto_adjust=true ,這個參數控制當storage server IP地址改變時,集群是否自動調整。注:只有在storage server進程重啟時才完成自動調整。

storage_sync_file_max_delay

storage_sync_file_max_delay = 86400 ,存儲服務器之間同步文件的最大延遲時間,缺省為1天。根據實際情況進行調整。
注:本參數並不影響文件同步過程。本參數僅在下載文件時,判斷文件是否已經被同步完成的一個閥值(經驗值)

storage_sync_file_max_time

storage_sync_file_max_time = 300 ,存儲服務器同步一個文件需要消耗的最大時間,缺省為300s,即5分鍾。
注:本參數並不影響文件同步過程。本參數僅在下載文件時,作為判斷當前文件是否被同步完成的一個閥值(經驗值)

use_trunk_file

use_trunk_file = false ,是否使用小文件合並存儲特性,缺省是關閉的。

slot_min_size

slot_min_size = 256 ,trunk file分配的最小字節數。比如文件只有16個字節,系統也會分配slot_min_size個字節。

slot_max_size

slot_max_size = 16MB ,只有文件大小<=這個參數值的文件,才會合並存儲。如果一個文件的大小大於這個參數值,將直接保存到一個文件中(即不采用合並存儲方式)。

trunk_file_size

trunk_file_size = 64MB ,合並存儲的trunk file大小,至少4MB,缺省值是64MB。不建議設置得過大。

trunk_create_file_advance

trunk_create_file_advance = false ,是否提前創建trunk file。只有當這個參數為true,下面3個以trunk_create_file_打頭的參數才有效。

trunk_create_file_time_base

trunk_create_file_time_base = 02:00 ,提前創建trunk file的起始時間點(基准時間),02:00表示第一次創建的時間點是凌晨2點。

trunk_create_file_interval

trunk_create_file_interval = 86400 ,創建trunk file的時間間隔,單位為秒。如果每天只提前創建一次,則設置為86400

trunk_create_file_space_threshold

trunk_create_file_space_threshold = 20G ,提前創建trunk file時,需要達到的空閑trunk大小,比如本參數為20G,而當前空閑trunk為4GB,那么只需要創建16GB的trunk file即可。

trunk_init_check_occupying

trunk_init_check_occupying = false ,trunk初始化時,是否檢查可用空間是否被占用。

trunk_init_reload_from_binlog

是否無條件從trunk binlog中加載trunk可用空間信息
FastDFS缺省是從快照文件storage_trunk.dat中加載trunk可用空間,
該文件的第一行記錄的是trunk binlog的offset,然后從binlog的offset開始加載

use_storage_id

use_storage_id = false ,是否使用server ID作為storage server標識

storage_ids_filename

storage_ids_filename = storage_ids.conf ,use_storage_id 設置為true,才需要設置本參數。
在文件中設置組名、server ID和對應的IP地址,參見源碼目錄下的配置示例:conf/storage_ids.conf

store_slave_file_use_link = false ,存儲從文件是否采用symbol link(符號鏈接)方式。
如果設置為true,一個從文件將占用兩個文件:原始文件及指向它的符號鏈接。

rotate_error_log

rotate_error_log = false ,是否定期輪轉error log,目前僅支持一天輪轉一次。

error_log_rotate_time

error_log_rotate_time=00:00 ,error log定期輪轉的時間點,只有當rotate_error_log設置為true時有效

rotate_error_log_size

rotate_error_log_size = 0 ,error log按大小輪轉。
設置為0表示不按文件大小輪轉,否則當error log達到該大小,就會輪轉到新文件中

http.disabled & http.server_port

http.disabled=false ,HTTP服務是否不生效

http.server_port=8080 , HTTP服務端口

關於http的設置,默認編譯是不生效的 要求更改 #WITH_HTTPD=1 將 注釋#去掉 再編譯

關於http的應用 說實話 不是很了解 沒有見到 相關說明

use "#include" directive to include http other settiongs

include http.conf 如果加載http.conf的配置文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM