FastDFS 配置 Tracker 服务器(三)

一、安装 Tracker 跟踪服务器(172.16.119.129)

进入 /etc/fdfs 目录,把 tracker.conf.sample 文件拷贝一份,名为 tracker.conf

# 进入目录
cd /etc/fdfs/

# 拷贝文件
sudo cp tracker.conf.sample tracker.conf

复制 tracker 配置文件

fastdfs-install-6.jpg

1、配置 tracker 工作目录

创建工作目录

sudo mkdir -p /home/liurenkui/MyOpt/fastdfs/tracker

fastdfs-install-7.jpg

tracker.conf 文件中,通过关键字 base_path 找到如下代码

# the base path to store data and log files
base_path=/home/yuqing/fastdfs

这个参数是用来配置 存储数据日志文件 的基本路径,目录结构如下

#  ${base_path}
#    |__data
#    |     |__storage_groups.dat:存储分组信息
#    |     |__storage_servers.dat:存储服务器列表
#    |__logs
#          |__trackerd.log:tracker server日志文件

这里改为自己的工作目录

# the base path to store data and log files
base_path=/home/liurenkui/MyOpt/fastdfs/tracker

2、启动 / 停止 tracker 跟踪服务器

# 启动 tracker 服务
sudo service fdfs_trackerd start

# 查看线程
ps -ef | grep fdfs

# 查看数据和日志目录
tree MyOpt/fastdfs/tracker/

启动 tracker 跟踪服务器

fastdfs-install-8.jpg

启动成功后,基础目录中多了 datalog 两个目录。

3、停止 tracker 跟踪服务器

# 停止 tracker 服务
sudo service fdfs_trackerd start

fastdfs-install-9.jpg

观察发现,服务停止时候,创建了 storage_changelog.datstorage_groups_new.datstorage_servers_new.datstorage_sync_timestamp.dat 4个文件。

数据文件 storage_groups.dat 和 storage_servers.dat 中的记录之间以换行符(\n)分隔,字段之间以逗号(,)分隔。

storage_groups.dat 中的字段依次为:

  • group_name:组名

  • storage_port:storage server端口号

storage_servers.dat 中记录 storage server 相关信息,字段依次为:

  • group_name:所属组名

  • ip_addr:ip地址

  • status:状态

  • sync_src_ip_addr:向该 storage server 同步已有数据文件的源服务器

  • sync_until_timestamp:同步已有数据文件的截至时间(UNIX时间戳)

  • stat.total_upload_count:上传文件次数

  • stat.success_upload_count:成功上传文件次数

  • stat.total_set_meta_count:更改 meta data 次数

  • stat.success_set_meta_count:成功更改 meta data 次数

  • stat.total_delete_count:删除文件次数

  • stat.success_delete_count:成功删除文件次数

  • stat.total_download_count:下载文件次数

  • stat.success_download_count:成功下载文件次数

  • stat.total_get_meta_count:获取 meta data 次数

  • stat.success_get_meta_count:成功获取 meta data 次数

  • stat.last_source_update:最近一次源头更新时间(更新操作来自客户端)

  • stat.last_sync_update:最近一次同步更新时间(更新操作来自其他storage server的同步)

4、tracker 命令

# 服务启动
sudo service fdfs_trackerd start
# 服务停止
sudo service fdfs_trackerd start

# 脚本启动
sudo /etc/init.d/fdfs_trackerd start
# 脚本停止
sudo /etc/init.d/fdfs_trackerd stop

二、Tracker 跟踪服务器配置文件介绍

查看 tracker.conf.sample 文件内容

# 配置文件是否禁用
# false 启用,true禁用
disabled=false

# bind_addr= 后面为绑定的IP地址 (常用于服务器有多个IP但只希望一个IP提供服务)。如果不填则表示所有的(一般不填就OK)
bind_addr=

# tracker 服务器端口
port=22122

# 连接超时,默认30秒,针对socket套接字函数connect
connect_timeout=30

# 网络超时,默认30秒,发送或接收数据时,如果在超时时间后还不能发送或接收数据,则本次网络通信失败。 
network_timeout=60

# 存储数据和日志文件的基本路径
# 基础目录:必须存在,子目录会自动创建
# 目录及文件结构:
#  ${base_path}
#    |__data
#    |     |__storage_groups.dat:存储分组信息
#    |     |__storage_servers.dat:存储服务器列表
#    |__logs
#          |__trackerd.log:tracker server日志文件
base_path=/home/yuqing/fastdfs

# 此服务器支持的最大并发连接数
max_connections=256

# 接受线程数 默认 1
# since V4.07
accept_threads=1

# 工作线程数, 应该 <= max_connections,默认 4,通常设置为CPU数
# since V2.00
work_threads=4

# 最小 buff,默认8KB
min_buff_size = 8KB

# 最大 buff,默认128KB
max_buff_size = 128KB

# 选择组(卷)上传文件的方法
# 0: 轮询方式
# 1: 指定组
# 2: 平衡负载,选择最大剩余空间的组(卷)上传,默认
store_lookup=2

# 当 store_lookup = 1,必须设置本参数为系统中存在的一个组名。
store_group=group2

# 选择哪一个 storage server 上传文件
# 文件上传后,这个storage server就相当于这个文件的storage server源,然后对同组的storage server推送这个文件达到同步效果
# 0: 轮询方式 (默认)
# 1: 根据ip 地址进行排序选择第一个服务器(IP地址最小者)
# 2: 根据优先级进行排序(上传优先级由storage server来设置,参数名为 upload_priority) 
# 注意:如果 use_trunk_file = true,则必须将 store_server 设置为1或2
store_server=0

# 选择 storage server 中的哪个目录进行上传
# 0: 轮流方式,多个目录依次存放文件,默认
# 2: 选择剩余空间最大的目录存放文件(注意:剩余磁盘空间是动态的,因此存储到的目录或磁盘可能也是变化的)
store_path=0

# 选择哪个 storage server 作为下载服务器 
# 0: 轮询方式,可以下载当前文件的任何一个storage server
# 1: 当前文件上传到的源存储服务器,就是之前上传到哪个storage server服务器就是哪个源
download_server=0

# storage server 保留的空间,保证系统或其他应用需求空间。可以用绝对值或者百分比(V4开始支持百分比方式)
# storage 服务器的空闲(可用)空间 <= reserved_storage_space,
# 如果同组的服务器的硬盘大小一样,以最小的为准,只要同组中有一台服务器达到这个标准了,这个标准就生效
### 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,
#日志级别,不区分大小写,有如下值
### emerg 突发事件
### alert
### crit 危机事件
### error
### warn 警告
### notice
### info
### debug
log_level=info

# 操作系统运行FastDFS的用户组 (不填 就是当前用户组,哪个启动进程就是哪个)
run_by_group=

# 操作系统运行FastDFS的用户 (不填 就是当前用户,哪个启动进程就是哪个)
run_by_user=

# 可以连接到此 tracker server 的ip范围,可以是主机名或ip地址(对所有类型的连接都有影响,包括客户端,storage server)
# "*" 表示匹配所有IP地址
# 可以使用 CIDR(无类域间路由),例如 192.168.5.64/26
# 例如
# 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=*

# 同步或刷新日志信息到硬盘的时间间隔,默认10秒
# 注意:tracker server 的日志不是时时写硬盘的,而是先写内存。
sync_log_buff_interval = 10

# 检测 storage server 存活的间隔,默认120秒
# storage server 定期向 tracker server 发心跳,如果 tracker server 在一个 check_active_interval 内还没有收到 storage server 的一次心跳,将认为该 storage server 已经下线。
# 通常配置为storage server心跳时间间隔的2倍或3倍。
check_active_interval = 120

# 线程栈大小,应该 >= 64KB,默认 64KB
# 线程栈越大,占用的系统资源就越多。如果要启动更多的线程(V1.x对应的参数为max_connections,V2.0为work_threads),可以适当降低本参数值。
thread_stack_size = 64KB

# 当 storage server IP地址改变时,集群是否自动调整。注:只有在storage server进程重启时才完成自动调整。
# 默认 true
storage_ip_changed_auto_adjust = true

# 存储服务器之间同步文件的最大延迟时间,默认 86400 秒 (1天)
# since V2.00
storage_sync_file_max_delay = 86400

# 存储服务器同步一个文件需要消耗的最大时间
# 默认 300 秒,5分钟
# since V2.00
storage_sync_file_max_time = 300

# 使用trunk分割小文件合并存储特性,默认 false
# since V3.00
use_trunk_file = false

# trunk file分配的最小字节数,应该 <= 4KB,默认 256 bytes
# since V3.00
slot_min_size = 256

# trunk file分配的最大字节数,应该 > slot_min_size,默认 16MB
# 只有文件大小 <= 这个参数值的文件,才会合并存储。
# 如果一个文件的大小大于这个参数值,将直接保存到一个文件中(即不采用合并存储方式)
# since V3.00
slot_max_size = 16MB

# 合并存储的 trunk file 大小,应该 >= 4MB,默认 64MB
# since V3.00
trunk_file_size = 64MB

# 提前创建 trunk file。只有当这个参数为true,下面3个以 trunk_create_file_ 开头参数才有效。
# 默认 false
# since V3.06
trunk_create_file_advance = false

# 提前创建 trunk file 的起始时间点(基准时间)
# 时间格式: HH:MM,默认 02:00,表示第一次创建的时间点是凌晨2点
# since V3.06
trunk_create_file_time_base = 02:00

# 创建 trunk file 的时间间隔,默认 86400 秒(1天)
# since V3.06
trunk_create_file_interval = 86400

# 提前创建 trunk file 时,需要达到的空闲 trunk 大小,默认 20G
# 而当前空闲trunk为4GB,那么只需要创建16GB的trunk file即可
# since V3.06
trunk_create_file_space_threshold = 20G

# trunk 初始化时,是否检查可用空间是否被占用
# 默认 false
# since V3.09
# 注意:设置为true,将减慢主干空间的加载速度,启动时,需要在必要时将此参数设置为true。
trunk_init_check_occupying = false

# 是否无条件从trunk binlog中加载trunk可用空间信息,默认 false
# FastDFS 默认是从快照文件 storage_trunk.dat 中加载trunk可用空间,该文件的第一行记录的是trunk binlog的offset,然后从binlog的offset开始加载
# since V3.10
# 当版本低于V3.10时,为版本升级设置为true
trunk_init_reload_from_binlog = false

# 压缩 trunk binlog 文件的最小间隔
# 单位: 秒,默认 0(从不压缩)
# 当trunk init和trunk销毁时,FastDFS压缩trunk binlog,如果需要,建议参数设置 86400 秒 (1天)
# since V5.01
trunk_compress_binlog_min_interval = 0

# 使用 server ID 作为 storage server 标识,而不是IP地址,默认 false
# since V4.00
use_storage_id = false

# 指定存储 ids filename,可以使用相对或绝对路径
# 只有 use_storage_id = true,才需要设置本参数
# since V4.00
storage_ids_filename = storage_ids.conf

# 文件名中存储服务器的id类型,值为:
## ip: storage server 的 IP 地址
## id: storage server 的 server id
# 只有 use_storage_id = true,才需要设置本参数
# 默认使用 ip
# since V4.03
id_type_in_filename = ip

# 存储从文件是否采用symbol link(符号链接)方式,默认 false
# since V4.01
store_slave_file_use_link = false

# 是否定期轮转 error log,目前仅支持一天轮转一次
# since V4.02
rotate_error_log = false

# error log定期轮转的时间点,只有当rotate_error_log设置为true时有效
# 时间格式: Hour:Minute,小时【0-23】,分钟【0-59】,默认 00:00
# since V4.02
error_log_rotate_time=00:00

# 当日志文件超过此大小时,执行轮转
# 默认0,表示永远不会按日志文件大小轮转日志文件
# since V4.02
rotate_error_log_size = 0

# 保留日志文件的天数
# 默认0,表示不删除旧的日志文件
log_file_keep_days = 0

# 是否使用连接池,默认 false
# since V4.05
use_connection_pool = false

# 空闲时间超过此时间的连接将被关闭,默认 3600 秒
# since V4.05
connection_pool_max_idle_time = 3600

# HTTP服务端口
http.server_port=8080

# 检查存储HTTP服务器活动间隔秒,<= 0 不检查,默认 30 秒
http.check_alive_interval=30

# 检查存储HTTP服务器的活动类型,值是:
#   tcp : 仅使用HTTP端口连接到存储服务器, 不要求并得到回应
#   http: storage 检查存活的URL,必须返回状态码200
# 默认 tcp
http.check_alive_type=tcp

# 检查存储HTTP服务器活动 uri/url
# 注意:存储嵌入HTTP服务器支持uri: /status.html
http.check_alive_uri=/status.html


未经允许请勿转载:程序喵 » FastDFS 配置 Tracker 服务器(三)

点  赞 (2) 打  赏
分享到: