文档章节

centos 分布式文件系统-FastDFS_v5.05安装

轻量级赤影
 轻量级赤影
发布于 03/06 18:20
字数 2246
阅读 64
收藏 2

注:(引用)首先看一下FastDFS架构示意图如下:

注:(引用)技术相关术语:

Tracker Server:跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。在内存中记录集群中group和storage server的状态信息,是连接Client和    Storage server的枢纽。 因为相关信息全部在内存中,Tracker server的性能非常高,一个较大的集群(比如上百个group)中有3台就足够了。  

Storage Server:存储服务器,文件和文件属性(meta data)都保存到存储服务器上。

下面我们就开始FastDFS的安装了:

首先 tracker 与 storage 的安装基本相同的,只是配置的文件有些差别。

tracker 安装于  10.20.20.49 

storage 安装于 10.20.20.14(可以安装多个storage,为了方便说明,只列举一个,其他的storage安装步骤相同(storage里配置了tracker就可以关联起来))

tracker 与storage 可以安装于同一台机器上,为了方便扩展建议安装在不同的机器上

先去官网下载相关包

1)FastDFS:    https://sourceforge.net/projects/fastdfs/

2)ibfastcommon:  https://sourceforge.net/projects/libfastcommon/(FastDFS 依赖工具包)

3)fastdfs-nginx-module :https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/(与nginx 集成用到)

4)ngx_cache_purge-2.3.tar(nginx的缓存用到)

5)nginx:http://nginx.org/en/download.html

安装tracker:

1.把文件拷贝到 /usr/local ,解压

     tar -zcxf  libfastcommon

     tar -zxvf FastDFS_v5.05.tar.gz

2.切换到 libfastcommon 目录

按照这个组件需要先安装它的依赖:

    cd libfastcommon    

    yum install gcc 

    yum install gcc-c++

    yum install gcc perl

    开始安装:
    ./make.sh
    ./make.sh install

3.安装FastDFS

    cd FastDFS
    ./make.sh
    ./make.sh install

4.安装后会在/etc/fdfs/ 目录生成fdfs的原始文件,切换到该目录下,复制以下两个文件:

    cd /etc/fdfs
    cp client.conf.sample client.conf
    cp tracker.conf.sample tracker.conf

5.修改拷贝后的文件,先创建tracker的日志文件目录,修改配置

    mkdir -p /opt/fdfs/tracker

    vim   tracker.conf

    需要修改的内容:     base_path=/opt/fdfs/tracker
                                    tracker_server=10.20.20.49:22122(tracker 的ip)

    (更多需求可以参照网上其他配置项)

6. 拷贝fdfs命令到指定目录
    cp /usr/bin/fdfs_trackerd /usr/local/bin
    cp /usr/bin/fdfs_monitor /usr/local/bin
    cp /usr/bin/fdfs_upload_file /usr/local/bin
    cp /usr/bin/fdfs_test /usr/local/bin

7. 连接目录

    ln -s /usr/include/fastcommon /usr/local/include/fastcommon 
    ln -s /usr/include/fastdfs /usr/local/include/fastdfs 
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

8.前面就已经安装完tracker了,启动测试。

        fdfs_trackerd /etc/fdfs/tracker.conf start

       查看服务: ps -ef|grep fdfs 

       

       查看日志:cat  /opt/fdfs/tracker/logs/trackerd.log

到此 tracker 安装完成。

安装 storage

    注:如果是同一台机器则(1-3步省略)

1.把文件拷贝到 /usr/local ,解压

     tar -zcxf  libfastcommon

     tar -zxvf FastDFS_v5.05.tar.gz

2.切换到 libfastcommon 目录

按照这个组件需要先安装它的依赖:

    cd libfastcommon    

    yum install gcc 

    yum install gcc-c++

    yum install gcc perl

    开始安装:
    ./make.sh
    ./make.sh install

3.安装FastDFS

        cd FastDFS
        ./make.sh
        ./make.sh install

4.安装后会在/etc/fdfs/ 目录生成fdfs的原始文件,切换到该目录下,复制storage.conf.sample文件:

        cd /etc/fdfs

         cp storage.conf.sample storage.conf

         创建storage的存储目录和日志目录

         mkdir -p /opt/fdfs/storage (日志目录,看自己喜欢创那都可以)
         mkdir -p /data/fdfs             (存储目录,看自己喜欢创那都可以)

 5.修改storage.conf的配置文件

        修改项:

        base_path=/opt/fdfs/storage(日志目录)
        group_name=group1(设定的组名)
        store_path0=/data/fdfs(存储目录)
        tracker_server=10.20.20.49:22122(tracker服务器ip)
        http.server_port=8080

 6. 拷贝fdfs命令到指定目录
    cp /usr/bin/fdfs_storaged /usr/local/bin
    cp /usr/bin/fdfs_monitor /usr/local/bin

 7.连接目录

    ln -s /usr/include/fastcommon /usr/local/include/fastcommon 
    ln -s /usr/include/fastdfs /usr/local/include/fastdfs 
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

 8.启动storage

     fdfs_storaged /etc/fdfs/storage.conf start

     查看storage是否启动成功 ps -ef|grep fdfs 

      

     查看日志文件:cat /opt/fdfs/stroage/logs/storaged.log 

 9.检验tracker 与storage 是否成关联  

     在安装storage 的机子上使用,出如下界面则说明已经安装成功:fdfs_monitor /etc/fdfs/storage.conf

    

10.上传文件测试,tracker 与storage 都可以:

      上传命令:

      fdfs_upload_file(上传命令)   工具   要上传的文件

      fdfs_upload_file     /etc/fdfs/client.conf   /usr/local/E.........82.png

    先在tracker上:

    然后在storage上:

    验证完成,只是访问不到文件,需要整合nginx 代理。

 

安装tracker 与nginx 结合(为了能够http访问到文件服务器的文件),所以需要与代理相结合。

安装nginx:

        确保依赖安装
        yum install –y openssl-devel pcre-devel zlib-devel
        yum install gd-devel

1.把以下文件拷贝到/usr/local/,解压相关文件

    tar  -zxvf fastdfs-nginx-module_v1.16.tar.gz

    tar -zxvf ngx_cache_purge-2.3.tar.gz

    tar -zxvf nginx-1.8.0.tar.gz

2.切换到 nginx-1.8.0,执行以下命令:

./configure  --prefix=/usr/local/nginx  --add-module=/usr/local/fastdfs-nginx-module/src  --add-module=/usr/local/ngx_cache_purge-2.3

make

make install

3.配置mod_fastdfs.conf(与nginx集成的关键步骤)

  把/usr/local/fastdfs-nginx-module/src 目录下的 mod_fastdfs.conf拷贝到 /etc/fdfs/

  cp  /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf      /etc/fdfs/

   否则启动nginx 报错:

      ERROR - file: shared_func.c, line: 960, open file /etc/fdfs/mod_fastdfs.conf fail, errno: 2, error info: No such file or     directory
      ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail,     ret code: 2

4. 修改/etc/fdfs/mod_fastdfs.conf配置项

     vim /etc/fdfs/mod_fastdfs.conf

      修改项:

        base_path=/data/fdfs
        tracker_server=tracker服务器ip:22122   #修改为tracker server信息
        url_have_group_name= true #改为true
        store_path0=/data/fdfs #改为数据存储路径,和storage.conf一样
        group_name=group1
        group_count = 1

    并且在文件末尾加上以下信息

        [group1]
        group_name=group1
        storage_server_port=23000
        store_path_count=1(修改成1,默认是2,否则就配store_path1)
        store_path0=/opt/fdfs/tracker

5.拷贝/usr/local/src/FastDFS/conf/ 中的http.conf和mime.type ,到/etc/fdfs/ ;

   否则启动nginx报错:

    ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
    ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2

        cp /usr/local/src/FastDFS/conf/http.conf /etc/fdfs/
        cp /usr/local/src/FastDFS/conf/mime.types /etc/fdfs/


  6.配置代理信息 nginx.conf  添加如下内容

   创建目录:  mkdir -p  /media/disk1/nginx/proxy_temp
                      mkdir -p  /media/disk1/nginx/proxy_cache

   在 http{ }中加入如下信息:

     include mime.types;
     default_type  application/octet-stream;
     server_names_hash_bucket_size 128;
     client_header_buffer_size 32k;
     large_client_header_buffers 4 32k;
     client_max_body_size 8m;
     sendfile on;
     tcp_nopush on;
     keepalive_timeout 60;

     tcp_nodelay on;

     client_body_buffer_size 512k;
     proxy_connect_timeout 5;
     proxy_read_timeout 60;
     proxy_send_timeout 5;
     proxy_buffer_size 16k;
     proxy_buffers 4 64k;
     proxy_busy_buffers_size 128k;
     proxy_temp_file_write_size 128k;
     proxy_temp_path /media/disk1/nginx/proxy_temp;
     proxy_cache_path /media/disk1/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
     proxy_cache_bypass $http_secret_header;
     gzip on;
     gzip_min_length 1k;
     gzip_buffers 4 16k;
     gzip_http_version 1.0;
     gzip_comp_level 2;
     gzip_types text/plain application/x-javascript text/css application/xml;
     gzip_vary on;

      upstream fdfs_g1 {
        server 10.20.20.14:80 weight=1 max_fails=2 fail_timeout=30s; #(storage 代理服务器的地址)
     }

      location /group1/M00 {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        proxy_cache content;
        proxy_cache_valid 200 304 12h;
        proxy_cache_key $request_uri$is_args$args;
        proxy_pass http://fdfs_g1;
        expires 30d;
     }

      location ~ /purge(/.*) {
        allow all;
        proxy_cache_purge content $1$is_args$args;
     }

8.启动tracker nginx 看集成是否成功。

  切换到 /usr/local/nginx/sbin 目录执行

    ./nginx 

   查看nginx 的日志文件 /usr/local/nginx/logs,日志无错误说明整合成功。

安装storage与nginx 结合(为了能够http访问到文件服务器的文件),所以需要与代理相结合。

前面的跟着tracker安装基本一样,唯一的区别就是nginx.conf 的配置

安装nginx:

        确保依赖安装
        yum install –y openssl-devel pcre-devel zlib-devel
        yum install gd-devel

1.把以下文件拷贝到/usr/local/,解压相关文件

    tar  -zxvf fastdfs-nginx-module_v1.16.tar.gz

    tar -zxvf ngx_cache_purge-2.3.tar.gz

    tar -zxvf nginx-1.8.0.tar.gz

2.切换到 nginx-1.8.0,执行以下命令:

./configure  --prefix=/usr/local/nginx  --add-module=/usr/local/fastdfs-nginx-module/src  --add-module=/usr/local/ngx_cache_purge-2.3

make

make install

3.配置mod_fastdfs.conf(与nginx集成的关键步骤)

  把/usr/local/fastdfs-nginx-module/src 目录下的 mod_fastdfs.conf拷贝到 /etc/fdfs/

  cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

4. 修改/etc/fdfs/mod_fastdfs.conf配置项

     vim /etc/fdfs/mod_fastdfs.conf

      修改项:

        base_path=/data/fdfs
        tracker_server=tracker服务器ip:22122   #修改为tracker server信息
        url_have_group_name= true #改为true
        store_path0=/data/fdfs #改为数据存储路径,和storage.conf一样
        group_name=group1
        group_count = 1

    并且在文件末尾加上以下信息:

        [group1]
        group_name=group1
        storage_server_port=23000
        store_path_count=1  (修改成1,默认是2,否则就配store_path1)
        store_path0=/data/fdfs(storage 的存储目录)

5.链接storage存储目录文件

    ln -s /data/fdfs/data /data/fdfs/data/M00

6.拷贝/usr/local/src/FastDFS/conf/ 中的http.conf和mime.type ,到/etc/fdfs/ 否则启动nginx报错:    

        cp /usr/local/src/FastDFS/conf/http.conf /etc/fdfs/
        cp /usr/local/src/FastDFS/conf/mime.types /etc/fdfs/

如果报 ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
           ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2

则到/etc/fdfs/http.conf文件中 注释include http.conf 即可

7.配置代理信息 nginx.conf  添加如下内容即可,如需更多配置请自行研究:

      location ~/group1/M00 {
         root /opt/fdfs/data;(stroage的存储目录)
         ngx_fastdfs_module;
        }

8.启动storage nginx 看集成是否成功。

  切换到 /usr/local/nginx/sbin 目录执行

    ./nginx 

   查看nginx 的日志文件 /usr/local/nginx/logs

 

 storage 与nginx 整合成功。

10.安装完成,查看刚才的上传的文件是否可以访问,则验证完成:

访问tracker的代理(博主采用的是默认80端口),其实最终访问的是storage的代理。

访问storage的代理:

 

则安装成功!

© 著作权归作者所有

轻量级赤影
粉丝 3
博文 67
码字总数 29544
作品 0
深圳
程序员
私信 提问
Ubuntu 14.04下部署FastDFS 5.08+Nginx 1.13.0

环境 Ubuntu 14.04 用户 admin 数据目录: /fastdfs 安装包:FastDFS v5.05 一、下载安装libfastcommon 1.1、上传或下载 libfastcommon-master.zip 到/usr/local/src 目录 1.2、解压 1.3、编...

paascloud
2017/05/29
0
0
Centos 7 搭建 FastDFS文件管理系统

一、FastDFS介绍 FastDFS开源地址:https://github.com/happyfish100 参考:分布式文件系统FastDFS设计原理 参考:FastDFS分布式文件系统 个人封装的FastDFS Java API:https://github.com/...

欧虞山
2018/09/05
0
0
FastDFS服务器集群部署和集成客户端到SpringBoot

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,同时也能做到在集群环...

maoqitian
2018/11/01
0
0
CentOS 6.3(64) ---> fastdfs_v4.07 / 实现多服务器

自己闲着没事,在小黑上虚拟了 4 个 centos 64 的系统,用来安装分布式 fastdfs 、 nginx 负载均衡,过程一路艰辛,搞了一个通宵都没弄好,终于在第二天的傍晚终于弄好了,记录一下过程。 有...

shking
2013/09/29
10.8K
27
FastDFS5.05安装说明

FastDFS分布式文件系统的安装与使用 跟踪服务器:192.168.4.121 (edu-dfs-tracker-01) 存储服务器:192.168.4.125 (edu-dfs-storage-01) 环境:CentOS 6.6 用户:root 数据目录:/fastdfs (...

chaun
2015/06/16
235
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
28分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
42分钟前
7
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
433
9
玩转 Springboot 2 之热部署(DevTools)

Devtools 介绍 SpringBoot 提供了热部署的功能,那啥是热部署累?SpringBoot官方是这样说的:只要类路径上的文件发生更改,就会自动重新启动应用程序。在IDE中工作时,这可能是一个有用的功能...

桌前明月
今天
6
0
CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部