• 分布式文件系统


    少啰嗦,直接装

    看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上搜索到的 Google Code 的 V4.06 或更低版本不一样,而且按照他们的步骤坑很多,我反正被坑了很久。

    你只需要记住,这也许是目前 FastDFS 最新最稳定最简单坑最少的一个配置安装部署教程了。期间我也会把我踩的坑都放出来,我保证大家照着做就几乎不会有坑。哈哈...

    安装 libfastcommon 和 FastDFS

    1.下载安装 libfastcommon ,这里是通过wget下载(我喜欢这种方式)。

    wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
    

    wget_libfastcommon.png

    解压 libfastcommon,命令:

    tar -zxvf V1.0.7.tar.gz
    

    tar_libfastcommon.png

    编译,进入libfastcommon-1.0.7目录,命令:

    cd libfastcommon-1.0.7
    ./make.sh
    

    mark_libfastcommon.png

    安装,命令:

    ./make.sh install
    

    makeinstall_libfastcommon.png

    显示这样的画面,就是安装 libfastcommon 成功啦。

    2.下载安装 FastDFS,这里也是通过wget下载。

    wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
    

    wget_fastdfs.png

    解压 FastDFS ,命令:

    tar -zxvf V5.05.tar.gz
    

    tar_fastdfs.png

    编译,进入fastfds-5.05目录,命令:

    cd fastdfs-5.05
    ./make.sh
    

    make_fastdfs.png

    安装,命令:

    ./make.sh install
    

    makeinstall_fastdfs.png

    显示这样的画面,就是安装 FastDFS 成功啦。

    配置 Tracker 服务

    上述安装成功后,在/etc/目录下会有一个fdfs的目录,进入它。会看到三个.sample后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。看命令:

    cp tracker.conf.sample tracker.conf
    vim tracker.conf
    

    cp_vim_tracker.png

    打开tracker.conf文件,只需要找到你只需要该这两个参数就可以了。

    # the base path to store data and log files
    base_path=/data/fastdfs
    
    # HTTP port on this tracker server
    http.server_port=80
    

    当然前提是你要有或先创建了/data/fastdfs目录。port=22122这个端口参数不建议修改,除非你已经占用它了。
    修改完成保存并退出 vim ,这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,怎么做呢?使用ln -s 建立软链接:

    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
    

    ln-s_tracherd.png

    这时候我们就可以使用service fdfs_trackerd start来优雅地启动 Tracker服务了,是不是比刚才带目录的命令好记太多了(懒是社会生产力)。你也可以启动过服务看一下端口是否在监听,命令:

    启动服务:service fdfs_trackerd start
    查看监听:netstat -unltp|grep fdfs
    

    start_trackerd.png

    看到22122端口正常被监听后,这时候就算 Tracker服务安装成功啦!

    配置 Storage 服务

    现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)的概念,同一组内服务器互备同步,这里不再演示。直接开始配置,依然是进入/etc/fdfs的目录操作,首先进入它。会看到三个.sample后缀的文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它。还看命令:

    cp storage.conf.sample storage.conf
    vim storage.conf
    

    cp_vim_storage.png

    打开storage.conf文件后,找到这两个参数进行修改:

    # the base path to store data and log files
    base_path=/data/fastdfs/storage
    
    # store_path#, based 0, if store_path0 not exists, it's value is base_path
    # the paths must be exist
    store_path0=/data/fastdfs/storage
    #store_path1=/home/yuqing/fastdfs2
    
    # tracker_server can ocur more than once, and tracker_server format is
    #  "host:port", host can be hostname or ip address
    tracker_server=192.168.198.129:22122
    

    当然你的/data/fastdfs目录下要有storage文件夹,没有就创建一个,不然会报错的,日志以及文件都会在这个下面,启动时候会自动生成许多文件夹。stroage的port=23000这个端口参数也不建议修改,默认就好,除非你已经占用它了。
    修改完成保存并退出 vim ,这时候我们依然想优雅地启动 Storage服务,带目录的命令不够优雅,这里还是使用ln -s 建立软链接:

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

    ln-s_storaged.png

    执行命令启动服务:

    service fdfs_storaged start
    

    error_nofile.png

    图片中出现了一个大大的error啦!!!要仔细看,错误提示是找不到文件夹,这就好办了嘛。创建一个文件夹再次启动看看。

    start_storaged.png

    这次启动成功,没有错误了。查看一下监听:

    netstat -unltp|grep fdfs
    

    netstat_fdfs.png

    很好,22122 和 23000端口都在监听了,这个时候你去/data/fastdfs/storage文件夹下看的话,会出现一大堆文件夹,而且进去还有一大堆,哈哈,这就是存放文件的啦!下一篇会讲它们的作用和怎么存储的。

    这就完成了?

    应该是完成了。我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:

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

    monitor_active.png

    看到我红线处ACTIVE这样就 ok 啦!

    其实这个时候你就可以进行上传测试了,但可能会下载不了,所以,我们把成功的喜悦留在下一篇吧。

    总结一下

    这篇文章只是进行了 FastDFS 的安装与配置,没有任何难度可言,只要按照步骤一步步走下去就可以搞定。可能中间过程中我们会由于不细心经历各种错误,只要仔细看日志信息都能解决掉的,你解决掉一个个错误的时候难道没有披荆斩棘战士般的感觉么?反正我没遇到错...

    由于余老师在 V4.05 以后的版本就把内置 HTTP服务去掉了,推荐大家结合 Nginx 使用 fastdfs-nginx-module 模块,所以,就算这篇你测试上传成功了,你也访问不了,哈哈哈... 下一篇分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试 中会进行配合 Nginx 完成全部FastDFS的安装测试上传下载等等全部工作。等着吧...

    太晚了,明天见。

  • 相关阅读:
    Java中基于线程池的任务调度设计
    Java中数值型,字符型及字符串的相互转换
    Java编程中必备的十种技能
    Java键盘读入方法
    Java中数据类型及运算符的注意事项
    Java抽象类是否可继承实体类
    Java多线程:start(),sleep(),yield(),join()
    Java线程静态在对象缓存中的妙用
    webAPI
    javascript中的作用域和变量提升
  • 原文地址:https://www.cnblogs.com/mafly/p/fastdfs_conf.html
Copyright © 2020-2023  润新知