zoukankan      html  css  js  c++  java
  • FastDFS的单点部署

    1  安装libfastcommon

    注意:在Centos7下和在Ubuntu下安装FastDFS是不同的,在Ubuntu上安装FastDFS需要安装libevent,而外Centos上安装FastDFS需要安装libfastcommon

    我们以Centos为例进行FastDFS安装讲解。

    首先安装zip解压

    yum -y install unzip zip

    经过一系列过程后,出现Comlete!的字样,说明安装成功了。

    安装成功后解压libfastcommon.zip,这时进入/usr/local文件夹进行解压操作。

    unzip libfastcommon.zip -d /usr/local

    这时可以看到/usr/local文件夹下多了一个libfastcommon-master的文件夹

    接下来为了使用gcc命令,我们需要先安装gcc。否则再执行./make.sh时会报错的。

    yum -y install gcc-c++
    yum install gcc

    安装成功后,进入libfastcommon-master的文件夹,先后执行./make.sh和./make.sh install

    cd /usr/local/libfastcommon-master
    ./make.sh
    ./make.sh install

    安装结束后,libfastcommon默认会被安装到/usr/lib64/libfastcommon.so但是FastDFS的主程序却在/usr/local/lib目录下,这个时候我们就要建立一个软链接了,实际上也相当于windows上的快捷方式。

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

    2  安装FastDFS

    推荐新建如下三个目录

    /opt/fastdfs/tracker       tracker服务目录
    /opt/fastdfs/storage       storage服务目录
    /opt/fastdfs/storagedata   文件存储目录
    以下是新建目录的命令:
    mkdir /opt/fastdfs
    mkdir /opt/fastdfs/tracker
    mkdir /opt/fastdfs/storage
    mkdir /opt/fastdfs/storagedata

    进入/opt目录,解压安装包

    cd /opt
    unzip fastdfs-5.11.zip

    解压完后,发现目录下多了fastdfs-5.11这个文件夹

    进入这个文件夹,先后执行./make.sh和./make.sh install

    ./make.sh
    ./make.sh install

    安装完成后,进入目录/etc/fdfs,执行下列语句,把client.conf.sample、storage.cof.sample、tracker.conf.sample复制一份。

    cp client.conf.sample client.conf
    cp storage.conf.sample storage.conf
    cp tracker.conf.sample tracker.conf

    至此FastDFS已经安装完毕,接下来的工作就是依次配置Tracker和Storage了。

    3  配置tracker

    在配置Tracker之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等,我这里选择在/opt目录下创建一个fastdfs_tracker目录用于存放Tracker服务器的相关文件:

    /opt/fastdfs/tracker(步骤二已创建)

    接下来就要重新编辑上一步准备好的/etc/fdfs目录下的tracker.conf配置文件

    (为了修改配置文件,需要先安装vim)

    yum -y install vim
    vim tracker.conf

    打开文件后依次做以下修改:

    disabled=false #启用配置文件(默认启用)
    port=22122 #设置tracker的端口号,通常采用22122这个默认端口
    base_path=/opt/fastdfs/tracker  #设置tracker的数据文件和日志目录
    http.server_port=6666 #设置http端口号,默认为8080

    配置完成后就可以启动Tracker服务器了,但首先依然要为启动脚本创建软引用,因为fdfs_trackerd等命令在/usr/local/bin中并没有,而是在/usr/bin路径下:

    ln -s /usr/bin/fdfs_trackerd /usr/local/bin
    ln -s /usr/bin/stop.sh /usr/local/bin
    ln -s /usr/bin/restart.sh /usr/local/bin

    最后通过命令启动Tracker服务器:

    service fdfs_trackerd start

    如果启动命令执行成功,那么同时在刚才创建的tracker文件目录/opt/fastdfs/tracker中就可以看到启动后新生成的data和logs目录,tracker服务的端口也应当被正常监听。

    首先要安装net工具才可以使用netstat命令。

    yum install net-tools
    netstat -unltp|grep fdfs

    确认tracker正常启动后可以将tracker设置为开机启动,打开/etc/rc.d/rc.local并在其中加入以下配置:

    service fdfs_trackerd start

    centos的rc.local没有自启权限,通过以下命令给他增加自启权限。

    chmod +x /etc/rc.d/rc.local

    至此,Tracker配置成功。

    4  配置storage

    接下来修改/etc/fdfs目录下的storage.conf配置文件,打开文件后依次做以下修改:

    disabled=false #启用配置文件(默认启用)
    group_name=group1 #组名,根据实际情况修改
    port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
    base_path=/opt/fastdfs/storage  #设置storage数据文件和日志目录
    store_path_count=1 #存储路径个数,需要和store_path个数匹配
    store_path0= /opt/fastdfs/storagedata  #实际文件存储路径
    tracker_server=192.168.36.135:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
    http.server_port=8888 #设置 http 端口号

    配置完成后同样要为Storage服务器的启动脚本设置软引用:

    ln -s /usr/bin/fdfs_storaged /usr/local/bin

    接下来就可以启动Storage服务了:

    service fdfs_storaged start

    如果启动成功,/opt/fastdfs/storage中就可以看到启动后新生成的data和logs目录,文件存储路径/opt/fastdfs/storagedata下会生成多级存储目录。端口23000也应被正常监听。

    data下有256个1级目录,每级目录下又有256个2级子目录总共65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据直接作为一个本地文件存储到该目录中。

    添加开机启动,打开/etc/rc.d/rc.local并将如下配置追加到文件中:

    service fdfs_storaged start

    接下来测试storage服务器是否已经登记到 tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:

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

    看到ip_addr = 192.168.36.135 (localhost.localdomain)  ACTIVE 字样即可说明storage服务器已经成功登记到了tracker服务器。

    5  模拟上传

    测试时需要设置客户端的配置文件,编辑/etc/fdfs目录下的client.conf 文件,打开文件后依次做以下修改:

    base_path=/opt/fastdfs/tracker #tracker服务器文件路径
    tracker_server=192.168.36.135:22122 #tracker服务器IP地址和端口号
    http.tracker_server_port=6666 # tracker 服务器的 http 端口号,必须和tracker的设置对应起来

    配置完成后就可以模拟文件上传了,先给/usr/local目录下放一张图片:ceshi.jpg

    然后通过执行客户端上传命令尝试上传:

    /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/local/ceshi.jpg

    收到如下返回信息:

    group1/M00/00/00/wKgkh1qyO-qACziSAADmo2ljFnE803.jpg

    组名:group1 

    磁盘:M00 

    目录:00/00 
    文件名称:wKgkh1qyO-qACziSAADmo2ljFnE803.jpg

    进入/opt/fastdfs/storagedata/data/00/00,可以看到,文件上传成功。

    6  客户端访问tracker注意事项

    以下几个端口需要打开,否则无法正常访问tracker和stoarge

    22122、6666、23000、8888

    首先输入以下命令(以22122端口为例)

    firewall-cmd --permanent --zone=public --add-port=22122/tcp
     
     
    参数含义如下:
    --zone #作用域
    --add-port=22122/tcp  #添加端口,格式为:端口/通讯协议
    --permanent   #永久生效,没有此参数重启后失效

    执行后需要重启防火墙生效

    systemctl restart firewalld.service

    FastDFS的扩容问题

    FastDFS分为纵向扩容和横向扩容。

    1  纵向扩容

    纵向扩容不是为了扩大存储容量,而是提高文件的安全性。指在同一个group组中增加服务器,实现数据冗余,数据备份。同一个group中最大容量取决于最小的storage的存储容量

    纵向扩容操作步骤:

    新增一台机器(192.168.36.136),按照上面步骤二的操作流程,进行完“安装FastDFS”后,跳过“配置tracker”,直接进行“配置storage”。storage配置文件内容和135机器一模一样,不需要更改。然后启动服务就可以了。服务启动后135内的文件会自动备份到136中

    2  横向扩容

    横向扩容是通过集群实现,指新增一个group,增加整个FastDFS的存储空间。fastDFS的存储空间指的是所有group加起来的存储容量

    横向扩容操作步骤:

    新增一台机器(192.168.36.137),按照上面步骤二的操作流程,进行完“安装FastDFS”后,跳过“配置tracker”,直接进行“配置storage”。storage配置文件有一处需要修改:group_name修改为group2。然后启动服务。

    相关文件下载:

    fastdfs-5.11.zip

    libfastcommon下载

    借鉴:https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label0_0

  • 相关阅读:
    微服务概述
    Airflow 配置celery+rabbitmq和celery+redis
    CentOS7安装Airflow
    Python如何import其它.py文件及其函数
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    CentOS7安装MySQL
    Hadoop完全分布式环境下,DataNode进程正常启动,但是网页上不显示DataNode节点
    <一> windbg简介
    几个资料下载网站
    使用VS2012 C++ 进行单元测试
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/10408203.html
Copyright © 2011-2022 走看看