zoukankan      html  css  js  c++  java
  • fastdfs的入门到精通(fastdfs集群的搭建)

    引言:

      前面已经结束fastdfs的一些理论和单机的相关知识,本篇博客主要讨论fastdfs的集群的搭建。因为在第一篇就介绍了fastdfs的负载和高效,这些都是依靠集群来实现的。

    集群搭建:

      准备工作:

         1. 先准备5台机器

     
    fastdfs集群搭建服务器分布
    tracker1 192.168.236.134
    tracker2 192.168.236.133
    storage1-group1 192.168.236.132
    storage2-group1   192.168.236.135
    storage1-group2 192.168.236.131

        为了搭建效果,我准备5台全新的机器,不在原先演示的fastdfs的虚拟机上进行演示

       2> 关闭每台机器防火墙:    

          启动: systemctl start firewalld
           关闭: systemctl stop firewalld
           查看状态: systemctl status firewalld 
           开机禁用  : systemctl disable firewalld
           开机启用  : systemctl enable firewalld

       3> 上传所需要的安装包: 

          关于下载地址可以参考我起前面几篇博客,也可以去我csdh去下载:https://download.csdn.net/download/xiaohu_0602/12258263  主要包含

          

       到这,准备工作基本完成。下面来看一下搭建步骤。

      第一步:

        克隆五台主机,在关机状态下删除mac地址,或者登进去删除mac地址,效果如下:相关ip地址如上:

         

        执行安装前的准备驱动安装:五台机器都要执行(CRT可以同时执行,后续介绍

          yum install -y gcc-c++ perl-devel pcre-devel openssl-devel zlib-devel wget

       第二步: 解压libcommon和fastdfs   然后进行编译

        连接到tracker1 服务器上进行以下操作:

        进入到fastdfs文件夹下:在目录下解压libcommon和fastdfs安装包: 

           --注意: 其实集群化搭建和单机搭建步骤相同,我再操作一遍,增加大家印象,建议大家自己尝试搭建一下

        

         把解压好的fastdfs和lib两个文件夹使用scp拷贝到其他主机,或者,你去每台主机都去解压一次

       tracker1的主机ip是192.168.236.132     

        scp -r fastdfs/ 192.168.236.133:/root -- 输入密码确认即可 scp -r fastdfs/ 192.168.236.132:/root -- 输入密码确认即可 scp -r fastdfs/ 192.168.236.135:/root -- 输入密码确认即可 scp -r fastdfs/ 192.168.236.131:/root -- 输入密码确认即可

      大家注意: 我们使用的连接工具的不同也会有不同的操作,如果是xshell 只能上传文件,不能上传文件夹,可以传压缩包。如果使用secureCRT的话,我们可以直接上传一个文件夹,也可以操作所有的连接。后续我会接受CRT的操作,此篇博客暂时不做重点

      解压后先进入 libfastcommon-1.0.36    执行./make.sh   && ./make.sh install  

      然后再进入:fastdfs-5.11   执行./make.sh   && ./make.sh install    

      截图我就不贴出来了。大家按照顺序执行就行了。

      在上面执行完成后,会在/etc/fdfs/   会生成相应文件

    第三步: 

        配置tracker服务器:

        先配置tracker1  (192.168.236.132这台。另外一台吧tracker.conf   copy过去就行)  

          cd /etc/fdfs/
          mv tracker.conf.sample tracker.conf
          mv /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf     --两台tracker机器同时修改
          mkdir -p /data/tracker   -- 创建保存
          vim tracker.conf
            base_path=/data/tracker -- 保存目录修改

        tracker2 服务器操作相同

       启动两台tracker服务 

          fdfs_trackerd /etc/fdfs/tracker.conf  start  -- 在两台tracker服务上执行  

       可以查询一下fdfs是否启动:

          ps aux | grep fdfs  (ps -ef | grep fdfs)  

       第四步:配置storage服务器:

        提示: 大家在看我大家集群中,会发现我准备了3台服务器,一台  group1 有两台。。group2 有一台,顺便把负载也搭建起来,仅供参考

      关于storage的配置也相同,,只需要把tracker服务器的地址配置上,然后修改相关的group=xx就行了。下面我来操作一下:

          1>解压libcommon tar -zxvf libfastcommon-1.0.36.tar.gz 
          2> 编译:
            cd libfastcommon-1.0.36 
            ./make.sh && ./make.sh install
          3> 解压fastdfs tar -zxvf fastdfs-5.11.tar.gz 
          4> 编译: ./make.sh && ./make.sh install

            ---- 这几步和上面配置tracker服务器一样

          5> 修改storage.conf    

          cd /etc/fdfs/
          mv storage.conf.sample storage.conf
          mv /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf     --3台storage机器同时修改
          mkdir -p /data/storage   -- 创建保存
          vim /etc/fdfs/storage.conf
          group = group1 -- 注意其中两台是默认不用修改的,那台group2的主机要把这个修改group2 base_path
    =/data/storage store_path0=/data/storage tracker_server=192.168.236.133:22122 --下面是配置多storage的地址即可 tracker_server=192.168.236.134:22122

          6> 修改后启动storage服务

          7> 启动没问题后,吧storage.conf  同步到另外两台机器

           scp -r /etc/fdfs/storage.conf  192.168.236.135:/etc/fdfs/   -- 这台是storage2-group1   配置文件不用修改
                scp -r /etc/fdfs/storage.conf  192.168.236.131:/etc/fdfs/   -- 这台是storage1-group2   配置文件需要修改组名为group2

          8> 启动另外两台storage服务:

            fdfs_storaged /etc/fdfs/storage.conf start

      第五步:集群验证:

        上面我们已经把tracker服务和storage服务都启动了,那怎么知道对不对呢。下面我们验证一下: 使用 fdfs_moniter来验证

          mv /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
             mkdir -p /data/client
             vi client.conf    
                base_path=/data/client
                tracker_server=192.168.236.133:22122
                tracker_server=192.168.236.134:22122

        执行: fdfs_monitor /etc/fdfs/client.conf   效果如下:  重点看我标红的部分

    [root@localhost ~]# fdfs_monitor /etc/fdfs/client.conf 
    [2020-03-19 12:59:52] DEBUG - base_path=/data/client, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
    
    server_count=2, server_index=1
    
    tracker server is 192.168.236.134:22122
    
    group count: 2
    
    Group 1:
    group name = group1
    disk total space = 17394 MB
    disk free space = 15638 MB
    trunk free space = 0 MB
    storage server count = 2
    active server count = 2
    storage server port = 23000
    storage HTTP port = 8888
    store path count = 1
    subdir count per path = 256
    current write server index = 0
    current trunk file id = 0
    
            Storage 1:
                    id = 192.168.236.132
                    ip_addr = 192.168.236.132 (localhost.localdomain)  ACTIVE
                    http domain = 
                    version = 5.11
                    join time = 2020-03-19 12:42:22
                    up time = 2020-03-19 12:42:22
                    total storage = 17394 MB
                    free storage = 15641 MB
                    upload priority = 10
                    store_path_count = 1
                    subdir_count_per_path = 256
                    storage_port = 23000
                    storage_http_port = 8888
                    current_write_path = 0
                    source storage id = 
                    if_trunk_server = 0
                    connection.alloc_count = 256
                    connection.current_count = 1
                    connection.max_count = 1
                    total_upload_count = 0
                    success_upload_count = 0
                    total_append_count = 0
                    success_append_count = 0
                    total_modify_count = 0
                    success_modify_count = 0
                    total_truncate_count = 0
                    success_truncate_count = 0
                    total_set_meta_count = 0
                    success_set_meta_count = 0
                    total_delete_count = 0
                    success_delete_count = 0
                    total_download_count = 0
                    success_download_count = 0
                    total_get_meta_count = 0
                    success_get_meta_count = 0
                    total_create_link_count = 0
                    success_create_link_count = 0
                    total_delete_link_count = 0
                    success_delete_link_count = 0
                    total_upload_bytes = 0
                    success_upload_bytes = 0
                    total_append_bytes = 0
                    success_append_bytes = 0
                    total_modify_bytes = 0
                    success_modify_bytes = 0
                    stotal_download_bytes = 0
                    success_download_bytes = 0
                    total_sync_in_bytes = 0
                    success_sync_in_bytes = 0
                    total_sync_out_bytes = 0
                    success_sync_out_bytes = 0
                    total_file_open_count = 0
                    success_file_open_count = 0
                    total_file_read_count = 0
                    success_file_read_count = 0
                    total_file_write_count = 0
                    success_file_write_count = 0
                    last_heart_beat_time = 2020-03-19 12:59:33
                    last_source_update = 1969-12-31 19:00:00
                    last_sync_update = 1969-12-31 19:00:00
                    last_synced_timestamp = 1969-12-31 19:00:00 
            Storage 2:
                    id = 192.168.236.135
                    ip_addr = 192.168.236.135  ACTIVE
                    http domain = 
                    version = 5.11
                    join time = 2020-03-19 12:48:52
                    up time = 2020-03-19 12:48:52
                    total storage = 17394 MB
                    free storage = 15638 MB
                    upload priority = 10
                    store_path_count = 1
                    subdir_count_per_path = 256
                    storage_port = 23000
                    storage_http_port = 8888
                    current_write_path = 0
                    source storage id = 192.168.236.132
                    if_trunk_server = 0
                    connection.alloc_count = 256
                    connection.current_count = 1
                    connection.max_count = 1
                    total_upload_count = 0
                    success_upload_count = 0
                    total_append_count = 0
                    success_append_count = 0
                    total_modify_count = 0
                    success_modify_count = 0
                    total_truncate_count = 0
                    success_truncate_count = 0
                    total_set_meta_count = 0
                    success_set_meta_count = 0
                    total_delete_count = 0
                    success_delete_count = 0
                    total_download_count = 0
                    success_download_count = 0
                    total_get_meta_count = 0
                    success_get_meta_count = 0
                    total_create_link_count = 0
                    success_create_link_count = 0
                    total_delete_link_count = 0
                    success_delete_link_count = 0
                    total_upload_bytes = 0
                    success_upload_bytes = 0
                    total_append_bytes = 0
                    success_append_bytes = 0
                    total_modify_bytes = 0
                    success_modify_bytes = 0
                    stotal_download_bytes = 0
                    success_download_bytes = 0
                    total_sync_in_bytes = 0
                    success_sync_in_bytes = 0
                    total_sync_out_bytes = 0
                    success_sync_out_bytes = 0
                    total_file_open_count = 0
                    success_file_open_count = 0
                    total_file_read_count = 0
                    success_file_read_count = 0
                    total_file_write_count = 0
                    success_file_write_count = 0
                    last_heart_beat_time = 2020-03-19 12:59:19
                    last_source_update = 1969-12-31 19:00:00
                    last_sync_update = 1969-12-31 19:00:00
                    last_synced_timestamp = 1969-12-31 19:00:00 
    
    Group 2:
    group name = group2
    disk total space = 17394 MB
    disk free space = 15638 MB
    trunk free space = 0 MB
    storage server count = 1
    active server count = 1
    storage server port = 23000
    storage HTTP port = 8888
    store path count = 1
    subdir count per path = 256
    current write server index = 0
    current trunk file id = 0
    
            Storage 1:
                    id = 192.168.236.131
                    ip_addr = 192.168.236.131  ACTIVE
                    http domain = 
                    version = 5.11
                    join time = 2020-03-19 12:48:45
                    up time = 2020-03-19 12:48:45
                    total storage = 17394 MB
                    free storage = 15638 MB
                    upload priority = 10
                    store_path_count = 1
                    subdir_count_per_path = 256
                    storage_port = 23000
                    storage_http_port = 8888
                    current_write_path = 0
                    source storage id = 
                    if_trunk_server = 0
                    connection.alloc_count = 256
                    connection.current_count = 0
                    connection.max_count = 0
                    total_upload_count = 0
                    success_upload_count = 0
                    total_append_count = 0
                    success_append_count = 0
                    total_modify_count = 0
                    success_modify_count = 0
                    total_truncate_count = 0
                    success_truncate_count = 0
                    total_set_meta_count = 0
                    success_set_meta_count = 0
                    total_delete_count = 0
                    success_delete_count = 0
                    total_download_count = 0
                    success_download_count = 0
                    total_get_meta_count = 0
                    success_get_meta_count = 0
                    total_create_link_count = 0
                    success_create_link_count = 0
                    total_delete_link_count = 0
                    success_delete_link_count = 0
                    total_upload_bytes = 0
                    success_upload_bytes = 0
                    total_append_bytes = 0
                    success_append_bytes = 0
                    total_modify_bytes = 0
                    success_modify_bytes = 0
                    stotal_download_bytes = 0
                    success_download_bytes = 0
                    total_sync_in_bytes = 0
                    success_sync_in_bytes = 0
                    total_sync_out_bytes = 0
                    success_sync_out_bytes = 0
                    total_file_open_count = 0
                    success_file_open_count = 0
                    total_file_read_count = 0
                    success_file_read_count = 0
                    total_file_write_count = 0
                    success_file_write_count = 0
                    last_heart_beat_time = 2020-03-19 12:59:47
                    last_source_update = 1969-12-31 19:00:00
                    last_sync_update = 1969-12-31 19:00:00
                    last_synced_timestamp = 1969-12-31 19:00:00 
    [root@localhost ~]# 

      到这集群就搭建完成了,有不明白的或者我写错的可以留言


    补充: 

      大家注意: 上面集群只是默认大家完成,关于很多配置需要在tracker.conf进行适当调整,本篇只做集群搭建的讲解,暂不深入讨论配置文件  

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/huhongy/p/12531236.html
Copyright © 2011-2022 走看看