为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java Linux

diary_report.jpg

Interesting things

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

What did you do today

  • 创建虚拟机的时候,有时会抛出很多错误,解决方案:添加分配给虚拟机的内存。

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

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
      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真尼玛复杂。

点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消