FastDFS 分布式文件系统之一storage 服务部署

storage 安装

1, 安装相关库文件

        git clone https://github.com/happyfish100/libfastcommon.git
        cd libfastcommon/
        sh make.sh
        sh make.sh install

2, 安装fastDFS

        git clone https://github.com/happyfish100/fastdfs.git
        cd fastdfs
        sh make.sh 
        sh make.sh install

3, 安装完成截图

        mkdir -p /usr/bin
        mkdir -p /etc/fdfs
        cp -f fdfs_trackerd /usr/bin
        if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
        mkdir -p /usr/bin
        mkdir -p /etc/fdfs
        cp -f fdfs_storaged  /usr/bin
        if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
        mkdir -p /usr/bin
        mkdir -p /etc/fdfs
        mkdir -p /usr/lib64
        cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
        if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; fi
        if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; fi
        mkdir -p /usr/include/fastdfs
        cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
        if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi

4, storage  配置

      1, 更改/etc/fdfs/storaged.conf 配置
        [[email protected] fdfs]# cat storage.conf |grep -v ‘^$‘|grep -v ‘#‘
        disabled=false
        group_name=group1
        bind_addr=192.168.6.55
        client_bind=true
        port=23000
        connect_timeout=30
        network_timeout=120
        heart_beat_interval=30
        stat_report_interval=60
        base_path=/var/log/fastdfs
        max_connections=256
        buff_size = 256KB
        accept_threads=1
        work_threads=4
        disk_rw_separated = true
        disk_reader_threads = 1
        disk_writer_threads = 1
        sync_wait_msec=50
        sync_interval=0
        sync_start_time=00:00
        sync_end_time=23:59
        write_mark_file_freq=500
        store_path_count=2
        store_path0=/data0/fastdfs
        store_path1=/data1/fastdfs
        subdir_count_per_path=256
        tracker_server=192.168.0.1:22122
        log_level=info
        run_by_group=
        run_by_user=
        allow_hosts=*
        file_distribute_path_mode=0
        file_distribute_rotate_count=100
        fsync_after_written_bytes=0
        sync_log_buff_interval=10
        sync_binlog_buff_interval=10
        sync_stat_file_interval=300
        thread_stack_size=512KB
        upload_priority=10
        if_alias_prefix=
        check_file_duplicate=0
        file_signature_method=hash
        key_namespace=FastDFS
        keep_alive=0
        use_access_log = false
        rotate_access_log = false
        access_log_rotate_time=00:00
        rotate_error_log = false
        error_log_rotate_time=00:00
        rotate_access_log_size = 0
        rotate_error_log_size = 0
        log_file_keep_days = 0
        file_sync_skip_invalid_record=false
        use_connection_pool = false
        connection_pool_max_idle_time = 3600
        http.domain_name=
        http.server_port=8888
      2,配置storage_idc.conf
        [[email protected] fdfs]# cat storage_ids.conf 
        # <id>  <group_name>  <ip_or_hostname>
        # 100001   group1  192.168.0.196
        # 100002   group1  192.168.0.11
        #每个服务器对应一个group
        100001	group1	192.168.0.2 
        100002	group1	192.168.0.3
        100003	group1	192.168.0.4
      2, 创建日志目录
            mkdir /var/log/fastdfs

5, 磁盘分区

        fdisk /dev/vdb
        mkfs.xfs /dev/vdb1
        mkfs.xfs /dev/vdb2
        mount /dev/vdb1 /data0
        mount /dev/vdb2 /data1

6, 启动服务

        cd /root/fastdfs
        cp -fr restart.sh stop.sh  /usr/bin/fdfs_* /usr/local/bin/
        systemctl daemon-reload
        service fdfs_storage restart

7, client 配置

        [[email protected] fdfs]# cat client.conf |grep -v ‘#‘|grep -v ‘^$‘
        connect_timeout=30
        network_timeout=60
        base_path=/var/log/fastdfs
        tracker_server=192.168.0.1:22122 #修改tracker IP 地址,如果有多个,就写多个
        log_level=info
        use_connection_pool = false
        connection_pool_max_idle_time = 3600
        load_fdfs_parameters_from_tracker=false
        use_storage_id = false
        storage_ids_filename = storage_ids.conf
        http.tracker_server_port=80

8, 验证服务

      1, 程序进程验证
        [[email protected] ~]# netstat -tnpl 
        Active Internet connections (only servers)
        Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
        tcp        0      0 192.168.6.49:22122      0.0.0.0:*               LISTEN      2232/fdfs_trackerd  
        tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      641/rpcbind         
        tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      992/sshd            
        tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1794/master         
        tcp6       0      0 :::111                  :::*                    LISTEN      641/rpcbind         
        tcp6       0      0 :::22                   :::*                    LISTEN      992/sshd            
        tcp6       0      0 ::1:25                  :::*                    LISTEN      1794/master         
        [[email protected] ~]# 

      2,Group 验证

        [[email protected] ~]# fdfs_monitor  /etc/fdfs/client.conf 
        [2015-09-02 11:31:44] DEBUG - base_path=/var/log/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, 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=1, server_index=0

        tracker server is 192.168.0.1:22122

        group count: 3

        Group 1:
        group name = group1
        disk total space = 102349 MB
        disk free space = 102245 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 = 2
        subdir count per path = 256
        current write server index = 0
        current trunk file id = 0

            Storage 1:
                id = 192.168.0.2
                ip_addr = 192.168.0.2 (localhost)  ACTIVE
                http domain = 
                version = 5.07
                join time = 2015-09-02 11:05:12
                up time = 2015-09-02 11:20:55
                total storage = 102349 MB
                free storage = 102245 MB
                upload priority = 10
                store_path_count = 2
                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 = 2015-09-02 11:31:40
                last_source_update = 1970-01-01 08:00:00
                last_sync_update = 1970-01-01 08:00:00
                last_synced_timestamp = 1970-01-01 08:00:00
时间: 2024-10-25 22:09:39

FastDFS 分布式文件系统之一storage 服务部署的相关文章

FastDFS 分布式文件系统之一trackerd 服务部署

1, 安装相关库文件         git clone https://github.com/happyfish100/libfastcommon.git         cd libfastcommon/         sh make.sh         sh make.sh install 2, 安装fastDFS trackerd         git clone https://github.com/happyfish100/fastdfs.git         cd fast

fastdfs分布式文件系统之Storage server介绍

在上一篇文章的fastdfs结构图中,我们可以看出FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage).跟踪器(tracker)主要做 调度工作,就像公交车站里面的调务员一样,它负责通过负载均衡选出最优的存储节点(storage).存储节点(storage)顾名思义就是负责存储. 数据同步.数据的操作的一个服务.今天我们将会重点对Storage server进行介绍. 概述 Storage server(简称storage)以组group为单位,如上图一个grou

07.Linux系统-Fastdfs分布式文件系统-互为主从配置搭建部署

Fastdfs分布式文件系统-互为主从配置部署 1.安装基础依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel unzip 2.下载安装 libfastcommon wget https://github.com/happyfish100/libfastcommon/archive/master.zip 3.解压安装 unzip master.zipcd libfastcommon

FastDFS 分布式文件系统 搭建部署

搭建部署FastDFS 分布式文件系统 什么是分布式文件系统 分布式文件系统 ( Distributed File System ) 是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连 分布是文件系统的设计基于客户机/服务器模式 一个典型的网络可能包括多个供多用户访问的服务器 对等特性允许一些系统扮演客户机和服务的双重角色 衡量分布式文件系统的优劣 数据的存储方式 数据的读取速率 数据安全机制 FastDFS介绍 FastDFS是一款开源分布式文件系统,它用纯

FastDfs 分布式文件系统 (实测成功)

最近公司需要搭建一台FastDfs 分布式文件系统,查询和参考了网络很多资料,但是从头到尾按他们的配置,中间都会或多或少的出错,可能是版本的问题,也可能是其他问题,经过自己不断的研究,终于成功配置完成,而且已经应用线上.现在把经验分享出来供大家参考,也作为自己的一个记录,以便今后用到能回顾一下. 1.下载软件 网上先下载需要安装的软件 2.前期准备 所需的工具下载完毕后,开始搭建准备,首先下载所需全部工具运行命令 yum -y install zlib zlib-devel pcre pcre-

django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.168.1.216 192.168.1.217 我们只需要在配置文件中进行配置即可,然后利用客户端提供的接口通过简单的代码就可以将文件上传到分布式文件系统中 至于内部实现机制,可以参考我的另外一篇博客:分布式文件系统Fastdfs原理及部署 再次提醒在安装客户端可能会遇到各种不可控的因素,导致你上传失败

上传图片至fastdfs分布式文件系统并回显

事件,当我们浏览完图片选中一张时,触发onchange事件将图片上传到服务器并回显. 1 <img width="100" height="100" id="allUrl" src="${brand.imgUrl }"/> 2 <input type="hidden" name="imgUrl" id="imgUrl" value="${b

使用Webupload上传图片到FastDFS分布式文件系统

使用Webupload插件上传图片到FastDFS分布式文件系统. 前提条件:1.已安装FastDFS分布式文件系统 2.使用webuploader插件上传文件 3.maven工程已引入FastDFS依赖 图片上传及图片回显部分代码如下: <!-- 添加商品页面 --> <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head>

fastdfs分布式文件系统之与dubbo整合实现分布式服务接口

fastdfs是开源的轻量级分布式文件系统,它提供了java版本的client api.通过client API可以实现对文件的上传.追加.下载.删除等功能. 为了避免每个应用都配置fasdtfs参数.读取配置文件.调用client api获取trackerServer和StorageServer进行上传.下载.删除等操作及返回结果的 处理.所以采用与dubbo整合,提供分布式服务接口,来简化其它服务和应用的文件操作处理,同时提高代码的复用性. 1.总体结构 如图,总共分为fastdfs-api