葡京在线开户【架构设计】分布式文件系统 FastDFS的规律和装置使用

正文地址

好遥远没眷顾Jabber了,这点儿上比较闲,关注了一晃,发现本底他煞是棒了。
Jabber是呀?
是另外一个开放式网络信息报道工具,她可以跳出各种商业就聊天各自为阵的限制.使用它们得搭建自己之服务器,与任何现有的服务器一起组成全球分布式服务网络!并且可以就此它们跟现有的常用即经常聊天工具直接拉,这样你不用为以这新工具如失去在MSN\YahooMsg\ICQ上之爱人,也无须同时还是个别打开Oicq\MSN\YahooMsg\AOL等大多单工具软件去寻找你的情侣是否当线.虽然由于这些店的抵制,一些连锁的劳动被查封掉了,但相信开放商的威力一定会克服这些商用的封机制,开放意味着越多的单位以及集团的积极性在,而每个服务器的在都在追加了jabber的用户群的完整数据,具备系统提高从组织正反馈形成的特征.

分享提纲:

除此以外,更关键之是,她还足以用作Blog的客户端:即经常取你订阅的rss更新通知、并可以透过其远程发布到您的blog网站。blog系统(nucleus和drupal)就来是秘密的效益接口.现有的各种blog网站系统都早就或者在开发支持jabber协议的插件.
.Text又尚未如此的插件呢,我并未研究过.Text。

  1.概述

 可以预见一下前,一栽支持jabber协议和当这个协议基础及同时支持blog-api和rss协议的初的网络工具将代表现有的即时通讯软件和浏览器软件,成为每个上网人数往网络世界的进口,既好无限制上网浏览,还可以保留记录自己浏览轨迹(甚至找记录)到您自己之私人网络区(而未是今日凭让客户端),可对另外感兴趣之网页上评论保存至好的blog中,还足以同旁人即时沟通分享信息.

  2. 原理

使用
Jabber 增强
log4j 的功能
http://arch.jabber.com/weblog/
http://jabberstudio.org/cgi-bin/viewcvs.cgi/cvs/jabber-net/
http://www.lugor.org/minutes/Jabber/jabber.html

  3. 安装

  4. 使用

  5. 参阅文档

 

1. 概述


 

  1.1)【泛文件系统】

    Google了一下,流行的开源分布式文件系统有成千上万,介绍如下:

 

    – mogileFS:Key-Value型元文件系统,不支持FUSE,应用程序访问它经常欲API,主要用当web领域处理海量小图,效率比mooseFS高多。

    – fastDFS:国人 余庆老师(GitHub)在mogileFS的根基及展开改良之key-value型文件系统,同样不支持FUSE,提供比较mogileFS更好之习性。

    – mooseFS:支持FUSE,相对比轻量级,对master服务器出单点依赖,用perl编写,性能相对较差,国内用的口比多

    – glusterFS:支持FUSE,比mooseFS庞大

    – ceph:支持FUSE,客户端就入了linux-2.6.34内核,也就是说可以像ext3/rasierFS一样,选择ceph为文件系统。彻底底分布式,没有单点依赖,用C编写,性能比好。基于不熟之btrfs,其本身也死不成熟。

    – lustre:Oracle公司的店铺级产品,非常巨大,对内核和ext3纵深依赖

    – NFS:老牌网络文件系统,具体不了解,反正NFS最近几乎年无发展,肯定不能够就此

 

  1.2)【fastDFS】

    FastDFS是一个开源的轻量级分布式文件系统,它对文本进行田间管理,功能包括:文件存储、文件共、文件访问(文件上传、文件下载)等,解决了生容量存储和负载均衡的问题。特别符合因文件呢载体的在线服务,如相册网站、视频网站等等。

 

 

2. 原理


  2.1)【三个角色】

  具体参见: 分布式文件系统FastDFS设计原理

  FastDFS
系统出三只角色:跟踪服务器(Tracker Server)、存储服务器(Storage
Server)和客户端(Client)

  • Tracker Server:
    跟踪服务器,主要做调度工作,起及人均的意向;负责管理所有的 storage
    server
    同 group,每个 storage 在开行后会见一连 Tracker,告知自己所属 group
    等信息,并保障周期性心跳。
  • Storage Server:存储服务器,主要提供容量和备份服务;以 group
    为单位,每个 group 内足以出多光 storage server,数据交互备份。
  • Client:客户端,上传下载数据的服务器,也即是我们友好之型所安排在的服务器。

葡京在线开户 1

 

  2.2)
上传下载以及一起文件简述

  大概达到传流程就是客户端发送上传请求到Tracker Server服务器,接着Tracker Server服务器分配groupStorage Server,当然就是生一定规则之,选择好Storage Server后再次依据早晚规则选择仓储于是服务器会变动一个file_id,这个file_id 包含字段包括:storage
server ip、文件创建时间、文件大小、文件 CRC32
校验码和任意数;每个存储目录下有有限个 256 * 256
个子目录,后止你见面了解一个Storage Server积存目录下发出多独公文夹的,storage
会按文件file_id进行简单次于 hash
,路由于到中一个子目录,然后拿文件存储到该子目录下,最后生成文书路径:group
名称、虚拟磁盘路径、数据两级目录、file_id和文件后缀就是一个整体的公文地点。
或许本身知道的为无是老大绝望,下载、同步操作我未写了,这里有相同首文章 分布式文件系统FastDFS设计原理 讲解的不得了详细,我哪怕未班门弄斧了,大家好点击去探视。

 

  

3. 安装


  

源码下载:http://code.google.com/p/fastdfs

谋求协助:http://www.csource.org

笔者 余庆老师(GitHub)

切实装教程见 :FastDFS
安装以及采取

        及 【好】分布式文件系统 – FastDFS
在 CentOS
下安排安装配置

  3.1)【安装libevent】

葡京在线开户 2葡京在线开户 3

fastDFS需要安装libevent比较新的版本,将本机的比较低的版本卸载了。

rpm -qa libevent
libevent-1.4.13-1.el6.x86_64
rpm -e --nodeps libevent
安装一个最新稳定版

wget https://github.com/downloads/libevent/libevent/libevent-2.0.18-stable.tar.gz
tar zxvf libevent-2.0.18-stable.tar.gz
cd libevent-2.0.18-stable
./configure
make && make install
为libevent创建软链接到/lib库下,64位系统对应/lib64

ln -s /usr/local/lib/libevent* /lib/
ln -s /usr/local/lib/libevent* /lib64/

安装libevent

  

  3.2)【安装FastDFS】

葡京在线开户 4葡京在线开户 5

wget http://fastdfs.googlecode.com/files/FastDFS_v3.06.tar.gz
tar zxvf FastDFS_v3.06.tar.gz
cd FastDFS
./make.sh
./make.sh install

安装FastDFS

  

  3.3)【配置FastDFS】 

 

葡京在线开户 6葡京在线开户 7

环境:
tracker server
192.168.1.5
storage server
192.168.1.51
192.168.1.52

1、配置并启动 tracker server
①配置 tracker.conf

mkdir /data/fastdfs
vim /etc/fdfs/tracker.conf
base_path=/data/fastdfs
②启动 tracker

/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
③开机启动

vim /etc/rc.local
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
2、配置并启动 storage server
①配置 tracker.conf

mkdir /data/fastdfs
mkdir /data/images
vim /etc/fdfs/storage.conf
base_path=/data/fastdfs
store_path0=/data/images
tracker_server=192.168.1.5:22122
②启动 tracker

/usr/local/bin/fdfs_storage /etc/fdfs/storage.conf
③开机启动

vim /etc/rc.local
/usr/local/bin/fdfs_storage /etc/fdfs/storage.conf
3、为storage节点安装fastdfs-nginx-module模块
①安装模块
安装Nginx详见:
需重新编译Nginx

wget http://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.10.tar.gz
tar zxvf fastdfs-nginx-module_v1.10.tar.gz
wget http://nginx.org/download/nginx-1.2.0.tar.gz
tar zxvf nginx-1.2.0.tar.gz
cd nginx-1.2.0
./configure --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module/src
make && make install
cd ..
②配置
编辑nginx.conf

vim /usr/local/nginx/conf/nginx.conf
server {
    listen       80;
    server_name  localhost;

    location /M00 {
        alias /datata;
        ngx_fastdfs_module;
    }
    ......
}
给 storage 的存储目录做一个软连接

ln -s /datata/ /datata/M00
拷贝mod_fastdfs.conf 到 /etc/fdfs/

cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
base_path=/data/fastdfs
tracker_server=192.168.1.5:22122
store_path0=/data/images
启动nginx

/usr/local/nginx/sbin/nginx

配置FastDFS

 

 

4. 使用


  4.1)【具体采用】

 

葡京在线开户 8葡京在线开户 9

1、上传文件
FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。
在tracker上修改客户端配置文件client.conf

vim /etc/fdfs/client.conf
base_path=/data/fastdfs
tracker_server=192.168.1.5:22122
vim a.html
This Is FastDFS Test.
上传文件

/usr/local/bin/fdfs_test /etc/fdfs/client.conf upload a.html
This is FastDFS client test program v3.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.

[2012-04-29 12:42:53] INFO - base_path=/data/tracker, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0

tracker_query_storage_store_list_without_group: 
server 1. group_name=group1, ip_addr=192.168.1.51, port=23000
server 2. group_name=group1, ip_addr=192.168.1.52, port=23000

group_name=group1, ip_addr=192.168.1.51, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90.html
source ip address: 192.168.1.51
file timestamp=2012-04-29 12:42:53
file size=14
file crc32=674197143
file url: http://192.168.1.5/group1/M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90.html
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90_big.html
source ip address: 192.168.1.51
file timestamp=2012-04-29 12:42:53
file size=14
file crc32=674197143
file url: http://192.168.1.5/group1/M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90_big.html
上传成功
试试用

http://192.168.1.51/M00/00/00/wKgBM0-cxs32qFyYAAAADigvbpc90_big.html

访问看看吧。

现实运用

 

 

 

5. 参考文档


  5.1) 分布式文件系统 –
FastDFS 简单了解一下

  5.2) 分布式文件系统FastDFS设计原理

  5.3) FastDFS
安装和用

  5.4) 【好】 分布式文件系统 – FastDFS 配置 Nginx
模块和达传测试