学习目标:
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