fastDfS集群(8节点)

来源:互联网 发布:市场上主流单片机 编辑:程序博客网 时间:2024/06/13 08:40

(一)         下载FastDFS安装包

FastDFS官方论坛:http://www.csource.org

下载1:http://sourceforge.net/projects/fastdfs/files/

下载2:https://code.google.com/p/fastdfs/downloads/list


使用CentOS 6.5 x86_64版操作系统,按照以下网络拓扑进行部署:

所需要下载的压缩包有:FastDFS源代码:FastDFS_v5.01.tar.gznginx模块源代码:fastdfs-nginx-module_v1.15.tar.gznginx服务器源代码:nginx-1.4.7.tar.gznginx cache purge插件源代码:ngx_cache_purge-2.1.tar.gznginx依赖的pcre库源代码:pcre-8.34.tar.gznginx依赖的zlib库源代码:zlib-1.2.8.tar.gz

(二)安装tracker1.安装首先在192.168.244.131-132上安装FastDFS tracker,使用FastDFS_v5.01.tar.gz源代码包。可以直接从Linux系统下载源代码包并解压安装。如果是在Windows系统下载,可以在Linux系统中挂载Windows的共享目录并且将源代码包复制进Linux系统内。挂载命令如下

首先将代码包复制到系统的/usr/local/src内(这一步可选),然后使用tar命令解压


运行make.sh,确认make成功。期间如果有错误,可能会是缺少依赖的软件包,需安装后再次make。

运行make.sh install,确认install成功。

安装完成后,所有可执行文件在/usr/local/bin下,以fdfs开头:


所有配置文件在/etc/fdfs下:


至此tracker安装完成。

2.配置编辑配置文件目录下的tracker.conf,设置相关信息并保存。

一般只需改动以下几个参数即可:disabled=false            #启用配置文件port=22122                #设置tracker的端口号base_path=/fdfs/tracker   #设置tracker的数据文件和日志目录(需预先创建)http.server_port=8080     #设置http端口号如需要进行性能调优,可以参照附录的配置文件的详细说明。

3.运行运行tracker之前,先要把防火墙中对应的端口打开(本例中为22122)。


启动tracker,确认启动是否成功。(查看是否对应端口22122是否开始监听)

也可查看tracker的日志是否启动成功或是否有错误。


设置开机自动启动。

将运行命令行添加进文件:/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

(三)安装storage1.安装首先在192.168.244.133-138上安装FastDFS storage,使用FastDFS_v5.01.tar.gz源代码包。首先将代码包复制到系统的/usr/local/src内(这一步可选),然后使用tar命令解压


运行make.sh,确认make成功。期间如果有错误,可能会是缺少依赖的软件包,需安装后再次make。

运行make.sh install,确认install成功。

安装完成后,所有可执行文件在/usr/local/bin下,以fdfs开头:

所有配置文件在/etc/fdfs下:

至此storage安装完成。

2.配置编辑配置文件目录下的storage.conf,设置相关信息并保存。


一般只需改动以下几个参数即可:disabled=false                    #启用配置文件group_name=group1                 #组名,根据实际情况修改port=23000                        #设置storage的端口号base_path=/fdfs/storage           #设置storage的日志目录(需预先创建)store_path_count=1                #存储路径个数,需要和store_path个数匹配store_path0=/fdfs/storage         #存储路径#如果有多个挂载磁盘则定义多个store_path#store_path1=.....#store_path2=......配置tracker可以制定多个 tracker_server=192.168.244.132:22122tracker_server=192.168.244.131:22122  #tracker服务器的IP地址和端口号http.server_port=8080     #设置http端口号如需要进行性能调优,可以参照附录的配置文件的详细说明。


3.运行运行storage之前,先要把防火墙中对应的端口打开(本例中为23000)。

启动storage,会根据配置文件的设置自动创建多级存储目录,确认启动是否成功。(查看是否对应端口23000是否开始监听)



也可查看storage的日志是否启动成功或是否有错误。


确认启动成功后,可以运行fdfs_monitor查看storage服务器是否已经登记到tracker服务器。


看到“192.168.244.133  ACTIVE”即可确认storage运行正常。设置开机自动启动。


将运行命令行添加进文件:/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart之后依次在192.168.244.133~138上全部安装上storage并确认运行正常。注意配置文件中group名参数需要根据实际情况调整,本例中group是这样分配的:group1:192.168.244.133,192.168.244.134group2:192.168.244.135,192.168.244.136group3:192.168.244.137,192.168.244.138另外每个group中所有storage的端口号必须一致。(四)在storage上安装nginx在storage上安装的nginx主要为了提供http的访问服务,同时解决group中storage服务器的同步延迟问题。1.安装首先在172.16.1.203上安装nginx,使用nginx-1.4.7.tar.gz源代码包以及FastDFS的nginx插件fastdfs-nginx-module_v1.15.tar.gz。首先将代码包和插件复制到系统的/usr/local/src内(可选),然后使用tar命令解压


运行./configure进行安装前的设置,主要设置安装路径、FastDFS插件模块目录、pcre库目录、zlib库目录。如果提示错误,可能缺少依赖的软件包,需先安装依赖包,再次运行./configure


运行make进行编译,确保编译成功。

运行make install进行安装。

将FastDFS的nginx插件模块的配置文件copy到FastDFS配置文件目录。

安装完成后,nginx所有文件在/usr/local/nginx下:


至此nginx以及FastDFS的nginx插件模块安装完成。2.配置编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置添加storage信息并保存。


将server段中的listen端口号改为8080:listen       8080;在server段中添加:location ~/group[1-3]/M00 {    root /fdfs/storage/data;    ngx_fastdfs_module;}编辑/etc/fdfs配置文件目录下的mod_fastdfs.conf,设置storage信息并保存。

一般只需改动以下几个参数即可:base_path=/fdfs/storage           #保存日志目录tracker_server=192.168.244.131:22122 #tracker服务器的IP地址以及端口号tracker_server=192.168.244.132:22122storage_server_port=23000         #storage服务器的端口号group_name=group1                 #当前服务器的group名url_have_group_name = true        #文件url中是否有group名store_path_count=1                #存储路径个数,需要和store_path个数匹配store_path0=/fdfs/storage         #存储路径http.need_find_content_type=true  #从文件扩展名查找文件类型(nginx时为true)group_count = 3                   #设置组的个数在末尾增加3个组的具体信息:[group1]group_name=group1storage_server_port=23000store_path_count=1store_path0=/fdfs/storage [group2]group_name=group2storage_server_port=23000store_path_count=1store_path0=/fdfs/storage[group3]group_name=group3storage_server_port=23000store_path_count=1store_path0=/fdfs/storage建立M00至存储目录的符号连接。

至此,nginx以及FastDFS插件模块设置完成。3.运行运行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。

也可查看nginx的日志是否启动成功或是否有错误。

在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://172.16.1.203:8080,查看是否弹出nginx欢迎页面。

之后依次在192.168.244.133~138上全部安装上nginx并确认运行正常。设置开机自动启动。

将运行命令行添加进文件:/usr/local/nginx/sbin/nginx

(五)在tracker上安装nginx在tracker上安装的nginx主要为了提供http访问的反向代理、负载均衡以及缓存服务。1.安装首先将代码包和插件复制到系统的/usr/local/src内(可选),然后使用tar命令解压

行./configure进行安装前的设置,主要设置安装路径、nginx cache purge插件模块目录、pcre库目录、zlib库目录。如果提示错误,可能缺少依赖的软件包,需先安装依赖包,再次运行./configure

运行make进行编译,确保编译成功。

运行make install进行安装。


至此nginx以及nginx cache purge插件模块安装完成。2.配置编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置负载均衡以及缓存。

worker_processes  4;                  #根据CPU核心数而定events {    worker_connections  65535;        #最大链接数    use epoll;                        #新版本的Linux可使用epoll加快处理性能}http {#设置缓存参数    server_names_hash_bucket_size 128;    client_header_buffer_size 32k;    large_client_header_buffers 4 32k;    client_max_body_size 300m;    sendfile        on;    tcp_nopush      on;    proxy_redirect off;    proxy_set_header Host $http_host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_connect_timeout 90;    proxy_send_timeout 90;    proxy_read_timeout 90;    proxy_buffer_size 16k;    proxy_buffers 4 64k;    proxy_busy_buffers_size 128k;    proxy_temp_file_write_size 128k;#设置缓存存储路径、存储方式、分配内存大小、磁盘最大空间、缓存期限    proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=http-cache:500m max_size=10g inactive=30d;    proxy_temp_path /var/cache/nginx/proxy_cache/tmp;#设置group1的服务器    upstream fdfs_group1 {        server 192.168.244.133:8080 weight=1 max_fails=2 fail_timeout=30s;        server 192.168.244.134:8080 weight=1 max_fails=2 fail_timeout=30s;    }#设置group2的服务器    upstream fdfs_group2 {        server 192.168.244.135:8080 weight=1 max_fails=2 fail_timeout=30s;        server 192.168.244.136:8080 weight=1 max_fails=2 fail_timeout=30s;    }#设置group3的服务器    upstream fdfs_group3 {        server 192.168.244.137:8080 weight=1 max_fails=2 fail_timeout=30s;        server 192.168.244.138:8080 weight=1 max_fails=2 fail_timeout=30s;    }   server {#设置服务器端口        listen       8080;#设置group1的负载均衡参数        location /group1/M00 {            proxy_next_upstream http_502 http_504 error timeout invalid_header;            proxy_cache http-cache;            proxy_cache_valid  200 304 12h;            proxy_cache_key $uri$is_args$args;            proxy_pass http://fdfs_group1;            expires 30d;        }#设置group2的负载均衡参数        location /group2/M00 {            proxy_next_upstream http_502 http_504 error timeout invalid_header;            proxy_cache http-cache;            proxy_cache_valid  200 304 12h;            proxy_cache_key $uri$is_args$args;            proxy_pass http://fdfs_group2;            expires 30d;        }#设置group3的负载均衡参数        location /group3/M00 {            proxy_next_upstream http_502 http_504 error timeout invalid_header;            proxy_cache http-cache;            proxy_cache_valid  200 304 12h;            proxy_cache_key $uri$is_args$args;            proxy_pass http://fdfs_group3;            expires 30d;        }#设置清除缓存的访问权限        location ~ /purge(/.*) {            allow 127.0.0.1;            allow 172.16.1.0/24;            deny all;            proxy_cache_purge http-cache  $1$is_args$args;        }   至此,nginx以及nginx cache purge插件模块设置完成。

3.运行运行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。


启动nginx,确认启动是否成功。(查看是否对应端口8080是否开始监听)


尝试上传一个文件到FastDFS,然后访问试试。先配置client.conf文件。

修改以下参数:base_path=/fdfs/tracker                    #日志存放路径tracker_server=192.168.244.131:22122          #tracker服务器IP地址和端口号tracker_server=192.168.244.132:22122http.tracker_server_port=8080              #tracker服务器的http端口号使用/usr/local/bin/fdfs_upload_file上传一个文件,程序会自动返回文件的URL。

http://192.168.244.131:8080/group3/M00/0000/....jpg可以访问


可以看到文件被正确读取出来了。查看nginx的access.log日志,可以看到访问返回200成功。


 

查看nginx的cache目录,可以看到已经生成了缓存文件。



l  设置开机自动启动。

将运行命令行添加进文件:/usr/local/nginx/sbin/nginx至此,tracker服务器上的http反向代理+负载均衡+缓存已经安装完成。


附录:



原创粉丝点击