FastDFS的安装

发表时间:2017-07-18 21:41:13 浏览量( 31 ) 留言数( 0 )

学习目标:

1、了解FastDFS的安装步骤

2、掌握FastDFS的基本配置


学习过程:

   https://blog.csdn.net/mingyu1016/article/details/54411321    

   了解FastDFS的结构后,我们就可以安装了。FasfDFS的安装可以有多重方式。我们这节课先使用一个跟踪服务器两个存储节点。两个存储节点在同一个组中,这样的结构可以文件可以在两个存储节点中互相备份,达到一定的高可用性和下载文件时也可以做到负载均衡,当然如果主节点死机,FastDFS的文件系统还是无法访问。


系统服务器规划

192.168.3.101  跟踪服务器

192.168.3.102  存储节点

192.168.3.103  存储节点


上传安装软件

FastDFS的下载地址介绍

https://blog.csdn.net/u012453843/article/details/68951398



二、安装过程

跟踪服务器和存储节点安装基本一样,只是配置文件不一样而已。

一、在所有的服务器都执行以下的操作(跟踪服务器和存储节点都需要安装)

1、执行依赖包, nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库

   yum -y install gcc automake autoconf libtool make cmake gcc-c++ pcre* zlib openssl openssl-devel


2、安装libfastcommon,上传相关安装文件到服务器中。

  libfastcommon是FastDFS和FastDHT的公共C函数库,官方网站是:https://sourceforge.net/projects/libfastcommon/

 你可以从下面的git地址下载

  git clone https://github.com/happyfish100/libfastcommon.git

  cd libfastcommon 进入目录后就可以直接编译安装了。

  ./make.sh

  sudo ./make.sh install


 但是前面我们已经下载好了,并上传到服务器中了,我们解压后也可以直接编译安装了。

  unzip libfastcommon-master.zip 

  cd libfastcommon-masert

 ./make.sh

 sudo ./make.sh install

安装的输出:

mkdir -p /usr/lib64

install -m 755 libfastcommon.so /usr/lib64

mkdir -p /usr/include/fastcommon

 完成后,libfastcommon默认的文件目录信息:

库文件位置: /usr/lib64/libfastcommon.so

头文件位置:/usr/include/fastcommon


   FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建usr/lib64/下的一些核心执行程序的软连接文件,执行以下的命令:

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


3、安装FastDFS

本步骤在FastDFS服务端tracker或storage均需执行

进入刚才上传的目录,

[root@localhost ~]# cd fastDFS

解压FastDFS_v5.05.tar.gz

tar -zxf FastDFS_v5.05.tar.gz

进入解压后的目录

cd FastDFS

执行编译

./make.sh

执行安装命令

./make.sh install

默认安装成功后后:

基本的服务程序启动命令

     /etc/init.d/fdfs_storaged

     /etc/init.d/fdfs_trackerd/

配置文件目录:

    /etc/fdfs/client.conf.sample    client端配置文件

    /etc/fdfs/storage.conf.sample   服务端tracker配置文件

    /etc/fdfs/tracker.conf.sample   服务端tracker配置文件

其他执行程序所在目录:

    /usr/bin/

需要注意的是:

fdfs_storagedh和fdfs_trackerd两个启动命令的脚本应用的命令的路径:/usr/local/bin/

但是实际安装在了/usr/bin/下面。所以需要修改FastDFS配置文件中的路径

sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' /etc/init.d/fdfs_storaged 

sed -i 's/\/usr\/local\/bin/\/usr\/bin/g' /etc/init.d/fdfs_trackerd 


四、跟踪服务的配置

   我们使用192.168.3.101作为跟踪服务器。

   建立目录

    mkdir -p  /fastdfs/tracker

   拷贝一份tracker的配置文件,重命名为tracker.conf

    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

   修改tracker.conf

    vim  /etc/fdfs/tracker.conf

   修改base_path属性,其他保持默认值就可以了。但是你也可以留意一下port是22122.

    base_path=/fastdfs/tracker


    放开防火墙的22122端口或者关闭防火墙

   vim /etc/sysconfig/iptables   

   添加一行

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT

    重启防火墙

    /etc/init.d/iptables restart

    临时关闭防火墙

    /etc/init.d/iptables stop

    永久关闭防火墙

    chkconfig iptables off 


    启动

    /etc/init.d/fdfs_trackerd start

    查看状态

    /etc/init.d/fdfs_trackerd status

      或者

    ps -ef | grep fdfs

    结果如下:

    [root@localhost ~]# /etc/init.d/fdfs_trackerd start

    Starting FastDFS tracker server: 

    [root@localhost ~]# /etc/init.d/fdfs_trackerd status

    fdfs_trackerd (pid 29561) 正在运行...

    [root@localhost ~]# ps -ef | grep fdfs

    root     29561     1  0 15:18 ?        00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

    root     29577 29461  0 15:19 pts/2    00:00:00 grep fdfs


    这样就可以成功了。


五、存储节点

     192.168.3.102和192.168.3.103是作为存储节点。所以下面的配置在这两个服务都要操作。

     建立目录

   mkdir -p /fastdfs/storage

     拷贝一份tracker的配置文件,重命名为storage.conf

    cp /etc/fdfs/storage.conf.sample  /etc/fdfs/storage.conf

    修改配置  

base_path=/fastdfs/storage

store_path0=/fastdfs/storage

tracker_server=192.168.3.101:22122


注意下面的一些配置:

http.server_port=8888  #设置 http 端口号,后面安装的nginx的端口一致,这样就可以通过http访问文件了。指的是在tracker服务器上启动http服务进程,如:apache或者nginx 启动时所监听的端口,在本节课中,暂时没有用到这个属性的。

port=23000

[备注]:store_path_count如果有多个,那么需要设置多个存储路径,如:

store_path_count=2 

store_path0=/data/fastdfs/storage 

store_path1=/data/fastdfs/storage1


打开防火墙配置

vim /etc/sysconfig/iptables

修改防火前配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT

重启防火墙

 /etc/init.d/iptables restart


启动存储(storage)

命令:/etc/init.d/fdfs_storaged start 

[root@localhost ~]# /etc/init.d/fdfs_storaged start

Starting FastDFS storage server: 

[root@localhost ~]# /etc/init.d/fdfs_storaged status

fdfs_storaged (pid 29560) 正在运行...



 监控命令

命令:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf


测试上传

[root@localhost ~]# cd /etc/fdfs/

[root@localhost fdfs]# cp client.conf.sample  client.conf

vim  client.conf

base_path=/fastdfs/tracker

tracker_server=192.168.3.101:22122


在/tmp目录下面建立一个test.txt,输入hello fastDFS。然后执行下面的上传命令

[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/test.txt 

group1/M00/00/00/wKgDZlrTAsGAGpNuAAAADpRiE8k983.txt

看到返回这个信息就表示上传成功了。


也可以storage服务器的目录看一下的。进入目录看看:进入(192.168.3.102和192.168.3.103)

命令:cd /fastdfs/storage/data/00/00

[root@localhost 00]# ls

wKgDZlrTAsGAGpNuAAAADpRiE8k983.txt

可以看到两台storage节点的文件时可以同步的。都有这个文件。



四、开机配置

设置tracker,设置192.168.3.101开机自动启动

vim /etc/rc.d/rc.local 

/etc/init.d/fdfs_trackerd start


设置storaged开机启动,设置192.168.3.102,192.168.3.103

vim /etc/rc.d/rc.local 

/etc/init.d/fdfs_storaged start

到这里storage的安装配置也完成了。


如何让server进程退出运行?

直接kill即可让server进程正常退出,可以使用killall命令,例如:

 killall fdfs_trackerd

 killall fdfs_storaged

也可以使用如下命令:

 /etc/init.d/fdfs_trackerd stop

/etc/init.d/fdfs_storaged  stop

千万不要使用-9参数强杀,否则可能会导致binlog数据丢失的问题。



fastDFS的其他配置:

https://blog.csdn.net/mingyu1016/article/details/54411321