资讯专栏INFORMATION COLUMN

开源软件FastDFS安装

IT那活儿 / 657人阅读
开源软件FastDFS安装


点击上方蓝字关注我们
FastDFS简介


FastDFS简介


FastDFS是一个开源的分布式文件系统。

场景功能包括:

文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS架构:

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

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


FastDFS安装


下载相关软件包

fastdfs-6.06.tar.gz

libfastcommon-1.0.43.tar.gz

fastdfs-nginx-module-1.22.tar.gz

nginx-1.16.1.tar.gz

安装环境依赖包

Yuminstall  gcc gcc-c++ make cmake automake autoconf libtool pcrepcre-devel pcre* zlib zlib-devel openssl openssl-devel libeventlibevent-devel perl perl-devel unzip zip net-tools

安装libfastcommon

设置安装路径(可自定义路径)

创建路径

exportDESTDIR=/hadoop/fastdfs/opt/fastdfs

查询路径echo$DESTDIR

解压并进入libfastcommon-1.0.43目录

执行./make.sh&& make install

安装fastdfs

解压fastdfs-6.06.tar.gz安装包

修改make.sh

cd/hadoop/fastdfs/soft/fastdfs-6.06

vimake.sh

LIBS="-Wl,-rpath=/hadoop/fastdfs/opt/fastdfs/usr/lib64"#lib安装路径

修改TARGET_CONF_PATH设置文件配置路径

if[ ! -d $TARGET_CONF_PATH ]; then
mkdir -p $TARGET_CONF_PATH

修改trackerMakefile.in文件

INC_PATH= -I../common -I${DESTDIR}/usr/include/fastcommon
LIB_PATH =$(LIBS) -L${DESTDIR}/usr/lib64 -lfastcommon

修改storageMakefile.in文件

INC_PATH= -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client-I${DESTDIR}/usr/include/fastcommon
LIB_PATH = $(LIBS)-L${DESTDIR}/usr/lib64 -lfastcommon

修改clientMakefile.in文件

INC_PATH= -I../common -I../tracker-I${DESTDIR}/usr/include/fastcommon
LIB_PATH = $(LIBS)-L${DESTDIR}/usr/lib64 -lfastcommon

执行编译

cd/hadoop/fastdfs/soft/fastdfs-6.06/

./make.sh&& make.shinstall

安装fastdfs-nginx-module

解压安装包

tarzxvf fastdfs-nginx-module-1.22.tar.gz

修改fastdfs-nginx-module编译配置

vifastdfs-nginx-module-1.22/src/config
ngx_module_incs="${DESTDIR}/usr/include${DESTDIR}/usr/include/fastcommon"
CORE_INCS="$CORE_INCS${DESTDIR}/usr/include ${DESTDIR}/usr/include/fastcommon"

修改MOD_CONF_FILENAME文件路径名称

-DFDFS_MOD_CONF_FILENAME="/hadoop/fastdfs/opt/fastdfs/etc/fdfs/mod_fastdfs.conf""

复制fastdfs-nginx-module配置文件到fastdfs存放配置文件的目录

cp/hadoop/fastdfs/soft/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf/hadoop/fastdfs/opt/fastdfs/etc/fdfs/

安装nginx

cd/hadoop/fastdfs/soft/nginx-1.16.1

./configure--prefix=/hadoop/fastdfs/opt/nginx-fdfs--add-module=/hadoop/fastdfs/soft/fastdfs-nginx-module-1.22/src--with-http_ssl_module --with-ld-opt="-L/hadoop/fastdfs/opt/fastdfs/usr/lib-Wl,-rpath=/hadoop/fastdfs/opt/fastdfs/usr/lib64"

;make

注意:此时需要移除为了先编译设置的变量DESTDIR,因为这个变量和nginx自带某变量冲突,会导致nginx执行makeinstall是安装路径混乱

exportDESTDIR=""

再执行makeinstall

检查nginx是否正常加载所有依赖

ldd/hadoop/fastdfs/opt/nginx-fdfs/sbin/nginx

复制fastdfs源码中给的参考配置文件到fastdfs安装目录

cp./hadoop/fastdfs/soft/fastdfs-6.06/conf/*.conf/hadoop/fastdfs/opt/fastdfs/etc/fdfs/

创建启动脚本目录

mkdir/hadoop/fastdfs/bin

cp/hadoop/fastdfs/opt/fastdfs/etc/init.d/*/hadoop/fastdfs/bin

修改两个启动脚本中程序目录和配置文件目录

vi/hadoop/fastdfs/bin/fdfs_trackerd
PRG=/hadoop/fastdfs/opt/fastdfs/usr/bin/fdfs_trackerd
CONF=/hadoop/fastdfs/opt/fastdfs/etc/fdfs/tracker.conf

vi/home/fastdfs/bin/fdfs_storaged

PRG=/hadoop/fastdfs/opt/fastdfs/usr/bin/fdfs_storaged
CONF=/hadoop/fastdfs/opt/fastdfs/etc/fdfs/storage.conf


Fastdfs配置


1.配置fastdfs

编辑tracker.conf

store_lookup=0 #选择上传文件的组的方法,0为循环

base_path= /hadoop/fastdfs/tracker #tracker日志路径

http.server_port= 8090  #http端口

2.配置client.conf

base_path= /hadoop/fastdfs/client  #日志路径

tracker_server= 192.168.10.30:22122  #tracker地址

tracker_server= 192.168.10.40:22122

tracker_server= 192.168.10.50:22122

注:

Trackerserver作用也正是负载均衡和调度
Storageserver
作用是文件存储,客户端上传的文件最终存储在Storage服务上

3.配置storage.conf

vistorage.conf

group_name= group1  #组名,由storage服务器组成

network_timeout= 60

base_path= /hadoop/fastdfs/storage  #日志路径

store_path0= /hadoop/fastdfs/storepath0  #存储目录

tracker_server= 192.168.10.30:22122  #tracker服务器名称

tracker_server= 192.168.10.40:22122

tracker_server= 192.168.10.50:22122

http.server_port= 8888  #http端口

注:storage_server在启动时要注册到tracker_server,
从而实现由tracker_server对其进行调度

4.配置fastdfs-nginx-module

解压fastdfs-nginx-module-1.22.tar.gz

vi./fastdfs-nginx-module/src/mod_fastdfs.conf

connect_timeout=2 #连接超时时间

group_name=group1 #storage组名

tracker_server=192.168.10.30:22122

tracker_server=192.168.10.40:22122

tracker_server=192.168.10.50:22122

url_have_group_name= true

store_path0=/hadoop/fastdfs/storepath0  #存储路径

group_count= 2   #组数量

[group1]   #组配置

group_name=group1

storage_server_port=23000 #存储端口

store_path_count=1 #存储路径数

store_path0=/hadoop/fastdfs/storepath0   #存储路径


创建软链接

ln-s /hadoop/fastdfs/storepath0/data/hadoop/fastdfs/storepath0/data/M00

5.配置Nginx

vimnginx.conf

listen      8090;

server_name  localhost;

location ~/group([0-9])/M00 {

ngx_fastdfs_module;

}


Fastdfs启动


服务启动trackerd/storaged

启动顺序(tracker必须先启动

./fdfs_trackerdstart|stop|restart
./fdfs_storaged start|stop|restart

nginx启动

./sbin/nginx

查询进程


Fastdfs测试


文件上传测试

进入/hadoop/fastdfs/opt/fastdfs/usr/bin目录,上传测试文件

./fdfs_test/hadoop/fastdfs/opt/fastdfs/etc/fdfs/client.conf upload/hadoop/fastdfs/341c904235fc6c73778bbb7da5d_p24_mk24.jpg 

其他节点查询测试文件



END



文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129993.html

相关文章

  • java 文件存储

    摘要:优点开发成本低,可以配置加速网络三分布式文件系统方案常见的分布式文件系统有,等。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。 一、小应用存储方案 在开发中上传文件存储是个问题,而一般小应用开发会选择服务器本地目录做为存储地址,通过保存文件的相对路径来获取文件,在应用不要求高可用的情况下这是一种普遍的方案。 问题: 在每次更新Java版本时,都需要将文件目录做一次备...

    Alfred 评论0 收藏0
  • java 文件存储

    摘要:优点开发成本低,可以配置加速网络三分布式文件系统方案常见的分布式文件系统有,等。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。 一、小应用存储方案 在开发中上传文件存储是个问题,而一般小应用开发会选择服务器本地目录做为存储地址,通过保存文件的相对路径来获取文件,在应用不要求高可用的情况下这是一种普遍的方案。 问题: 在每次更新Java版本时,都需要将文件目录做一次备...

    shery 评论0 收藏0
  • 本地FastDFS图片服务器搭建

    摘要:项目比较老旧,自己修改了一下,跑在上,用的和位系统,记录下来,以后上传图片都可以用。是一个开源的轻量级分布式文件系统,功能包括文件存储文件同步文件访问文件上传文件下载等。主要的有两个角色和。 项目比较老旧,自己修改了一下,跑在mac上,用的IDEA和centos7 64位系统,记录下来,以后上传图片都可以用。 使用场景:图片上传 如果我们把图片全都放在上传到webapp路径下显然是一种...

    QiShare 评论0 收藏0
  • FastDFS+Nginx搭建分布式图片存储

    摘要:可以将称为追踪服务器或调度服务器。实际保存文件分为多个组,每个组之间保存的文件是不同的。虚拟磁盘路径配置的虚拟路径,与磁盘选项对应。数据两级目录服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。1.什么是FastDFS FastDFS是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等...

    CoderDock 评论0 收藏0
  • FastDFS

    摘要:可以将称为追踪服务器或调度服务器。实际保存文件分为多个组,每个组之间保存的文件是不同的。文件索引信息包括组名,虚拟磁盘路径,数据两级目录,文件名。虚拟磁盘路径配置的虚拟路径,与磁盘选项对应。 分布式图片服务器FastDFS 1 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等...

    raoyi 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<