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

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

087cb179d4250dfca76437107ee282a238a.jpg

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

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 

       edafaa7a9443f1f2629ee7a637a7cf7fd71.jpg

       查看日志: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 

      ec1a6f1ae3bccad6cd18b9f8f9ebdd55e1c.jpg

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

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

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

    f230868e070495c138035392d70290372e9.jpg

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

      上传命令:

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

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

    先在tracker上:b2b34edf3185dd536dad1e1091067b82002.jpg

    然后在storage上:460cc516cddae7039c5ccee6d056aa98be4.jpg

    验证完成,只是访问不到文件,需要整合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

 62d492acaa09e4696dec86ecadf0447ddd0.jpg

 storage 与nginx 整合成功。

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

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

80d2589056d9c01de3593f2174d8db14fce.jpg

访问storage的代理:

e0a8efc27924cc5e06a6babed61ca4946d1.jpg

 

则安装成功!

转载于:https://my.oschina.net/huangguangsheng/blog/3018895

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值