、FastDFSはじめに
FastDFSオープンソースアドレス:https://github.com/happyfish100
参考:分散ファイルシステムの設計原理FastDFS
参考:FastDFS分散ファイルシステム
1.1はじめに
FastDFSオープンソース、高性能分散ファイルシステム(DFS)です。その主な機能は次のとおりです。ファイルストレージ、ファイルの同期やファイルへのアクセスだけでなく、大容量と負荷分散を。キャリアオンラインサービスなど:主に、特に中小ファイル(4キロバイト<FILE_SIZE <500メガバイト推奨範囲)のために、大容量データストレージの問題を解決します。
トラッキングサーバー(トラッカーサーバー)、ストレージサーバー(ストレージサーバ)とクライアント(クライアント):FastDFSシステムは、3つの役割を持っています。
1.2Trackerサーバー
トラッキングサーバー、スケジューリング作業の主な仕事は、バランスの役割果たし、ストレージサーバやグループのすべての管理を担当し、始動がトラッカーに接続する各保存した後、彼らは他の情報に属しているグループを通知し、かつ定期的にハートビートを維持します。トラッカーはほとんど全てをメモリに格納され、メタ情報を管理する必要がありません。追加のメタ情報は、情報記憶装置によって報告されたトラッカーで生成され、データ自体は直接トラッカーを高め、トラッカーが拡大することは容易であるように、任意の永続性を必要としません。マシンは、心拍追跡情報リテラシーサービスを提供するために、メタデータ情報を生成stroage全てが受け入れられ、各トラッカの間でクラスタが完全に同一である、トラッカークラスタとして機能するように拡張することができます。
1.3Storageサーバー
ユニットとしてグループ(ボリューム、ボリュームまたはグループ)に(保存後の略記する)、ストレージサーバ、グループは、ストレージ機器を複数備え、相互にデータのバックアップ、ストレージ・スペースの量が最小ストレージグループコンテンツ対象物に、それがグループことが推奨されますできるだけ同じ複数のストレージは、ストレージスペースを無駄にしないようにします。
グループ内のユニットとして容易アプリケーション分離に格納することができ、ロードバランシングは、カスタマイズされたコピー数、そのようなデータは、異なるグループのアプリケーションデータから単離することができ、異なるアプリケーションに格納され、(グループ番号内のストレージサーバは、グループのコピーの数です)しかし、異なるアプリケーションが負荷分散グループを行うためのアプリケーション・アクセスの特性に応じて割り当てることができ、壊れながらマシングループ、グループ・データ・リカバリが本土に依存している場合の欠点は、記憶容量の単一グループの容量によって制限されます回復時間が非常に長くなるように他のマシン、。
ストアは、データ記憶装置の複数の/データ/ disk1- /データ/ disk10に搭載され、磁気ディスク10のようなディレクトリを格納するように構成することができるローカル・ファイル・システム内の各グループの記憶に依存し 、 これらのディレクトリ10ができますデータ格納ディレクトリの保管用に設定。
書き込み時にファイル保存要求が受信され、設定されたルールに基づいて、ファイルディレクトリを格納するメモリのいずれかを選択するために、(後述します)。、単一のディレクトリ内のファイルの過剰な数を避けるためにストレージが最初に起動したとき、それは、サブディレクトリレベル2、レベルごとに256の各データ格納ディレクトリに65,536のファイルの合計を作成し、新しいファイルをハッシュするために書き込まれますサブディレクトリにルーティングされ、その後、ディレクトリとしてローカルファイルに直接ファイルデータを格納している方法。
1.4Client
クライアント、サーバのアップロード・ダウンロード・データ、つまり、サーバーの展開で私たち自身のプロジェクト。
二、FastDFSインストール
资源包:
资源包百度云链接
1、解决Windows下安装FastDFS报 Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat 问题
2、解决Windows下安装FastDFS报 fdfs_client/sendfilemodule.c(53) fatal error C1189: #error : platfom not supported 问题,fdfs_client-py-1.2.6-jj 安装包已经修改过, 使用python setup.py install 安装
2.1安装gcc
yum install gcc
2.2安装libfastcommon
1. 解压缩libfastcommon-master.zip 2. 进入到libfastcommon-master的目录中 3. 执行 ./make.sh 4. 执行 sudo ./make.sh install
2.3安装fastdfs
1. 解压缩fastdfs-master.zip 2. 进入到 fastdfs-master目录中 3. 执行 ./make.sh 4. 执行 sudo ./make.sh install
三、FastDFS配置
3.1配置跟踪服务器tracker
1. sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf 2. 在/home/python/目录中创建目录 fastdfs/tracker mkdir –p /home/python/fastdfs/tracker 3. 编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf 修改 base_path=/home/python/fastdfs/tracker
3.2配置存储服务器storage
1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf 2. 在/home/python/fastdfs/ 目录中创建目录 storage mkdir –p /home/python/fastdfs/storage 3. 编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf 修改内容: base_path=/home/python/fastdfs/storage store_path0=/home/python/fastdfs/storage tracker_server=自己ubuntu虚拟机的ip地址:22122
3.3启动tracker 和 storage
# 启动跟踪器
sudo service fdfs_trackerd start
# 启动存储器
sudo service fdfs_storaged start
3.4测试是否安装成功
1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf 2. 编辑/etc/fdfs/client.conf配置文件 sudo vim /etc/fdfs/client.conf 修改内容: base_path=/home/python/fastdfs/tracker tracker_server=自己ubuntu虚拟机的ip地址:22122 3. 上传文件测试: fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件 如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功
3.5设置开机自启动
vi /etc/rc.local # 启动跟踪器 sudo service fdfs_trackerd start # 启动存储器 sudo service fdfs_storaged start