centos 6.6最小化版本 安装分布式存储FastDFS

OllieMcneal 8年前

来自: http://my.oschina.net/rock912/blog/616179


最小化安装centos6.6,配置网络

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_v5.05.tar.gz)到/usr/local/src目录,解压

# cd /usr/local/src/

# tar -zxvf FastDFS_v5.05.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文件。

解决:

  1. 在控制台使用iptables命令随便写一条防火墙规则,如:iptables -P OUTPUT ACCEPT

  2. 使用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,说明文件上传成功)