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