FastDFS安装

FastDFS
是一个开源的轻量级分布式文件系统,他对文件进行管理.功能包括:文件存储,文件同步,文件访问(文件上传,文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站,视频网站等等.

FastDFS为互联网量身定制,充分考虑了冗余备份,负载均衡,线性扩容机制,并注重高可用,高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传,下载等服务.

简介

编辑FastDFS服务器有两个角色,跟踪器(tracker)和存储节点(storage),跟踪器主要做调度工作,在访问上起负载均衡的作用.存储节点存储文件,完成文件管理的所有功能,就是这样的存储,同步和提供存取接口,FastDFS同时对文件的metadata进行管理.所谓文件的metadata就是文件的相关属性,以键值对(key value)方式表示,如:width=1024,其中的key为width , value为1024.文件metadata是文件属性列表,可以包含多个键值对.

跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。

为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。

在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。

当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。

上传交互过程

编辑:
1.client询问tracker上传到storage,不需要附加参数;
2.tracker返回一台可用storage;
3.client直接和storage通讯完成文件上传

下载交互过程

编辑:

  1. client 询问 tracker 下载文件 storage ,参数为文件标识(卷名为文件名);
  2. tracker 返回一台可用的 storage;
  3. client直接和storage通讯完成下载.

需要说明的是: client使用FastDFS服务的调用方,client也应该是个一台服务器,他对tracker和stroage的调用均为度武器之间的调用

libfastcommon安装:

1: 安装gcc
yum install gcc
yum install gcc-c++

2:移动文件到/usr/local/
cp V1.0.7.tar.gz /usr/local/

3:跳转到/usr/local解压
cd /usr/local/
tar -zxvf V1.0.7.tar.gz
cd libfastcommon-1.0.7

4:编译 安装
./make.sh
./make.sh install
libfastcommon.so默认安装到了/usr/lib64/libfastcommon.so,而FastDFS主程序设置的lib目录是/usr/local/lib,所以设置软连接

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

安装FastDFS:

1:解压
tar -zxvf V5.05.tar.gz -C /usr/local
cd /usr/local/fastdfs-5.05/

2: 编译 安装
./make.sh
./make.sh install
cd /etc/fdfs

3:复制配置文件
cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.conf
cp client.conf.sample client.conf
4:修改配置文件
vim tracker.conf
bind_addr=本机ip
base_path=/usrdata/fastdfs
修改配置:
vim storage.conf
bind_addr=本机ip
base_path=/usrdata/fastdfs
store_path0=/usrdata/fastdfs
tracker_server=本机ip:22122
vim client.conf
base_path=/usrdata/fastdfs
tracker_server=本机ip:22122

5: 创建目录
mkdir /usrdata
mkdir /usrdata/fastdfs

6:启动trackerd
fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storage.conf

安装nginx插件:fastdfs-nginx-module

1:解压
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/
cd /usr/local/fastdfs-nginx-module/src/

2:修改配置文件
vim config
改成
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

3:拷贝mod_fastdfs.conf文件
cp mod_fastdfs.conf /etc/fdfs

4: 编辑配置文件
vim /etc/fdfs/ mod_fastdfs.conf
base_path=/usrdata/fastdfs
tracker_server=自己ip:22122
url_have_group_name = true
store_path0=/usrdata/fastdfs

5:建立软连接
ln -s /usrdata/fastdfs/data /usrdata/fastdfs/data/M00

6: 拷贝文件到etc目录下
cp /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/
nginx安装:
(1)pcre安装:
tar -zxvf pcre-8.36.tar.gz -C /usr/local/
cd pcre-8.36
./configure
make && make install
cd ../
ln -s /usr/local/lib/libpcre.so.1 /lib64/
ln: 无法创建符号链接"/lib64/libpcre.so.1": 文件已存在

zlib安装:

tar -zxvf zlib-1.2.8.tar.gz -C /usr/local/

cd zlib-1.2.8

./configure

make && make install

cd ../

openssl安装
yum install openssl openssl-devel

nginx安装:
tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/

cd /usr/local/nginx-1.8.0/

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src

make

make install

cd /usr/local/nginx/conf

vim nginx.conf

第三行添加
user root;

在server中添加
location /group1/M00{
root /usrdata/fastdfs/data;
ngx_fastdfs_module;
}

启动:
/usr/local/nginx/sbin/nginx 或者指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf

安装killall 命令
yum install psmisc

关闭fastdfs命令
killall fdfs_trackerd
killall fdfs_storaged

开启fastdfs命令
fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storage.conf

重启FastDFS
tracker: /usr/local/bin/restart.sh fdfs_trackered
storage: /usr/local/bin/restart.sh fdfs_storaged

配置文件启动nginx。
./nginx -c /usr/local/nginx/conf/nginx.conf

重启服务: service nginx restart

快速停止或关闭Nginx:./nginx -s stop

正常停止或关闭Nginx:./nginx -s quit

配置文件修改重装载命令:./nginx -s reload

5:查看错误信息
tail -f /usr/local/nginx/logs/error.log

6: 上传文件
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/1.jpg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小郑要做干饭人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值