[FastDFS FQA])(http://bbs.chinaunix.net/thread-1920470-1-1.html)
讨论论坛
安装libevent
http://libevent.org/
1 2 3 4 5 6
| tar -zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable/ ./configure --prefix=/usr make sudo make install
|
注意:–prefix参数需要时/usr,否则需要做符号链接
fastdfs5.x
里面需要安装,而不需要安装libevent
1 2
| https://github.com/happyfish100/libfastcommon.git
|
###安装FastDFS
1 2 3 4 5 6
| tar zvxf FastDFS_v4.06.tar.gz cd FastDFs ./make.sh ./make.sh install
|
注意上面两步,检查是否出错,如果出错,则说明上面的libfastcommon libevent没有安装好
安装成功后,FastDFS 安装在/usr/local/bin中。配置文件在/etc/fdfs中
###conf配置
FastDFS 配置文件详解 修订版1
###必要配置
####配置及启动Tracker Server
1 2 3 4 5 6 7 8
| mkdir /home/fastdfs #创建存储目录
vi /etc/fdfs/tracker.conf
base_path=/home/fastdfs #修改为上面创建的目录
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf #启动trackerd,参数为配置文件路径
|
检查tracker是否启动成功,可以查看如下文件/home/fastdfs/logs/trackerd.log
####配置及启动Storage Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mkdir /home/fastdfs/fdfs_storage #创建文件存储目录
cd /etc/fdfs
vim /etc/fdfs/storage.conf
base_path=/home/fastdfs/fdfs_storage #修改为上面创建的目录
store_path0=/home/fastdfs/fdfs_storage #修改为文件存储目录
tracker_server=10.201.20.237:22122 #设置tracker server的信息
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf #启动服务器,参数为配置文件路径
|
接下来会出现很多mkdir data path,这是系统在创建数据目录。
###目录结构
####tracker server目录及文件结构:
1 2 3 4 5 6 7
| ${base_path} |__data | |__storage_groups.dat:存储分组信息 | |__storage_servers.dat:存储服务器列表 |__logs |__sync:tracker server日志文件
|
####storage server 目录及文件结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ${base_path} |__data | |__.data_init_flag:当前storage server初始化信息 | |__storage_stat.dat:当前storage server统计信息 | |__sync:存放数据同步相关文件 | | |__binlog.index:当前的binlog(更新操作日志)文件索引号 | | |__binlog.###:存放更新操作记录(日志) | | |__${ip_addr}_${port}.mark:存放向目标服务器同步的完成情况 | | | |__一级目录:256个存放数据文件的目录,目录名为十六进制字符,如:00, 1F | |__二级目录:256个存放数据文件的目录,目录名为十六进制字符,如:0A, CF |__logs |__storaged.log:storage server日志文件
|
让server进程退出运行
直接kill即可让server进程正常退出,可以使用killall命令,例如:
1 2 3
| killall fdfs_trackerd killall fdfs_storaged
|
也可以使用FastDFS自带的stop.sh脚本,如:
1 2
| /usr/local/bin/stop.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
|
stop.sh只会停止命令行(包括参数)完全相同的进程。
千万不要使用-9参数强杀,否则可能会导致binlog数据丢失的问题。