CentOS单机安装FastDFS


操作系统:CentOS 6.5 64位
libevent版本:libevent-2.0.21-stable.tar.gz
FastDFS版本:FastDFS_v4.06.tar.gz
GitHub下载地址: https://github.com/happyfish100
GoogleCode地址: https://code.google.com/archive/p/fastdfs/

ChinaUnix论坛地址:http://bbs.chinaunix.net/forum-240-1.html

Sourceforge.net地址:https://sourceforge.net/projects/fastdfs/



一、安装libevent
首先安装libevent,因为 FastDFS 在编译源程序时,需要用到libevent一些依赖文件,否则编译 FastDFS 会出错


1.1  卸载掉旧版本
rpm -qa|grep libevent;yum remove libevent*
1.2 然后安装新版本

tar -zxvpf libevent-2.0.21-stable.tar.gz

1.3  进入解压目录:
cd libevent-2.0.21-stable
1.4 指定安装目录:
./configure --prefix=/usr/local/libevent
1.5 安装
make && make install
1.6 为libevent创建软链接到/lib库下,64位系统对应/lib64
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5


二、安装FastDFS的步骤
2.1 解压tar
tar -zxvf FastDFS_v3.11.tar.gz
2.2 进入安装包(解压之后的文件目录)
cd FastDFS
2.3 修改make.sh
vi make.sh
TARGET_PREFIX=/usr/local/fdfs  ---安装路径  
TARGET_CONF_PATH=/etc/fdfs  ---配置文件路径  
WITH_LINUX_SERVICE=1   ---是否为linux服务
2.4 编译,使用刚刚安装过的libevent包
./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib
2.5 安装
./make.sh install


三、安装Tracker Server
TARGET_PREFIX=/usr/local/fdfs/tracker  ---安装路径  
TARGET_CONF_PATH=/etc/fdfs/tracker  ---配置文件路径
 
3.1 引用上例中安装libevent 和 FastDFS步骤
3.2 配置及启动Tracker Server,端口:22122
3.3 修改tracker.conf 配置
vim /etc/fdfs/tracker/tracker.conf

# the tracker server port
port=22122
# the base path to store data and log files
base_path=/home/yuqing/fastdfs -> base_path=/home/fastdfs/tracker #日志目录
reserved_storage_space = 4GB -> reserved_storage_space = 1GB

3.4 启动Tracker Server
/usr/local/fdfs/tracker/bin/fdfs_trackerd /etc/fdfs/tracker/tracker.conf
3.5 检查tracker是否启动成功,可以查看如下文件
vim /home/fastdfs/tracker/logs/trackerd.log
#[2012-08-26 19:01:30] INFO - FastDFS v3.11, base_path=/home/fastdfs/tracker, run_by_group=, run_by_user=, connect_timeout=30s, 
network_timeout=60s, port=22122, bind_addr=, max_connections=256, work_threads=4, store_lookup=0, store_group=, store_server=0, store_path=0,
reserved_storage_space=1024MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, 
storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=86400s, storage_sync_file_max_time=300s, use_trunk_file=0, slot_min_size=256, 
slot_max_size=16 MB, trunk_file_size=64 MB, trunk_create_file_advance=0, trunk_create_file_time_base=02:00, trunk_create_file_interval=86400, 
trunk_create_file_space_threshold=20 GB

3.6 启动成功,加入开机启动
vim /etc/rc.d/rc.local
/usr/local/fdfs/tracker/bin/fdfs_trackerd /etc/fdfs/tracker/tracker.conf


四、安装Storage Server


TARGET_PREFIX=/usr/local/fdfs/storage  ---安装路径  
TARGET_CONF_PATH=/etc/fdfs/storage  ---配置文件路径
4.1 引用上例中安装libevent 和 FastDFS步骤
#修改storage.conf配置
vim /etc/fdfs/storage/storage.conf
# the name of the group this storage server belongs to
group_name=group1
# the name of the group this storage server belongs to
# the storage server port #the storage server port
port=23000
# the base path to store data and log files #日志目录
base_path=/home/yuqing/fastdfs -> /home/fastdfs/storage
# store_path#, based 0, if store_path0 not exists, it's value is base_path #data数据存储目录
# the paths must be exist
store_path0=/home/fastdfs/storage
# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address (tracker server服务器IP 和端口)
tracker_server=192.168.209.121:22122 -> tracker_server=192.16.1.249:22122


4.2 启动Storage Server
/usr/local/fdfs/bin/fdfs_storaged /etc/fdfs/storage/storage.conf

接下来会出现很多mkdir data path,这是系统在创建数据目录

data path: /home/fastdfs/storage/data, mkdir sub dir...
mkdir data path: 00 ...
mkdir data path: 01 ...
mkdir data path: 02 ...
mkdir data path: 03 ...
.......................
data path: /home/fdfs/storage/data, mkdir sub dir done.


4.3 启动成功,加入开机启动

# vim /etc/rc.d/rc.local
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf


五、测试及使用FastDFS


5.1 FastDFS之配置client
vim /etc/fdfs/client.conf
base_path=/home/yuqing/fastdfs-> base_path=/home/fastdfs/tracker
tracker_server=192.168.209.121:22122 -> tracker_server=192.16.1.249:22122(本机IP地址)
view source
cd /usr/local/bin

vim aa.txt 增加内容:展示aa.txt文本数据   :wq

5.2 测试上传

/usr/local/fdfs/tracker/bin/fdfs_test  /etc/fdfs/tracker/client.conf upload aa.txt


执行成功后会出现如下提示:
[2012-08-25 02:08:26] INFO - base_path=/home/fastdfs/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0
tracker_query_storage_store_list_without_group:
        server 1. group_name=group2, ip_addr=192.16.1.249, port=23000
group_name=group2, ip_addr=192.168.127.6, port=23000
storage_upload_by_filename
group_name=group2, remote_filename=M00/00/00/wKh_BlA3wxql4hTXAAAAB8v-VvY710.txt
source ip address: 192.16.1.249
file timestamp=2012-08-25 02:08:26
file size=7
file crc32=3422443254
file url:
storage_upload_slave_by_filename
group_name=group2, remote_filename=M00/00/00/wKh_BlA3wxql4hTXAAAAB8v-VvY710_big.txt
source ip address: 192.16.1.249
file timestamp=2012-08-25 02:08:26
file size=7
file crc32=3422443254
file url:
view source
执行过程中可能出现防火墙封口:
# ERROR - file: tracker_proto.c, line: 420, connect to 192.16.1.249:22122 fail, errno: 113, error info: No route to host
解决:

iptables -L;iptables -F;service iptables stop


六、常规命令范例


#启动tracker、storaged
/usr/local/fdfs/tracker/bin/trackerd   /etc/fdfs/tracker/tracker.conf
/usr/local/fdfs/storage/bin/storaged /etc/fdfs/storage/storage.conf

#重启tracker、storaged
/usr/local/fdfs/tracker/bin/restart.sh    /usr/local/fdfs/tracker/bin/trackerd    /etc/fdfs/tracker/tracker.conf
 /usr/local/fdfs/storage/bin/restart.sh  /usr/local/fdfs/storage/bin/storaged /etc/fdfs/storage/storage.conf


#停止tracker、storaged
/usr/local/fdfs/tracker/bin/stop.sh      /usr/local/fdfs/tracker/bin/trackerd    /etc/fdfs/tracker/tracker.conf
 /usr/local/fdfs/storage/bin/stop.sh   /usr/local/fdfs/storage/bin/storaged /etc/fdfs/storage/storage.conf

#监控storage
 /usr/local/fdfs/storage/bin/fdfs_monitor  /etc/fdfs/storage/storage.conf

#如果存在多个多个组,只需要监控其中一个组,就能调出所有组的状态
#删除组内服务器storage和查看各个组内服务器状态
 /usr/local/fdfs/storage/bin/fdfs_monitor /etc/fdfs/tracker/client.conf  delete group2 192.168.127.13
 /usr/local/fdfs/storage/bin/fdfs_monitor /etc/fdfs/tracker/client.conf

storage server有7个状态,如下(数值从1~7):
# FDFS_STORAGE_STATUS:INIT      :初始化,尚未得到同步已有数据的源服务器
# FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有数据的源服务器
# FDFS_STORAGE_STATUS:SYNCING   :同步中
# FDFS_STORAGE_STATUS:DELETED   :已删除,该服务器从本组中摘除
# FDFS_STORAGE_STATUS:OFFLINE   :离线
# FDFS_STORAGE_STATUS:ONLINE    :在线,尚不能提供服务
# FDFS_STORAGE_STATUS:ACTIVE    :在线,可以提供服务


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值