FastDFS安装配置手册
文件服务器分布式系统安装手册
本文档详细的介绍了FastDFS的最小集群安装过程。集群环境如下:
tracker:20.2.64.133 。用于调度工作,在访问上起负载均衡的作用。
group1:
storage1: 20.10.129.150。存储节点存储文件,完成文件管理的所有功能。
storage2: 20.12.1.73。
group2:
storage2:20.12.1.74
以下将详细的介绍此分布式的安装过程,针对不同的系统,安装过程中部分细节(存储路径设置等)可能稍有不同,但基本步骤相同。
第一步安装libevent
在搭建分布式环境之前,需要确保已经安装了libevent,FastDFS安装时对libevent的版本有一定要求。注需要卸载重装系统自带的libevent。使用最新的stable版本。本示例中使用的版本为libevent-2.0.21-stable。注意,此步骤需要在所有机器上都执行,否则会导致FastDFS安装失败。
1:判断是否安装了libevent
>> rpm -qa|grep libevent
如果有输出,则说明已经安装了libevent
Fastdfs对libevent版本有要求,所以先删除系统自带的libevent,然后安装最新稳定版本
在本示例中,输出为libevent-1.4.13-1.el6.x86_64
2:卸载已有的libevent
>> rpm -e libevent --nodeps
3:安装最新的libevent
本示例的libevent使用版本为libevent-2.0.21-stable.tar.gz
安装libevent
>> tar zvxf libevent-2.0.21-stable.tar.gz
>> cd libevent-2.0.21-stable
>> ./configure --prefix=/usr
>> make
>>make install
4:检查是否安装成功
>> ls –al /usr/lib |grep libevent(或者>> ls –al /usr/local/lib |grep libevent)若有结果,则说明安装正确
注意:
1) 如果是在32为系统上安装,且libevent 的安装目录在/usr/local/lib下,则还需要建立libevent-2.0.so.5 到/usr/lib的软链接,这样其他程序运行时才可以找到libevent库
>> ln –s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
2) 如果是在64位系统,需要创建一个libevent-2.0.so.5 到/usr/lib64的软链接
>> ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 (假设libevent 的安装目录在/usr/lib下)
到此一步,安装libevent工作完毕。
第二步安装FastDFS
本示例中使用的FastDFS版本为4.0.6。
安装FastDFS
>> tar zvxf FastDFS_v4.06.tar.gz
>> cd FastDFs
>> ./make.sh
>> ./make.sh install
注意上面两步,检查是否出错,如果出错,则说明上面的libevent没有安装好
安装成功后,FastDFS 安装在/usr/local/bin中。配置文件在/etc/fdfs中
至此,FastDFS安装完毕
此步骤需要在所有机器上都执行。
第三步安装nginx以及fastdfs-nginx-module(只需在storage)
FastDFS通过HTTP服务器来提供HTTP服务。为了支持高并发的访问,以及提供负载均衡等高性能的服务,本示例使用nginx作为HTTP服务器,FastDFS为我们提供了Nginx上使用的FastDFS模块(fastdfs-nginx-module)。此步操作只需要在storage上执行。tracker
上可不执行。
1:fastdfs-nginx-module安装:
>> tar -zxvf fastdfs-nginx-module_v1.11.tar.gz (解压后的路径为/home/chenfeic/fastdfs/fastdfs-nginx-module)
Nginx需要依赖第三方的库 nginx的gzip模块需要zlib库,rewrite模块需要pcre库,那么我们来依次安装它们。
2:zlib库安装:
>> tar -vxzf zlib-1.2.8.tar.gz (本示例中解压位置为/home/chenfeic/fastdfs/zlib-1.2.8)
>>cd zlib-1.2.8
>> ./configure --prefix=/usr/local/zlib (设置安装路径)
>> make
>> make install
3:pcre库安装:
>> tar -vxzf pcre-8.33.tar.gz (本示例中解压位置为--with-pcre= /home/chenfeic/ fastdfs / pcre-8.33 )
>> cd prce-8.33
>> ./configure --prefix=/usr/local/pcre
--libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
>> make
>> make install
4:nginx安装:
>> tar -zxvf nginx-1.4.4.tar.gz
>> cd nginx-1.4.4
>>./configure --prefix=/usr/local/nginx --with-zlib=/home/chenfeic/fastdfs/zlib-1.2.8 --with-pcre=/home/chenfeic/fastdfs/pcre-8.33 --sbin-path=/usr/local/nginx --add-module=/home/chenfeic/fastdfs/fastdfs-nginx-module/src
>> make
>> make install
注意:--with-pcre --with-zlib 后面的路径都是源码路径,而不是编译后的包。在实际的过程中,此路径根据具体情况填写。
至此,我们的nginx安装成功,nginx默认是80端口,为了防止与其他服务冲突,建议换成其他端口(后续章节有详细介绍)。
此步骤需要在所有storage节点上都执行。(tracker节点不需要执行)
第四步配置及启动FastDFS
1:tracker配置(只需在跟踪器节点配置)
修改tracker的配置文件tracker.conf。该文件位置在/etc/fdfs/tracker.conf。主要修改以下两处,如有其他调整,可参考FastDFS文档自行调整。
>> /etc/fdfs/tracker.conf
base_path=/home/chenfeic/fastdfs/tracker ====>放置data和log的目录。这个路径必须存在。
##include http.conf 修改为#include http.conf ====> 这里一定要注意!是 #include,不是include!!! 如果没有此配置项,则不需要处理
启动tracker
>> /usr/local/bin/fdfs_tracker /etc/fdfs/tracker.conf
检查是否正常启动
>> netstat –anp|grep –w fdfs
看是否有输出,且22122端口已启动
2:storage配置(只需在存储节点配置,同一group节点的配置是一样的)
1)修改nginx端口(可选)
nginx 默认端口号为80,为了防止冲突,可以设置为其他端口,本示例中将其修改为8080。
修改/usr/local/nginx/conf/nginx.conf
>> vim /usr/local/nginx/conf/nginx.conf
Server {
listen 8080(从80改为8080)
}
2)支持FastDFS模块
在nginx的server配置段中增加 /group1/M00的location声明
storage $> vim /usr/local/nginx/conf/nginx.conf
location /group1 /M00 {
//注意:此处如果是在group1就写成group1/M00。如果是group2节点就写group2/M00。依次类推。
root /home/chenfeic/ fastdfs /storage/data; //必须保证路径存在,若不存在就创建
ngx_fastdfs_module; 注意这两行都有分号
}(其中/home/chenfeic/ fastdfs /storage/为storage中配置的store_path0路径,data目录一定要加上)
给 storage 的存储目录做一个软连接
> ln -s /home/chenfeic/ fastdfs /storage/data /home/chenfeic/
fastdfs /storage /data /M00
3)修改storage配置
修改storage的配置文件storage.conf。该文件位置在/etc/fdfs/storage.conf。主要修改以下几如有其他调整,可参考FastDFS文档自行调整
group_name=group1 ====>
此台storage server所属的服务器组名。此处如果是在group1就写成group1。如果是group2节点就写group2。依次类推。
base_path=/home/chenfeic/
fastdfs /storage ====> 放置data和log的目录。此路径必须保证存在。
store_path0=/home/chenfeic/
fastdfs /storage
====> 放置文件的目录,此路径必须保证存在,建议跟base_path保持一致(/home/chenfeic/ fastdfs /storage与nginx server段中的设置保持一致,)
tracker_server=20.2.64.133:22122 ====> tracker server的ip和端口,此处可以写多个tracker
server,每行一个,因为本示例中只有一个tracker,所以只需写一个。
http.disabled=true ====> 关闭内置的web
server,如果有此配置项就设置,否则就不用设置。
http.server_port=8080 ====> web server的端口改成8080(与nginx 端口一致)
4)修改fastdfs-nginx-module配置
拷贝mod_fastdfs.conf
到/etc/fdfs目录下
>>cp
/home/chenfeic/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
5)修改mod_fastdfs.conf配置文件
>> vim /etc/fdfs/mod_fastdfs.conf
base_path=/home/chenfeic/
fastdfs /storage
====> 放置log的目录,与storage中的配置保持一致。
tracker_server=20.2.64.133:22122 ====> tracker server的ip和端口,此处可以写多个tracker
server,每行一个,因为本示例中只有一个tracker,所以只需写一个。
group_name=group1 ====> 此台storage
server所属的服务器组名。此处如果是在group1就写成group1。如果是group2节点就写group2。依次类推。
url_have_group_name = true ====>
在URL中包含group名称。一定要设置true
store_path0=/home/chenfeic/
fastdfs /storage ====> 放置文件的目录,与storage中保持一致
response_mode=proxy
====> 对文件同步延迟的处理方式,通过redirect跳转和proxy代理两种方式解决
group_count=2 ====>group的个数,在本示例中有两个group,所以设为2
到此,配置已经完成,启动nginx和相关storage
>>/usr/local/nginx/nginx
>> /usr/local/bin/fdfs_storage /etc/fdfs/ storage.conf
检查是否正常启动
>> netstat –anp|grep –w
8080 看8080端口是否启动
3:测试是否正常安装
此步骤在tracker或者storage都可以测试,本示例中在storage上测试,修改client.conf配置文件。
> vim
/etc/fdfs/client.conf
base_path=/home/chenfeic/ fastdfs
tracker_server=20.2.64.133:22122
测试:
>vim hello.txt (创建一个测试的文件)
> /usr/local/bin/fdfs_test / etc/fdfs/client.conf
upload hello.txt
查看结果,看文件是否正确上传
可以在任何storage机器上执行如下命令,查看fastdfs集群状态,如果各个storage状态都为ACTIVE,则搭建成功。
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf
关闭tracker(storage)
/usr/local/bin/stop.sh /usr/local/bin/fdfs_trackered(fdfs_storaged) /etc/fdfs/tracker.conf(storage.conf)
或者 killall fdfs_trackered(storaged) -------注意,千万不要使用-9强行杀死进程。否则可能会导致binlog数据丢失的问题。
重启tracker(storage)
/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackered(fdfs_storaged) /etc/fdfs/tracker.conf(storage.conf)
删除storage
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf delete group2 20.12.1.73(删除group2中ip为20.12.1.73的storage)
注意:在配置过程,要注意防火墙的设置。关闭防火墙,或者设置对相关端口例外。
FastDFS安装配置手册的更多相关文章
- QC邮件转发工具Mail Direct安装配置手册
QC邮件转发工具Mail Direct安装配置手册 2010-06-11 10:00:56| 分类: 软件测试 | 标签: |举报 |字号大中小 订阅 QC邮件转发工具安装配置手册 由于公司没有独立的 ...
- fastDFS 安装 配置 使用
fastDFS 安装 配置 使用 关于安装 本文采用的是源码的安装方式,其他安装方式请自行百度 简单介绍 1.背景 FastDFS是一款开源的.分布式文件系统(Distributed File Sys ...
- Git 安装配置手册
Git 安装配置手册 首先我们要了解 Git 是类似于 SVN 用来管理项目的 首先要先下载 Git ,这个东西相当于一个核,是该功能的核心 下载地址(<https://gitforwindow ...
- fastdfs 安装配置
介绍文档 1.安装 # wget # tar xf download # cd FastDFS/ # ./make.sh 运行文件 有报错信息 compilation terminated. ...
- FastDFS安装配置
FastDFS FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务 ...
- FastDFS_v5.05+nginx+cache集群安装配置手册
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.FastDFS简单介绍 FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统, ...
- 潭州课堂25班:Ph201805201 django 项目 第三十八课 后台 文章发布,FastDFS安装 配置(课堂笔记)
, .安装FastDFS # 从docker hub中拉取fastdfs镜像docker pull youkou1/fastdfs # 查看镜像是否拉取成功docker images # 安装trac ...
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...
- Hadoop2.2.0安装配置手册
第一部分 Hadoop 2.2 下载 Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2.官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独 ...
随机推荐
- JSP特点
建立在servlet规范功能之上的动态网页技术. JSP文件在用户第一次请求时,会被编译成servlet,然后由servlet处理用户的请求.所以JSP可以看成运行时servlet. 1).将内容的生 ...
- 静态代理VS动态代理
代理Proxy: Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委 ...
- the design of everyday things
Design principles: Conceptual models Feedback Constraints Affordances All are important. This is wha ...
- bzoj 3240: [Noi2013]矩阵游戏 矩阵乘法+十进制快速幂+常数优化
3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 613 Solved: 256[Submit][Status] ...
- NEURAL NETWORKS, PART 1: BACKGROUND
NEURAL NETWORKS, PART 1: BACKGROUND Artificial neural networks (NN for short) are practical, elegant ...
- C/C++ 中的0长数组(柔性数组)
转自C/C++ 中的0长数组(柔性数组) 在标准C和C++中0长数组如charArray[0]是不允许使用的,因为这从语义逻辑上看,是完全没有意义的.但是,GUN中却允许使用,而且,很多时候,应用在了 ...
- 严重推荐一个免费开源数据库建模工具软件 --OpenSystemArchitect 4.0
嘿嘿,对于我这样的新手,这个工具还是很令人兴奋的. 真的是术业有专攻啊.关键还是免费开源 EXCEL,VISO,PPT,PS,CD,FREEHAND不是不可以,只是.人家还是专业点,方便点.. Ope ...
- 基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
原文地址:http://blog.csdn.net/mmm333zzz/article/details/16863543/
- 查看linux内存、cpu
1.查看cpu数 多核cpu,包括物理多核和逻辑多核,一台机器可能有多个cpu,每个cpu可能有多核的,多个可能包括物理多核和逻辑多核. /proc/cpuinfo 文件里记录了这些信息,以下是一个核 ...
- nginx+tomcat配置https
nginx代理https后,应用redirect https变成http,很多页面报404.情况类似http://blog.sina.com.cn/s/blog_56d8ea900101hlhv.ht ...