美文网首页Java · 成长之路Java学习笔记
分布式文件系统 fastDFS (5.05) 配置

分布式文件系统 fastDFS (5.05) 配置

作者: 南山羊 | 来源:发表于2017-04-21 16:00 被阅读285次

    FastDFS分布式文件系统Linux环境搭建

    序言

    FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

    在阅读本文之前,你可以对FastDFS有个初步的了解,以方便下面步骤的进行。

    一、配置方案

    Tarcker 服务器 1 台,Storage 服务器 2 台。

    • Tarcker 192.168.10.100 Centos 7
    • Storage 192.168.10.101 Centos 7
    • Storage 192.168.10.102 Centos 7

    在正式环境当中,通常会采用多 Tracker 以及多 Storage Group 同时Group中多节点备份,但本教程主要熟悉基础搭建,在下文配置中会对应提示大规模集群配置方法。

    二、选择版本

    • fastdfs-5.05.tar.gz
    • fastdfs-nginx-module_v1.16.tar.gz
    • libfastcommon-master.zip
    • nginx-1.7.8.tar.gz
    • perl-5.20.2.tar.gz

    三、配置 Tracker 服务器

    1. 创建文件路径

    • 在Linux下创建一个安装FastDFS的文件夹,本文以/opt/fastdfs为准。

    • /opt/fastdfs下创建 Tracker 日志文件夹 tracker

    2. 安装 libfastcommon-master.zip

    libfastcommon 中封装了一些fastdfs的公共函数等,所以在安装fastdfs前需要先安装 libfastcommon 包。

    • /opt/fastdfs/下解压安装 libfastcommon ,在这过程中可能需要一些工具,例如 unzip、gcc、perl等。本文以没有安装为准,进行详细的说明。

    • 安装gcc、gcc-c++、perl,执行perl -version返回有结果表示安装成功。

    yum -y install gcc
    
    yum -y install gcc-c++
    
    tar zxvf perl-5.20.2.tar.gz
    
    mkdir /usr/local/perl
    
    ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
    
    make
    
    make install
    
    perl -version   
    
    • /opt/fastdfs/下解压 libfastcommon-master.zip 包,并进行安装。
    tar -zxvf libfastcommon-master.zip
    
    cd libfastcommon/
    
    chmod 777 make.sh
    
    ./make.sh
    
    ./make.sh install
    
    
    • 因为libfastcommon安装路径在/usr/lib64/下,所以需要手动软连接。
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
    

    3.安装 FastDFS 5.05 包。

    • 这里操作大致相同,进入/opt/fastdfs/下,解压fastdfs-5.05.tar.gz并进行安装,执行完安装操作之后,看是否有/etc/fdfs/文件路径,有的话则安装成功。
    tar -zvxf fastdfs-5.05.tar.gz
    
    cd FastDFS/
    
    chmod 777 make.sh
    
    ./make.sh
    
    ./make.sh install
    
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
     
    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
    
    

    4.配置 Tracker

    • 根据样例创建 tracker 配置文件,并进入编辑。
    cd /etc/fdfs/
    
    cp tracker.conf.sample tracker.conf
    
    vi tracker.conf
    
    

    修改如下:

    disabled=false            #启用配置文件
    port=22122                #设置tracker的端口号,一般采用22122这个默认端口
    base_path=/opt/fastdfs/tracker   #设置tracker的日志目录)
    
    
    • 启动tracker,并查看端口占用情况,启动成功则可以显示窗口占用情况。
    /usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  restart
    
    netstat -unltp|grep fdfs
    
    
    • 打开文件 vi /etc/rc.d/rc.local,将如下命令添加到该文件中 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart,即开启自动启动。
    • 此时关于 tarker 的配置已经完成。

    四、配置 Storage 服务器

    配置 storage 与配置 tracker 的方式几乎一样,所以相同部分不再复述,不同点会进行详细步骤说明。

    1. 创建文件路径

    • 在Linux下创建一个安装FastDFS的文件夹,本文以/opt/fastdfs为准。

    • /opt/fastdfs下创建 storage 日志文件夹 storage_info

    • /opt/fastdfs下创建 storage 数据文件夹 storage_data

    2. 安装 libfastcommon-master.zip

    同上。

    3.安装 FastDFS 5.05 包。

    同上。

    4. 配置 Storage

    • 根据样例创建 storage 配置文件,并进入编辑。
    cd /etc/fdfs/
    
    cp storage.conf.sample storage.conf
    
    vi storage.conf
    
    

    修改如下:

    disabled=false          #启用配置文件
    
    group_name=group1       #组名,根据此服务器修改
    
    port=23001     #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
    
    base_path=/opt/fastdfs/storage_info    #设置storage的日志目录
    
    store_path_count=1   #存储路径个数,需要和store_path个数匹配
    
    store_path0=/opt/fastdfs/storage_data   #存储路径
    
    tracker_server=192.168.10.100:22122   #tracker服务器的IP地址和端口号
    
    • 启动 storage 并查看端口占用情况,启动成功则可以显示窗口占用情况。
    /usr/bin/fdfs_storage  /etc/fdfs/storage.conf  restart
    
    netstat -unltp|grep fdfs
    
    • 通过以下命令查看storage的启动日志,看是否有错误: tail -100f /opt/fastdfs/storage_info/logs/storage.log

    • 启动成功后,可以通过fdfs_monitor查看集群的情况,即storage是否已经注册到tracker服务器中,查看192.168.10.101:23001 是ACTIVE状态即可。

    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    
    • 打开文件 vi /etc/rc.d/rc.local,将如下命令添加到该文件中 /usr/bin/fdfs_storage /etc/fdfs/storage.conf restart,即开启自动启动。

    • 此时关于 storage 的配置已经完成。

    关于 tracker 与 storage 关于 nginx 的配置

    一、tracker 配置 nginx

    tracker 配置 nginx 的作用主要是反向代理、负载均衡。

    这里配置需要到fastdfs-nginx-module_v1.16.tar.gz fastdfs的一个nginx插件,以及nginx包 nginx1.7.8.tar.gz ,在安装nginx过程中可能要安装一些工具,下面也会进行介绍。

    安装工具:

    yum install -y pcre pcre-devel
    
    yum install -y zlib zlib-devel
    
    yum install -y openssl openssl-devel
    

    安装nginx:

    
    cd /opt/fastdfs/
    
    tar -vxzf fastdfs-nginx-module_v1.16.tar.gz
    
    tar -vxzf nginx1.7.8.tar.gz
    
    cd nginx1.7.8/
    
    mkdir /usr/local/nginx
    
     ./configure  --prefix=/usr/local/nginx  --add-module=/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src
    
    
    • 执行到这一步可能会有错误提示,如果有错误提示的话,需要进入fastdfs-nginx-module/src目 录,编辑config文件,找到包含CORE_INCS这个一行,将路径中local全部去掉,变为CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"。修改完成后重复执行./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src
    make
    
    make install
    
    • 然后再依次执行 make 和 make install 这两个命令,没有报错误就是安装成功了。
    • 执行命令 cd /usr/local/nginx/conf,编辑 nginx.conf 这个文件,对应增加以及修改,修改增加如下:
    http {
        include       mime.types;
        default_type  application/octet-stream;
        
        sendfile        on;
    
        upstream fdfs_group1 {
             server 192.168.10.101:10050 ;
        }
        
        upstream fdfs_group2 {
             server 192.168.10.102:10050 ;
        }
        
        server {
            listen       10030;
            server_name  localhost;
    
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
    
            location /group1/M00 {
                proxy_pass http://fdfs_group1;
            }
            
            location /group2/M00 {
                proxy_pass http://fdfs_group2;
            }
        }
    }
    
    
    • 执行命令 cd /myself_settings/fastdfs5.0.5/fastdfs-5.05/conf,即进入fastdfs5.0.5的安装文件夹的conf目录下,将目录下面的http.confmime.types拷贝到/etc/fdfs/下,如果不执行这一步,后边在启动nginx时会报错。
    • 执行命令启动nginx: /usr/local/nginx/sbin/nginx ,如果/usr/local/nginx/logs/error.log中没有报错,同时访问192.168.10.100:10030这个url能看到 nginx的欢迎页面。

    一、storage 配置 nginx

    storage 配置 nginx 的作用主要是storage中安装nginx,主要是为了为提供http的访问服务,同时解决group中storage服务器的同步延迟问题。

    这里配置需要到fastdfs-nginx-module_v1.16.tar.gz fastdfs的一个nginx插件,以及nginx包 nginx1.7.8.tar.gz ,在安装nginx过程中可能要安装一些工具,同上。

    安装工具同上

    安装nginx同上

    • 执行到这一步可能会有错误提示,如果有错误提示的话,需要进入fastdfs-nginx-module/src目 录,编辑config文件,找到包含CORE_INCS这个一行,将路径中local全部去掉,变为CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"。修改完成后重复执行./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src
    make
    
    make install
    
    • 然后再依次执行 make 和 make install 这两个命令,没有报错误就是安装成功了。
    • 执行命令 cd /usr/local/nginx/conf,编辑 nginx.conf 这个文件,对应增加以及修改,修改增加如下:
    http {
        include       mime.types;
        default_type  application/octet-stream;
        
        sendfile        on;
    
        server {
            listen       10050;
            server_name  localhost;
    
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
    
            location ~/group1/M00{
                 root /opt/fastDFS/storage_data/data;
                 ngx_fastdfs_module;
            }
    
        }
    }
    
    
    • 执行命令 cd /myself_settings/fastdfs5.0.5/fastdfs-5.05/conf,即进入fastdfs5.0.5的安装文件夹的conf目录下,将目录下面的http.confmime.types拷贝到/etc/fdfs/下,如果不执行这一步,后边在启动nginx时会报错。

    • 执行命令cd /myself_settings/fastdfs_nginx_module/fastdfs-nginx-module/src,即进入 fastdfs-nginx-module_v1.16的安装文件夹的src目录下,将目录下面的mod_fastdfs.conf这个文件拷贝到 /etc/fdfs 目录下。

    vi mod_fastdfs.conf
    
    group_name=group1           #当前服务器的group名
    
    store_path_count=1          #存储路径个数,需要和store_path个数匹配
    
    base_path=/opt/fastdfs/storage_info
    
    store_path0=/opt/fastdfs/storage_data
    
    tracker_server=192.168.10.100:22122  #storage服务器的端口号
    
    #tracker_server=192.168.10.100:22122
    
    url_have_group_name = true       #文件url中是否有group名
    
    group_count= 2       #设置组的个数
    
    
    • 建立软连接ln -s /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00
    • 执行命令启动nginx: /usr/local/nginx/sbin/nginx ,如果/usr/local/nginx/logs/error.log中没有报错,同时访问192.168.10.101:10050这个url能看到 nginx的欢迎页面。

    测试 上传 / 下载

    • 打开 /etc/fdfs 文件夹,编辑 client.conf 文件,编辑内容如下:
    base_path=/opt/fastdfs_tracker      #存放路径
    
    tracker_server=192.168.10.100:22122          #tracker服务器IP地址和端口号
    
    • 模拟上传文件,执行如下命令: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/1.txt,执行之后会马上返回一个字符串路径。

    • 在浏览器中执行 192.168.10.100/group1/M00/00/00/wKjgGlVYgi6AAv3tAAAADv4ZzcQ572.txt

    • 即可下载。

    相关资料

    分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群

    FastDFS_V5.05分布式存储安装与使用

    FastDFS 双tracker负载均衡 及多组存储配置

    相关文章

      网友评论

        本文标题:分布式文件系统 fastDFS (5.05) 配置

        本文链接:https://www.haomeiwen.com/subject/vzbdzttx.html