zoukankan      html  css  js  c++  java
  • centos7配置fastdfs集群(5.09)

    centos7配置fastdfs集群(5.09)

     版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/daiyudong2020/article/details/61210303

    简介:

    FastDFS是一个开源的轻量级分布式文件系统,它的特性在这里略过几千字。

    基础环境准备:

    centos7虚拟机2台,暂时关闭机器的防火墙,iptables -F。

    机器A: 192.168.1.106

    机器B: 192.168.1.107

    目标:使用两台机,组成一个fastdfs集群,含有1组存储服务

    1.安装依赖库libfastcommon

    下载:https://github.com/happyfish100/libfastcommon (master分支)

    unzip libfastcommon-master.zip
    cd libfastcommon-master
    ./make.sh
    ./make.sh install
    

    2.安装fastdfs

    下载:https://github.com/happyfish100/fastdfs(5.09版本)

    unzip fastdfs-5.09.zip
    cd fastdfs-5.09
    ./make.sh
    ./make.sh install
    cp conf/http.conf /etc/fdfs/
    cp conf/mime.types /etc/fdfs/

    a)如果全程没报错,则安装成功,在这里必须拷贝conf下的两个文件,否则运行报错。

    b)安装完毕后,执行进程默认都在/usr/bin目录中,可以通过ls /usr/bin/fdfs_*查看。

    c)安装完毕后,启动的配置文件默认都在/etc/fdfs中。

    3.安装nginx fastdfs moudel(用于下载文件)

    下载module:https://github.com/happyfish100/fastdfs-nginx-module(master分支)
    下载nginx:http://nginx.org/en/download.html (选个最新稳定版,在这里我选择了1.10.3)

    tar -xzvf nginx-1.10.3.tar.gz
    unzip fastdfs-nginx-module-master.zip
    mkdir /usr/local/nginx-1.10.3
    cd nginx-1.10.3
    ./configure --prefix=/usr/local/nginx-1.10.3 --add-module=/home/daiyu/soft/fastdfs-nginx-module-master/src
    make
    make install

    a)fastdfs的文件名包含了下载路径,所以可以通过nginx模块进行静态下载,而不需要通过tracker服务。

    b)接下来还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下

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

    4.启动fastdfs前的一些目录准备

    mkdir /fdfs0 #文件存储路径0
    mkdir /fdfs1 #文件存储路径1
    
    mkdir /fastdfs/tracker #tracker服务的日志和一些数据存储
    mkdir /fastdfs/storage #storage服务的日志和一些数据存储(非文件数据)
    
    mkdir /fastdfs/mod_fastdfs #fastdfs nginx模块
    mkdir /fastdfs/mod_fastdfs/logs #fastdfs nginx模块日志
    
    mkdir /fastdfs/client #测试客户端的日志,备用

    配置文件简单介绍

    tracker.conf     #tracker服务依赖的配置
    storage_ids.conf #tracker服务依赖的配置
    storage.conf     #storage服务依赖的配置
    http.conf        #nginx模块依赖的配置
    mime.types       #nginx模块依赖的配置
    mod_fastdfs.conf #nginx模块依赖的配置
    client.conf      #测试客户依赖的配置

    5.配置tracker的配置,并启动服务

    cp tracker.conf.sample tracker.conf
    vim tracker.conf
    #修改配置项如下(A/B机器只需要更换bind_addr)
    bind_addr=192.168.1.106
    port=22122
    base_path=/fastdfs/tracker
    use_storage_id = true
    storage_ids_filename = /etc/fdfs/storage_ids.conf
    id_type_in_filename = id
    
    cp storage_ids.conf.sample storage_ids.conf
    vim storage_ids.conf
    #修改配置项如下(A/B机器一致)
    # <id>  <group_name>  <ip_or_hostname>
    100001   G001  192.168.1.106
    100002   G001  192.168.1.107

    启动服务:fdfs_trackerd /etc/fdfs/tracker.conf start

    重启服务:fdfs_trackerd /etc/fdfs/tracker.conf restart

    停止服务:fdfs_trackerd /etc/fdfs/tracker.conf stop

    6.配置storage的配置,并启动服务

    cp storage.conf.sample storage.conf
    vim storage.conf
    #修改配置项如下(A/B机器只需要更换bind_addr)
    group_name=G001
    bind_addr=192.168.1.106
    port=23000
    base_path=/fastdfs/storage
    store_path_count=2
    store_path0=/fdfs0
    store_path1=/fdfs1
    tracker_server=192.168.1.106:22122
    tracker_server=192.168.1.107:22122

    启动服务:fdfs_storaged /etc/fdfs/storage.conf start

    重启服务:fdfs_storaged /etc/fdfs/storage.conf restart

    停止服务:fdfs_storaged /etc/fdfs/storage.conf stop

    做完这一步,集群已经启动,可以通过命令观测集群是否都处于ACTIVE状态

    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

    7.配置nginx fastdfs的配置

    vim mod_fastdfs.conf
    #修改配置项如下
    base_path=/fastdfs/mod_fastdfs
    load_fdfs_parameters_from_tracker=true
    use_storage_id = true
    storage_ids_filename = /etc/fdfs/storage_ids.conf
    tracker_server=192.168.1.106:22122
    tracker_server=192.168.1.107:22122
    group_name=G001
    url_have_group_name = true
    store_path_count=2
    store_path0=/fdfs0
    store_path1=/fdfs1
    log_filename=/fastdfs/mod_fastdfs/logs/mod_fastdfs.log
    response_mode=proxy
    group_count = 0

    8.配置nginx,并启动

    mkdir /fastdfs/nginx
    mkdir /fastdfs/nginx/conf
    mkdir /fastdfs/nginx/logs
    
    cd /fastdfs/nginx
    vim fastdfs.proxy.conf
    #修改配置项如下
    
    user root root;
    worker_processes 1;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$msec $status $request $request_time '
                          '$http_referer $remote_addr [ $time_local ] '
                          '$upstream_response_time $host $bytes_sent '
                          '$request_length $upstream_addr';
    
        server {
            listen 8080;
    
            location / {
                ngx_fastdfs_module;
            }
        }
    }

    a) 配置好nginx的执行文件搜索路径/etc/profile

    b) 上家伙

    测试配置:nginx -p `pwd` -c conf/fastdfs.proxy.conf -t

    启动:nginx -p `pwd` -c conf/fastdfs.proxy.conf

    9.测试上传

    cp client.conf.sample client.conf
    vim client.conf
    #修改配置项如下
    base_path=/fastdfs/client
    tracker_server=192.168.1.106:22122
    tracker_server=192.168.1.107:22122
    load_fdfs_parameters_from_tracker=true
    use_storage_id = true
    storage_ids_filename = /etc/fdfs/storage_ids.conf

    echo "hello world" > t.txt

    fdfs_upload_file /etc/fdfs/client.conf t.txt

    根据文件名,可以找到文件在这个目录中,同时到B机器检测这个文件是否已经同步成功:

    ls /fdfs0/data/00/0F/

    10.测试下载

    curl -i "127.0.0.1:8080/G001/M00/00/0F/oYYBAFjCxnSAbU63AAAADFmwwCQ201.txt"

    小结:

    至此,基本的安装配置流程就结束了,实际线上部署还会有很多优化配置,这里就不一一展开了,有兴趣可以私下交流。

    原文出自:http://blog.csdn.net/daiyudong2020/article/details/61210303

    End;

  • 相关阅读:
    递归算法详解
    树、森林和二叉树的转换
    C++ 类的静态成员详细讲解
    C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
    C++中的static关键字的总结
    C/C++中static关键字详解
    配置文件
    Spring Boot 注释
    使用 Spring Boot 快速构建 Spring 框架应用
    Myeclipse快捷键(二)
  • 原文地址:https://www.cnblogs.com/zengpeng/p/11161159.html
Copyright © 2011-2022 走看看