FastDFS 5.08 部署与配置(包括老版本卸载)

4 篇文章 0 订阅
2 篇文章 0 订阅

 

作者:黄湘龙
欢迎非商业转载,商业使用请联系我

 

目前官网提供的最新版本是5.08,官网的部署包下载地址是:

https://sourceforge.net/projects/fastdfs/files/FastDFS%20Server%20Source%20Code/

我们针对这个版本的部署细节进行描述:

 

 

1.依赖部署

依赖libevent,需要删除本机低版本的libevent,然后安装libevent的配对版本libevent-2.0.22-stable.tar.gz

libevent下载地址为:http://libevent.org/

安装libevent-2.0.22-stable.tar.gz步骤:

1) 移除之前的版本:

apt-get remove libevent*

2) 运行安装命令,注意需要参数安装

./configure --prefix=/usr/local/libevent

make && make install

3) 链接动态库 

ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

如果是64位系统,需要链接: 

ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

 

2.安装脚本确认

 

因为make.sh中的libpthread.so 、libpthread.a的路径和服务器的不一致,可能会导致运行make.sh的时候出错,我们需要先确认这两个库的地址和make.sh中的一致,如果不一直,需要加软链。

确认两个库的位置:

find / -name 'libpthread.a'

/usr/lib/x86_64-linux-gnu/libpthread.a

 

find / -name 'libpthread.so'

/usr/lib/x86_64-linux-gnu/libpthread.so

 

make.sh中对这两个库的引用位置并没有上面两个位置:

if [ -f /usr/lib/libpthread.so ] || [ -f /usr/local/lib/libpthread.so ] || [ -f /lib64/libpthread.so ] || [ -f /usr/lib64/libpthread.so ] || [ -f /usr/lib/libpthread.a ] || [ -f /usr/local/lib/libpthread.a ] || [ -f /lib64/libpthread.a ] || [ -f /usr/lib64/libpthread.a ];

 

增加软链:

link /usr/lib/x86_64-linux-gnu/libpthread.so /usr/lib/libpthread.so

link /usr/lib/x86_64-linux-gnu/libpthread.a /usr/lib/libpthread.a

 

如果不增加软链,在运行make.sh的时候可能会遇到以下错误:

//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

make: *** [fdfs_storaged] Error 1

 

3.安装依赖的common组件

安装FastDFS之前需要先安装common组件,组件的下载地址是:

https://github.com/happyfish100/libfastcommon

进入下载页面后,点击右上角的Download ZIP按钮。

 

下载完成后,解压缩ZIP文件,进入文件夹,执行以下命令:

./make.sh

./make.sh install

 

4.部署FastDFS

 

讲下载好的FastDFS的包解压

tar -xvf FastDFS_v5.08.tar.gz

 

准备工作做完后,部署过程就会比较顺利,首先我们修改下make.sh中的安装位置:

vim make.sh,将TARGET_PREFIX,TARGET_CONF_PATH,TARGET_INIT_PATH修改为:

TARGET_PREFIX=$DESTDIR/usr/local/fastdfs

TARGET_CONF_PATH=$DESTDIR/usr/local/fastdfs/conf

TARGET_INIT_PATH=$DESTDIR/usr/local/fastdfs/init.d

 

然后运行:

./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib

./make.sh install

 

 

4.配置

已经把所有涉及的配置项已经全部翻译过来,由于篇幅比较大,不在本篇文章中详细说明,请点击链接:

tracer.conf

http://fredlong.iteye.com/blog/2287817

 

storage.conf

http://fredlong.iteye.com/blog/2287899

 

client.conf

http://fredlong.iteye.com/blog/2287999

 

5.启动与关闭

启动:

 

   /usr/local/fastdfs/bin/fdfs_trackerd /usr/local/fastdfs/conf/tracker.conf

   /usr/local/fastdfs/bin/fdfs_storaged /usr/local/fastdfs/conf/storage.conf

 

       关闭:

 

/usr/local/fastdfs/bin/stop.sh fdfs_trackerd

 /usr/local/fastdfs/bin/stop.sh fdfs_storaged

 

6.测试

测试上传:

将本机的/home/parallels/Downloads/FastDFS_v5.08.tar.gz 文件上传到FastDFS中:

写道
./fdfs_test ../conf/client.conf upload /home/fred/Downloads/FastDFS_v5.08.tar.gz
This is FastDFS client test program v5.08

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2016-04-10 13:44:37] DEBUG - base_path=/home/service/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

invalid operation: /home/fred/Downloads/FastDFS_v5.08.tar.gz
root@ubuntu:/usr/local/fastdfs/bin# ./fdfs_test ../conf/client.conf upload /home/fred/Downloads/FastDFS_v5.08.tar.gz
This is FastDFS client test program v5.08

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2016-04-10 13:45:11] DEBUG - base_path=/home/service/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group:
server 1. group_name=, ip_addr=10.211.55.5, port=23000
server 2. group_name=, ip_addr=10.211.55.6, port=23000

group_name=favorite, ip_addr=10.211.55.5, port=23000
storage_upload_by_filename
group_name=favorite, remote_filename=M00/00/00/CtM3BVcJ6G-AHc6KAAVCLLrKVow.tar.gz
source ip address: 10.211.55.5
file timestamp=2016-04-10 13:45:19
file size=344620
file crc32=3133822604
example file url: http://10.211.55.5/favorite/M00/00/00/CtM3BVcJ6G-AHc6KAAVCLLrKVow.tar.gz
storage_upload_slave_by_filename
group_name=favorite, remote_filename=M00/00/00/CtM3BVcJ6G-AHc6KAAVCLLrKVow_big.tar.gz
source ip address: 10.211.55.5
file timestamp=2016-04-10 13:45:19
file size=344620
file crc32=3133822604
example file url: http://10.211.55.5/favorite/M00/00/00/CtM3BVcJ6G-AHc6KAAVCLLrKVow_big.tar.gz

 

文件成功上传之后,我们可以group中每台机器中的指定文件夹内,都能找到这个文件:

 

写道
root@ubuntu:cd /home/service/fastdfs/file/data/00/00/
root@ubuntu:/home/service/fastdfs/file/data/00/00# ls
CtM3BVcJ6G-AHc6KAAVCLLrKVow_big.tar.gz CtM3BVcJ6G-AHc6KAAVCLLrKVow.tar.gz
CtM3BVcJ6G-AHc6KAAVCLLrKVow_big.tar.gz-m CtM3BVcJ6G-AHc6KAAVCLLrKVow.tar.gz-m

 

 

从上面可以看见上传的结果有最终的文件名和storage server的组名,通过这两个属性可以将文件下载下来。

测试下载,将刚才上传的文件下载下来:

 

写道
./fdfs_test ../conf/client.conf download favorite M00/00/00/CtM3BVcJ6G-AHc6KAAVCLLrKVow_big.tar.gz
This is FastDFS client test program v5.08

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2016-04-10 13:48:40] DEBUG - base_path=/home/service/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

storage=10.211.55.5:23000
download file success, file size=344620, file save to CtM3BVcJ6G-AHc6KAAVCLLrKVow_big.tar.gz

 

7.设置服务器重启启动服务:

服务器有可能意外重启,所以需要在启动脚本中运行启动命令。

在SUSE中可以在/

cd /etc/init.d

touch after.local

vim after.local

 

#! /bin/sh

 

/usr/local/fastdfs/bin/fdfs_trackerd /usr/local/fastdfs/conf/tracker.conf

/usr/local/fastdfs/bin/fdfs_storaged /usr/local/fastdfs/conf/storage.conf

 

 

 

 

 

关于旧版本的卸载:

因为我之前安装的4.06的版本是指定了文件夹(/usr/local/fastdfs)安装的,所以卸载特别方便,具体就是以下几部:

1.删除所有配置和执行文件:

cd /usr/local/fastdfs

rm -rf *

mkdir conf

 

2.因为我本机是测试数据,所以,我把之前的上下文数据全部删除了:

cd /service/home/fastdfs/tracker

rm -rf *

cd ../storage

rm -rf *

cd ../file

rm -rf *

 

做了以上两个动作,基本上旧版本的数据就全部删除了,然后安心安装新版本数据就可以了。

至于新旧版本的数据是否兼容,这块没有测试过,以后如果有相关验证数据再写文章告诉大家。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值