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

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

什么是分布式文件系统

分布式文件系统 ( Distributed File System ) 是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连

分布是文件系统的设计基于客户机/服务器模式

一个典型的网络可能包括多个供多用户访问的服务器

对等特性允许一些系统扮演客户机和服务的双重角色

衡量分布式文件系统的优劣

数据的存储方式

数据的读取速率

数据安全机制

FastDFS介绍

FastDFS是一款开源分布式文件系统,它用纯C语言实现,支持Linux,FreeBSD, AIX 等UNIX系统

作者为淘宝网的余庆

功能包括:文件存储,文件同步,文件访问(文件上传,文件下载) 等

解决了大容量存储和负载均衡的问题

FastDFS基本概念

FastDFS服务端有两个角色:跟踪器 ( tracker ) 和存储节点 ( storage )

— 跟踪器:主要做调度工作,在访问上起负载均衡的作用

— 存储节点:完成文件管理的所有功能,即存储,同步和提供存储接口,同时对文件的元数据进行管理

FastDFS系统结构

跟踪器和存储节点都可以由一台多台服务器构成

跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务

跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或缩小

FastDFS 上传文件过程

client 询问 tracker 上传到的 storage ,不需要附加参数

tracker 返回一台可用的storage

client 直接和 storage 通讯完成文件上传

FastDFS下载文件过程

Client 询问tracker 下载文件的storage , 参数为文件标识( 卷名和文件名 )

tracker 返回一台可用的storage

client 直接和storage 通讯完成文件下载

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

实验使用软件包:

fastdfs-nginx-module_v1.16.tar.gz

FastDFS_v4.06.tar.gz

libevent-devel-1.4.13-4.el6.x86_64.rpm

libevent-doc-1.4.13-4.el6.noarch.rpm

libevent-headers-1.4.13-4.el6.noarch.rpm

nginx-1.7.10.tar.gz


实验使用操作系统为:RHEL6

实验拓扑图

本案例 搭建一个简单的轮询FastDFS 分布式文件系统

只搭建一台跟踪器 俩台存储节点 为方便理解 

实际生产项目中可以使用更多 但具体操作步骤不变


操作流程:

    跟踪器 (tracker)    pc70  192.168.4.70

        配置主控服务器 

    存储节点 (storage)    pc71 192.168.4.71     pc72 192.168.4.72

准备存储空间

            配置存储节点

            搭建nginx web服务器

     客户端 ( client )   192.168.4.254

            上传文件

            下载文件

操作步骤:

配置主控跟踪器服务器  pc70

1) 安装依赖包

# yum -y install gcc gcc-c++

# rpm -q make

make-3.81-20.el6.x86_64

# yum -y install libevent

# cd fastdfs/

# ls libevent*

libevent-devel-1.4.13-4.el6.x86_64.rpm  libevent-headers-1.4.13-4.el6.noarch.rpm

libevent-doc-1.4.13-4.el6.noarch.rpm

# yum -y install *.rpm

2) 安装主包

# tar -zxf FastDFS_v4.06.tar.gz

# cd FastDFS

# ls

client  conf             HISTORY  INSTALL  php_client  restart.sh  storage  tracker

common  COPYING-3_0.txt  init.d   make.sh  README      stop.sh     test

# ./make.sh

# ./make.sh install

# ls /usr/local/bin///命令存放路径

fdfs_appender_test   fdfs_delete_file    fdfs_storaged  fdfs_upload_appender

fdfs_appender_test1  fdfs_download_file  fdfs_test      fdfs_upload_file

fdfs_append_file     fdfs_file_info      fdfs_test1     restart.sh

fdfs_crc32           fdfs_monitor        fdfs_trackerd  stop.sh

# ls /etc/fdfs///配置文件存放路径

client.conf  http.conf  mime.types  storage.conf  tracker.conf

3) 修改配置文件tracker.conf

# vim /etc/fdfs/tracker.conf

22 base_path=/data/fastdfs//日志文件 数据 存放目录

# mkdir -p /data/fastdfs                    // 创建数据存储目录

# vim /etc/fdfs/tracker.conf

36 store_lookup=0                     //修改调到算法为轮询

46 store_server=0

51 store_path=0

56 download_server=0

182 use_storage_id = true//根据服务器的ID号时别

186 storage_ids_filename = storage_ids.conf//存储主机编号文件

4) 创建存储主机编号文件 storage_ids.conf

//在源码目录下有 storage_ids.conf 文件模版

# ls conf/storage_ids.conf

conf/storage_ids.conf

# cp conf/storage_ids.conf /etc/fdfs/        //使用模版 创建 storage_id 文件

# vim /etc/fdfs/storage_ids.conf                //编辑 storage_id 文件,加入存储组声明

100001   group1  192.168.4.71

100002   group1  192.168.4.72

配置存储节点 pc71   pc72

1) 准备存储空间

# fdisk -l /dev/vdb

Disk /dev/vdb: 3221 MB, 3221225472 bytes

16 heads, 63 sectors/track, 6241 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xaf03cc5f

Device Boot      Start         End      Blocks   Id  System

/dev/vdb1               1        6241     3145432+  83  Linux

# mkdir -p /data/fastdfs/        //创建数据存储目录

[[email protected] ~]# blkid /dev/vdb1

/dev/vdb1: UUID="e632a1df-60d5-47a6-825b-fc47ece05569" TYPE="ext4"

[[email protected] ~]# vim /etc/fstab         //将准备的存储空间挂载到 数据存储目录上

[[email protected] ~]# tail -1 /etc/fstab

UUID=e632a1df-60d5-47a6-825b-fc47ece05569 /data/fastdfs/ ext4defaults0 0

[[email protected] ~]# blkid /dev/vdb1

/dev/vdb1: UUID="86acaaca-6c2c-4a41-8052-60038c41cc92" TYPE="ext4"

[[email protected] ~]# vim /etc/fstab

[[email protected] ~]# tail -1 /etc/fstab

UUID=86acaaca-6c2c-4a41-8052-60038c41cc92/data/fastdfs/ext4defaults0 0

# mount -a

# df -h | grep  /dev/vdb1

/dev/vdb1             2.9G  4.5M  2.8G   1% /data/fastdfs

2) 安装软件包

# yum -y install gcc gcc-c++

# rpm -q make

make-3.81-20.el6.x86_64

# yum -y install libevent

# cd fastdfs/

# ls libevent*

libevent-devel-1.4.13-4.el6.x86_64.rpm  libevent-headers-1.4.13-4.el6.noarch.rpm

libevent-doc-1.4.13-4.el6.noarch.rpm

# yum -y install *.rpm

# tar -zxf FastDFS_v4.06.tar.gz

# cd FastDFS

# ./make.sh  && ./make.sh install

# ls /usr/local/bin/

fdfs_appender_test   fdfs_delete_file    fdfs_storaged  fdfs_upload_appender

fdfs_appender_test1  fdfs_download_file  fdfs_test      fdfs_upload_file

fdfs_append_file     fdfs_file_info      fdfs_test1     restart.sh

fdfs_crc32           fdfs_monitor        fdfs_trackerd  stop.sh

# ls /etc/fdfs/

client.conf  http.conf  mime.types  storage.conf  tracker.conf

3) 修改配置文件storage.conf

# vim /etc/fdfs/storage.conf

7 group_name=group1//所属存储组

37 base_path=/data/fastdfs//数据 和日志存储目录

85 sync_start_time=00:00//同步数据的默认开始时间

89 sync_end_time=23:59//同步数据的默认结束时间   实时推送

96 store_path_count=1//存储路径的个数

100 store_path0=/data/fastdfs//第一个存储路径

109 tracker_server=192.168.4.70:22122//主存储服务器的ip 端口号

140 file_distribute_path_mode=0//有多个存储路径时 数据存储路径的选择 0 轮询

145 file_distribute_rotate_count=100//当存储选择为轮询 当存储数据文件达到100时 轮询给下一个存储路径

启动服务

 1)启动主控跟踪器服务器  pc70

//进入 源码安装目录中

# cp init.d/fdfs_trackerd /etc/init.d///拷贝启动脚本

# chmod +x /etc/init.d/fdfs_trackerd

# chkconfig --add fdfs_trackerd

# chkconfig fdfs_trackerd on

# service fdfs_trackerd start

Starting FastDFS tracker server:

# netstat -pantu | grep :22122

tcp        0      0 0.0.0.0:22122               0.0.0.0:*                   LISTEN      2393/fdfs_trackerd

2) 启动存储节点 pc71     pc72

//进入 源码安装目录中

# cp init.d/fdfs_storaged /etc/init.d/

# chmod +x /etc/init.d/fdfs_storaged

# chkconfig --add fdfs_storaged

# chkconfig fdfs_storaged on

# service fdfs_storaged start

会在存储路径 初始化256子文件夹 结束后 按回车继续

storage 数据文件说明

storage 为用户创建256个目录存放上传文件

辅助文件的目录为 /data/fastdfs/data

— .data_init_flag: 初始化信息

— storage_stat.dat:统计信息

— sync/binlog.### : 更新操作记录 ( 日志 )

— sync/${id}.mark : 同步完成情况

[[email protected] ~]# netstat -pantu | grep :23000

tcp        0      0 0.0.0.0:23000               0.0.0.0:*                   LISTEN      3848/fdfs_storaged

tcp        0      0 192.168.4.71:35832          192.168.4.72:23000          ESTABLISHED 3848/fdfs_storaged

tcp        0      0 192.168.4.71:23000          192.168.4.72:35316          ESTABLISHED 3848/fdfs_storaged

[[email protected] ~]#  netstat -pantu | grep :23000

tcp        0      0 0.0.0.0:23000               0.0.0.0:*                   LISTEN      3301/fdfs_storaged

tcp        0      0 192.168.4.72:23000          192.168.4.71:35832          ESTABLISHED 3301/fdfs_storaged

tcp        0      0 192.168.4.72:35316          192.168.4.71:23000          ESTABLISHED 3301/fdfs_storaged

[[email protected] ~]# netstat -pantu | grep :22122

tcp        0      0 0.0.0.0:22122               0.0.0.0:*                   LISTEN      2393/fdfs_trackerd

tcp        0      0 192.168.4.70:22122          192.168.4.72:56753          ESTABLISHED 2393/fdfs_trackerd

tcp        0      0 192.168.4.70:22122          192.168.4.71:34256          ESTABLISHED 2393/fdfs_trackerd

客户端 访问主控服务器 验证配置

1) 提供访问命令 : 上传文件命令 下载文件命令

//客户端建立存放 提供访问命令文件目录

# mkdir /root/bin

//在主控服务器 pc70 山

# ls /usr/local/bin/

# cd /usr/local/bin/

//将其下的 fdfs_test fdfs_upload_fil fdfs_download_file fdfs_delete_file  拷贝给客户端 /root/bin

# scp fdfs_test fdfs_upload_fil fdfs_download_file fdfs_delete_file  192.168.4.254:/root/bin

2) 编辑连接主控节点主机的配置文件 client.conf

//客户端建立配置文件目录

# mkdir /etc/fdfs/

//靠拷贝主控服务器

# scp /etc/fdfs/client.conf 192.168.4.254:/etc/fdfs/

//修改客户端 上的客户端配置文件

# vim /etc/fdfs/client.conf

10 base_path=/data/fastdfs

14 tracker_server=192.168.4.70:22122//指定主控服务节点的ip 和 端口

//客户端创建 存放数据可日志文件目录

# mkdir /data/fastdfs

3) 客户端上传文件

# head -3 /etc/passwd > user.txt

# fdfs_test /etc/fdfs/client.conf upload user.txt //显示访问详细过程

This is FastDFS client test program v4.06

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General

Public License V3, which may be found in the FastDFS source kit.

Please visit the FastDFS Home Page http://www.csource.org/

for more detail.

[2018-01-16 14:30:14] DEBUG - base_path=/data/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

tracker_query_storage_store_list_without_group:

server 1. group_name=, ip_addr=192.168.4.71, port=23000

server 2. group_name=, ip_addr=192.168.4.72, port=23000

group_name=group1, ip_addr=192.168.4.71, port=23000

storage_upload_by_filename

group_name=group1, remote_filename=M00/00/00/wKgER1pdK3WABIFgAAAAaejzMko287.txt

source ip address: 192.168.4.71

file timestamp=2018-01-16 06:30:13

file size=105

file crc32=3908252234

file url: http://192.168.4.70:8080/group1/M00/00/00/wKgER1pdK3WABIFgAAAAaejzMko287.txt

storage_upload_slave_by_filename

group_name=group1, remote_filename=M00/00/00/wKgER1pdK3WABIFgAAAAaejzMko287_big.txt

source ip address: 192.168.4.71

file timestamp=2018-01-16 06:30:13

file size=105

file crc32=3908252234

file url: http://192.168.4.70:8080/group1/M00/00/00/wKgER1pdK3WABIFgAAAAaejzMko287_big.txt

[[email protected] ~]# ls /data/fastdfs/data/00/00/              //查看存储结果

wKgER1pdK3WABIFgAAAAaejzMko287_big.txt

wKgER1pdK3WABIFgAAAAaejzMko287_big.txt-m

wKgER1pdK3WABIFgAAAAaejzMko287.txt

wKgER1pdK3WABIFgAAAAaejzMko287.txt-m

//因为时实时推送数据文件 所有在 pc72 上也会存在

[[email protected] ~]# ls /data/fastdfs/data/00/00/

wKgER1pdK3WABIFgAAAAaejzMko287_big.txt

wKgER1pdK3WABIFgAAAAaejzMko287_big.txt-m

wKgER1pdK3WABIFgAAAAaejzMko287.txt

wKgER1pdK3WABIFgAAAAaejzMko287.txt-m

# fdfs_upload_file /etc/fdfs/client.conf 1.jpg //上传图片文件 不显示访问过程

group1/M00/00/00/wKgESFpdLzOAUmpNAAB_2jHRplo230.jpg

[[email protected] ~]# ls /data/fastdfs/data/00/00/         //查看存储结果

...

wKgESFpdLzOAUmpNAAB_2jHRplo230.jpg

[[email protected] ~]# ls /data/fastdfs/data/00/00/

...

wKgESFpdLzOAUmpNAAB_2jHRplo230.jpg

4) 下载文件 

// 下载文件 将其命名为test.jpg

# fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgESFpdLzOAUmpNAAB_2jHRplo230.jpg test.jpg

# ls test.jpg

test.jpg

5) 删除文件

# fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgESFpdLzOAUmpNAAB_2jHRplo230.jpg

配置Web访问 pc71  pc72

1) 安装提供nginx 软件包

fastdfs-nginx-module_v1.16.tar.gz

nginx-1.7.10.tar.gz

在pc71 和 pc72

# tar -zxf fastdfs-nginx-module_v1.16.tar.gz

# tar -zxf nginx-1.7.10.tar.gz

# useradd nginx

# yum -y install pcre-devel

# yum -y install zlib-devel

# cd nginx-1.7.10

# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --add-module=../fastdfs-nginx-module/src/

# make

# make install

# ls /usr/local/nginx/

conf  html  logs  sbin

2) 修改配置文件

# vim /usr/local/nginx/conf/nginx.conf

43         location / {

44             #root   html;

45             #index  index.html index.htm;

46             ngx_fastdfs_module;   //引入模块文件

47         }

//拷贝模块配置文件 到配置文件目录

# cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

# vim /etc/fdfs/mod_fastdfs.conf

40 tracker_server=192.168.4.70:22122//指定主控服务器的IP 和端口

44 storage_server_port=23000//存储节点监听端口

47 group_name=group1//当前所在存储组

53 url_have_group_name = true

57 store_path_count=1

62 store_path0=/data/fastdfs

# /etc/init.d/fdfs_storaged restart//重启存储服务

3)启动nginx 

# /usr/local/nginx/sbin/nginx

# netstat -pantu | grep nginx

具体访问过程

客户端访问 80 ---> nginx ---> nginx.conf --->模块 ---> 配置文件 ---> 主控服务的IP地址  ---> 主控服务器分配

4) 客户端访问测试

上传文件

# fdfs_upload_file /etc/fdfs/client.conf test.jpg

group1/M00/00/00/wKgER1pdQ0iASS_fAAB_2jHRplo601.jpg

//在浏览器访问 就会看见图片内容

# google-chrome http://192.168.4.71/group1/M00/00/00/wKgER1pdQ0iASS_fAAB_2jHRplo601.jpg

# google-chrome http://192.168.4.72/group1/M00/00/00/wKgER1pdQ0iASS_fAAB_2jHRplo601.jpg

在上述实验的基础上做相关的调整实现下面的实验

搭建扩展存储服务器

实验拓扑图

操作流程:

    跟踪器 (tracker)    pc70  192.168.4.70

        配置主控服务器 

    存储节点 (storage)    pc71 192.168.4.71     pc72 192.168.4.72    

                                     pc73 192.168.4.73     pc74 192.168.4.74

准备存储空间

            配置存储节点

            搭建nginx web服务器

     客户端 ( client )   192.168.4.254

            上传文件

            下载文件


操作步骤:

    使用上述实验继续实验

具体步骤不详细介绍 只说明与上述文件不同之处和注意之处

配置主控跟踪器服务器  pc70

    在之前配置的pc 70 上

修改存储主机编号文件 storage_ids.conf

# vim /etc/fdfs/storage_ids.conf

100001   group1  192.168.4.71

100002   group1  192.168.4.72

100003   group2  192.168.4.73

100004   group2  192.168.4.74

配置存储节点 pc73   pc74

   1) 准备存储空间

    2) 安装软件包

3) 修改配置文件storage.conf

# vim /etc/fdfs/storage.conf      //配置文件中只有声明组与上述不同 其于均相同

7 group_name=group2//所属存储组


配置Web访问 pc71  pc72

1) 安装提供nginx 软件包

        2) 修改配置文件

# vim /etc/fdfs/mod_fastdfs.conf         //模版配置文件中只有声明组与上述不同 其于均相同

47 group_name=group1//当前所在存储组

3) 启动nginx 


启动服务    

       1) pc70  需要重新启动服务

           2) 启动存储节点 pc71     pc72

[[email protected] ~]# netstat -utnalp  | grep 22122

tcp        0      0 0.0.0.0:22122               0.0.0.0:*                   LISTEN      4875/fdfs_trackerd

tcp        0      0 192.168.4.70:22122          192.168.4.72:57119          ESTABLISHED 4875/fdfs_trackerd

tcp        0      0 192.168.4.70:22122          192.168.4.71:34335          ESTABLISHED 4875/fdfs_trackerd

tcp        0      0 192.168.4.70:22122          192.168.4.74:45914          ESTABLISHED 4875/fdfs_trackerd

tcp        0      0 192.168.4.70:22122          192.168.4.73:45099          ESTABLISHED 4875/fdfs_trackerd

[[email protected] ~]# netstat -pantu | grep 23000

tcp        0      0 0.0.0.0:23000               0.0.0.0:*                   LISTEN      8496/fdfs_storaged

tcp        0      0 192.168.4.73:23000          192.168.4.74:38378          ESTABLISHED 8496/fdfs_storaged

tcp        0      0 192.168.4.73:51322          192.168.4.74:23000          ESTABLISHED 8496/fdfs_storaged

[[email protected] ~]# netstat -pantu | grep 23000

tcp        0      0 0.0.0.0:23000               0.0.0.0:*                   LISTEN      7905/fdfs_storaged

tcp        0      0 192.168.4.74:23000          192.168.4.73:51322          ESTABLISHED 7905/fdfs_storaged

tcp        0      0 192.168.4.74:38378          192.168.4.73:23000          ESTABLISHED 7905/fdfs_storaged

客户端测试    

         //会发现 group1 和 group2 已经实现轮询存储

# fdfs_upload_file  /etc/fdfs/client.conf  1.jpg

group1/M00/00/00/wKgER1pdbEaAUfkvAAB_2jHRplo065.jpg

# fdfs_upload_file  /etc/fdfs/client.conf  1.jpg

group2/M00/00/00/wKgESVpdbEeANZeWAAB_2jHRplo990.jpg

# fdfs_upload_file  /etc/fdfs/client.conf  test.jpg

group1/M00/00/00/wKgESFpdbE2AVXMfAAB_2jHRplo700.jpg

# fdfs_upload_file  /etc/fdfs/client.conf  test.jpg

group2/M00/00/00/wKgESlpdbFCAet_vAAB_2jHRplo946.jpg

//在浏览器访问 就会看见图片内容

# google-chrome http://192.168.4.71/group1/M00/00/00/wKgER1pdbEaAUfkvAAB_2jHRplo065.jpg

# google-chrome http://192.168.4.74/group2/M00/00/00/wKgESlpdbFCAet_vAAB_2jHRplo946.jpg


原文地址:http://blog.51cto.com/13558754/2061782

时间: 2024-11-25 06:43:36

FastDFS 分布式文件系统 搭建部署的相关文章

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

MFS分布式文件系统的部署

MFS分布式文件系统的部署 MFS简介 MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源. MFS文件系统的组成. 元数据服务器(master):负责管理文件系统,维护元数据. 元数据日志服务器(MetaLogger):存放日志文件. 数据存储服务器(Chunk Server):真正存储数据的服务器. 客户端(client):用来挂载MFS文件文件系统的. MFS读取数据的处理过程. 1. 客户端向元数据服务器发出读请求. 2. 元

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原理及部署 再次提醒在安装客户端可能会遇到各种不可控的因素,导致你上传失败

Spark环境搭建(一)-----------HDFS分布式文件系统搭建

spark 环境搭建 下载的压缩文件放在~/software/    解压安装在~/app/ 一:分布式文件系统搭建HDFS 1,下载Hadoop HDFS环境搭建    使用版本:hadoop-2.6.0-cdh5.7.0 下载:wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz 解压:tar http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cd

上传图片至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>

Docker和FastDFS分布式文件系统

FastDFS 是国内电商网站非常出名的一套框架,在国内的电商网站使用概率是非常大的,是淘宝的前架构师用 c 语言编写的一款开源的分布式文件系统.充分考虑了冗余备份(纵向).负载均衡.线性扩容(横向)等机制,并注重高可用.高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. 作用:分布式存储静态文件:提供文件上传和下载功能. FastDFS 架构包括 Tracker server 和 Storage server.客户端请求 Tracker serv

一键架设FastDFS分布式文件系统脚本,基于Centos6

一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等技术时,遇到文件存储的瓶颈,因此需求一个使用分布式文件系统注入新的活力. 二.环境 参考 http://blog.csdn.net/hhq163/article/details/46536895 这个博主的博客安装比较新 FastDFS 版本. 在 Docker 下 使用最小化安装的 Centos6