centos 7.2安装分布式存储FastDFS
1、编译和安装所需的依赖包:
# yum install make cmake gcc gcc-c++ perl unzip
2、安装libfastcommon(https://github.com/happyfish100/libfastcommon)
(1)上传或下载libfastcommon-master.zip到/usr/local/src目录,解压
# cd /usr/local/src/
# unzip libfastcommon-master.zip
# cd libfastcommon-master
(2)编译、安装
# ./make.sh
# ./make.sh install
libfastcommon默认安装到了
/usr/lib64/libfastcommon.so
/usr/lib64/libfdfsclient.so
(3)因为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
3、安装FastDFS(https://github.com/happyfish100/fastdfs/releases)
(1)上传或下载FastDFS源码包(fastdfs-5.11.tar.gz)到/usr/local/src目录,解压
# cd /usr/local/src/
# tar -zxvf fastdfs-5.11.tar.gz
# cd FastDFS
(2)编译、安装(编译前要确保已经成功安装了libfastcommon)
# ./make.sh
# ./make.sh install
采用默认安装的方式安装,安装后的相应文件与目录:
A、服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
B、配置文件在(样例配置文件):
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
C、命令工具在/usr/bin/目录下的:
fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh
restart.sh
因为FastDFS服务脚本设置的bin目录是/usr/local/bin,但实际命令安装在/usr/bin,可以进入
/user/bin目录使用以下命令查看fdfs的相关命令:
# cd /usr/bin/
# ls | grep fdfs
因此需要修改FastDFS服务脚本中相应的命令路径,也就是把/etc/init.d/fdfs_storaged
和/etc/init.d/fdfs_tracker两个脚本中的/usr/local/bin修改成/usr/bin:
# vi /etc/init.d/fdfs_trackerd
使用查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin
# vi /etc/init.d/fdfs_storaged
使用查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin
注意:以上操作无论是配置tracker还是配置storage都是必须的,而tracker和storage的区别主要是在安装完fastdfs之后的配置过程中。
4、配置FastDFS跟踪器Tracker(192.168.1.131、192.168.1.132)
1、复制FastDFS跟踪器样例配置文件,并重命名:
# cd /etc/fdfs/
# cp tracker.conf.sample tracker.conf
2、编辑跟踪器配置文件:
# vi /etc/fdfs/tracker.conf
修改的内容如下:
disabled=false#启用配置文件
port=22122#tracker的端口号,一般采用22122这个默认端口
base_path=/fastdfs/tracker#tracker的数据文件和日志目录
(其它参数保留默认配置,具体配置解释请参考官方文档说明:http://bbs.chinaunix.net/thread-1941456-1-1.html)
3、创建基础数据目录(参考基础目录base_path配置):
# mkdir -p /fastdfs/tracker
4、防火墙中打开跟踪器端口(默认为22122):
# vi /etc/sysconfig/iptables
添加如下端口行:
## FastDFS Tracker Port
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启防火墙:
# service iptables restart
注意:
使用service
iptables status查看防火墙的状态时,无任何反应,且使用service iptables
start也启动不聊。后来发现在/etc/sysconfig目录下没有iptables文件(防火墙的策略一般都写在此文件中)。
原因:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件。
解决:
在控制台使用iptables命令随便写一条防火墙规则,如:iptables -P OUTPUT ACCEPT
使用service iptables save进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中
5、启动Tracker:
# /etc/init.d/fdfs_trackerd start
(初次成功启动,会在/fastdfs/tracker目录下创建data、logs两个目录)可以通过以下两个方法查看tracker是否启动成功:
(1)查看22122端口监听情况:netstat -unltp|grep fdfs
(2)通过以下命令查看tracker的启动日志,看是否有错误
tail -100f /fastdfs/tracker/logs/trackerd.log
6、关闭Tracker:
# /etc/init.d/fdfs_trackerd stop
7、设置FastDFS跟踪器开机启动:
# vi /etc/rc.d/rc.local
添加以下内容:
## FastDFS Tracker
/etc/init.d/fdfs_trackerd start
5、配置FastDFS存储(192.168.1.135、192.168.1.136、192.168.1.137、192.168.1.138 )
1、复制FastDFS存储器样例配置文件,并重命名:
# cd /etc/fdfs/
# cp storage.conf.sample storage.conf
2、编辑存储器样例配置文件(以group1中的storage节点的storage.conf为例):
# vi /etc/fdfs/storage.conf
修改的内容如下:
disabled=false#启用配置文件
group_name=group1#组名(第一组为group1,第二组为group2)
port=23000#storage的端口号,同一个组的storage端口号必须相同
base_path=/fastdfs/storage#设置storage的日志目录
store_path0=/fastdfs/storage#存储路径
store_path_count=1#存储路径个数,需要和store_path个数匹配
tracker_server=192.168.1.131:22122#tracker服务器的IP地址和端口
tracker_server=192.168.1.132:22122#多个tracker直接添加多条配置
http.server_port=8888#设置http端口号
(其它参数保留默认配置,具体配置解释请参考官方文档说明:
http://bbs.chinaunix.net/thread-1941456-1-1.html)
3、创建基础数据目录(参考基础目录base_path配置):
# mkdir -p /fastdfs/storage
4、防火墙中打开存储器端口(默认为23000):
# vi /etc/sysconfig/iptables
添加如下端口行:
## FastDFS Storage Port
-A INPUT -m state --stateNEW -m tcp -p tcp --dport 23000-j ACCEPT
重启防火墙:
# service iptables restart
5、启动Storage:
# /etc/init.d/fdfs_storagedstart
(初次成功启动,会在/fastdfs/storage目录下创建数据目录data和日志目录logs)
各节点启动动,使用tail -f /fastdfs/storage/logs/storaged.log命令监听存储节点日志,可以看到存储节点链接到跟踪器,并提示哪一个为leader跟踪器。同时也会看到同一组中的其他节点加入进来的日志信息。
查看23000端口监听情况:netstat -unltp|grep fdfs
所有Storage节点都启动之后,可以在任一Storage节点上使用如下命令查看集群信息:
# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
可以看到存储节点状态为ACTIVE则可
6、关闭Storage:
# /etc/init.d/fdfs_storagedstop
7、设置FastDFS存储器开机启动:
# vi /etc/rc.d/rc.local
添加:
## FastDFS Storage
/etc/init.d/fdfs_storaged start
文件上传测试(192.168.1.131)
1、修改Tracker服务器中的客户端配置文件:
# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
#vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.1.131:22122
tracker_server=192.168.1.132:22122
2、执行如下文件上传命令:
# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
返回ID号:
group1/M00/00/00/wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz
group2/M00/00/00/wKgBiVXtsDmAe3kjAAVFOL7FJU4.tar.gz
(能返回以上文件ID,说明文件上传成功)