FastDFS蛋疼的集群和负载均衡(一)之FastDFS基础配置

diary_report.jpg
###Interesting things

好像今天没有什么有趣的事情java

###What did you do todaynginx

  • 建立虚拟机的时候,有时会抛出不少错误,解决方案:添加分配给虚拟机的内存。c++

  • 解决XShell-ssh链接虚拟机常常被意外中断的问题,vi /etc/ssh/sshd_config,进入去掉注释#UseDNS no,改成UseDNS no,问题是ssh的服务端在链接虚拟机时会自动检测dns环境是否一致致使的,修改成不检测便可解决。vim

image.png

  • 什么是FastDFS?经过做者的话来讲FastDFS是一个开源的高性能分布式文件系统。它的主要功能包括文件村存储,文件同步和文件访问,以及高容量和负债均衡的设计。
    • 输入 https://sourceforge.net/projects/fastdfs/files/ 服务器

      image.png

    • 下载FastDFS的Server安装包,点击FastDFS Server Source Code 负载均衡

      image.png

    • 选择2014-12-02的版本进行点击,下载FastDFS_v5.05.tar.gz ,同理下载fastdfs-nginx-module_v1.16.tarfastdfs_client_java._v1.25.tar ssh

      image.png
      image.png

    • 安装8台虚拟机(最小化安装),给这8台虚拟机配置静态ip而且能ping通外网和主机(能够参考我上一篇博客),配置完后使用XShell工具来操做虚拟机。分布式

    • 我使用的虚拟机分别为192.168.12.11 192.168.12.22 192.168.12.33 192.168.12.44 192.168.12.55 192.168.12.66 192.168.12.77 192.168.12.88。其中192.168.12.11和192.168.12.22分别做为tracker1和tracker2。192.168.12.33 和192.168.12.44做为group1。 192.168.12.55 和 192.168.12.66做为group2。最后把192.168.12.77和192.168.12.88做为Nginx集群多层负载均衡。多层负载均衡会生成一个虚拟ip,咱们最终会经过虚拟ip来访问咱们的集群。工具

    • 咱们用Xftp 5链接192.168.12.11,在/usr/local/ 建立software文件夹,而后在software下准备好这些文件。 性能

      image.png

    • 而后经过scp -r/user/local/software/ root@192.168.12.22:/usr/local这样的方式给每个虚拟机复制一份到它的/usr/local/software路径下(若是目标虚拟机路径下没有software文件夹,则会自动建立software文件夹)

    • 给每个虚拟机安装gcc, yum install make cmake gcc gcc++

      image.png

    • 若是虚拟机没有zip和unzip命令的话,会提示这样。

      image.png

    • 安装zip和unzip命令 yum install zip unzip

      image.png

    • 解压libfastcommon-master.zip, unzip libfastcommon-master.zip -d /usr/local/fast/

      image.png

    • 安装vim, yum install vim-enhanced,否则./make.sh编译会报错。

      image.png

    • 进入/usr/local/fast/libfastcommon-master,使用./make.sh进行编译。

      image.png

    • 执行./make.sh install

      image.png

    • 咱们能够看到libfastcommon.so被安装进入/usr/lib64,而/usr/lib64里面东西巨他妈多,因此咱们必须建立一个属于libfastcommon.so的软连接,方便咱们查找libfastcommon.so。命令是: ln -s /usr/lib64/libfastcommon.so /usr/local/lib64/libfastcommon.so以此类推,我也要建立libfdfslclient.so 的软连接。命令是: ln -s /usr/lib64/libfdfsclient.so /usr/local/lib64/libfdfsclient.so、 ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

      image.png
      image.png

    • 咱们查看/usr/local 和 /usr/local/lib64发现libfdfsclient.so颜色是红色,由于/usr/lib64尚未libfdfsclient.so文件。

      image.png

    • 解析FastDFS.tar.gz。 tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/

      image.png

    • 而后执行./make.sh和./make.sh install

      image.png
      image.png

    • 咱们能够看到FastDFS服务器脚本安装在了/usr/bin下面,可是FastDFS服务脚本设置的目录为/usr/local/bin下,因此咱们要修改/etc/init.d/fdfs_storaged和/usr/init.d/fdfs_trackerd这配置文件。将其中的/usr/local/bin设置为/usr/bin。

    • 进入/etc/init.d/fdfs_storaged进行替换。命令:%s+/usr/local/bin+/usr/bin

      image.png
      image.png
      image.png

    • 进入/etc/init.d/fdfs_trackerd进行替换。命令:%s+/usr/local/bin+/usr/bin

      image.png
      image.png
      image.png

    • 公共部分的配置作完了,接下来搞tracker1(192.168.12.11)和tracker2(192.168.12.22)。

    • 进入/etc/fdfs下面,拷贝tracker.conf.sample一份,而且重命名为tracker.conf

      image.png

    • 编辑tracker.conf,将base_path修改成/fastdfs/tracker

      image.png

    • 设置store_look的属性(选择群组上传文件的方法)。 0是轮询, 1是指定group,3是负载均衡,选择最大可用空间组去上传文件。为了方便后面的测试,我先将store_look设置为0,只有store_look=1时,store_group=group2才会生效。

      image.png
      image.png

    • 将tracker.conf拷贝给tracker2。 scp tracker.conf root@192.168.12.22:/etc/fdfs

      image.png

    • 因为咱们在tracker.conf设置的base_url=/fastdfs/tracker,因此咱们要建立/fastdfs/tracker, mkdir -p /fastdfs/tracker, -p 表明递归建立目录。

      image.png

    • 配置防火墙,添加端口22122。你可能会纳闷了,为何端口是22122?请看tracker.conf中默认的prot就是22122。

      image.png

    • 配置防火墙,vim /etc/sysconfig/iptables,可是咱们在/etc/sysconfig/下面没有看到iptables

      image.png

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.


###What to do tomorrow

  • 继续配置FastDFS的负载均衡和集群。大概3-4篇博客讲解完。

###Summary

FastDFS真尼玛复杂。

相关文章
相关标签/搜索