分散型ファイルシステムFastDFSは実戦で動作します。
(4 kb-500 MB間)
キャラクター:
client
トラッカー群
storge群
環境:2台ずつ設置 トラッカー群 storge群
Tracker Server:
サーバーを追跡して、主にスケジュールの仕事をして、訪問の中で負荷の均衡の作用を果たします。クラスタ内のgroupとstorgeの状態情報をメモリに記録することは、clientとstorage Serverを接続するためのハブであり、関連情報はすべてメモリにありますので、trocer serverの性能は非常に高く、大きなクラスタ(上の100 group)の3台で大丈夫です。
Strage Server:
サーバ、ファイル、ファイルのプロパティは上に保存されます。
https://github.com/happyfish100
インストール依存:
総使用量20
[root@centos6-vm-53 fdfs)钥tree/data/
[root@node1-197~」璖tree/etc/fdfs/
記憶ノード:
Installing sharextens: /usr/local/php 56/lib/php/extenssions/no-debug-non-zts-2013226/
[root@centos6-vm-53 phpuclient"菗cat fastdfs_client.ini>/usr/local/php 56/etc/php.i
テスト:
[root@centos6-vm-53 phpuclient菗/usr/local/php 56/bin/php fastdfs_test.php
javaクライアント:
[root@zhong-61 src]菗ant
Buildfile:build.xml
init:
comple:
[mkdir]Created dir:/usr/local/src/fastdfs-client-java/src/build/clases
[javac]Copiling 32 source files to/usr/local/src/fastdfs-client-java/src/build/clases
[javac]Note:Some input files use uncheced or unsafe operation.
[javac]Note:Recomple with-Xlint:uncheced for details.
jar:
[jar]Buiilding jar:/usr/local/src/fastdfs-client-java/src/build/fastdfs_client.jar
BUIL SUCCESSFUL
Total time:5 seconds
使い方:
キャラクター:
client
トラッカー群
storge群
環境:2台ずつ設置 トラッカー群 storge群
Tracker Server:
サーバーを追跡して、主にスケジュールの仕事をして、訪問の中で負荷の均衡の作用を果たします。クラスタ内のgroupとstorgeの状態情報をメモリに記録することは、clientとstorage Serverを接続するためのハブであり、関連情報はすべてメモリにありますので、trocer serverの性能は非常に高く、大きなクラスタ(上の100 group)の3台で大丈夫です。
Strage Server:
サーバ、ファイル、ファイルのプロパティは上に保存されます。
https://github.com/happyfish100
インストール依存:
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh
./make.sh install
インストールソフト:https://github.com/happyfish100/fastdfs/releases
tar zxf fastdfs-5.05.tar.gz
cd fastdfs-5.05
./make.sh
./make.sh install
[root@node1-197 fastdfs-50.05]铉ll/etc/fdfs/総使用量20
-rw-r--r-- 1 root root 1461 8 24 14:05 client.conf.sample
-rw-r--r-- 1 root root 7829 8 24 14:05 storage.conf.sample
-rw-r--r-- 1 root root 7102 8 24 14:05 tracker.conf.sample
[root@node1-197 fastdfs-5.05]# ll /usr/bin/fdfs_
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
fdfs_crc32 fdfs_monitor fdfs_trackerd
[root@node1-197 fastdfs-5.05]# ll /etc/init.d/fdfs_
fdfs_storaged fdfs_trackerd
[root@node1-197 fastdfs-5.05]# sed -i 's#/usr/local/bin/#/usr/bin/#' /etc/init.d/fdfs_*
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
vim tracker.conf
ディレクトリを作成:[root@centos6-vm-53 fdfs)钥tree/data/
/data/
├── fdfs_storage
│ ├── base
│ └── store
└── fdfs_tracker
├── data
│ ├── fdfs_trackerd.pid
│ └── storage_changelog.dat
└── logs
└── trackerd.log
/etc/init.d/fdfs_trackerd start
lsof -i:22122
lsof -i:23000
---------------------------------------------[root@node1-197~」璖tree/etc/fdfs/
/etc/fdfs/
|-- client.conf
|-- client.conf.sample
|-- storage.conf
|-- storage.conf.sample
|-- tracker.conf
`-- tracker.conf.sample
0 directories, 6 files
---------------------------------------------記憶ノード:
/etc/fdfs
cp storage.conf.sample storage.conf
:
base_path=/data/fdfs_storage/base
store_path0=/data/fdfs_storage/store
tracker_server=192.168.1.61:22122
tracker_server=192.168.1.53:22122
クライアントの操作: cp client.conf.sample client.conf
base_path=/tmp
tracker_server=192.168.1.61:22122
tracker_server=192.168.1.53:22122
[root@node1-197 /]# fdfs_upload_file /etc/fdfs/client.conf /etc/passwd
group1/M00/00/00/wKjrxVXawRCAHqZqAAAKU60-8sE9427256
[root@node1-197 00]# pwd
/data/fdfs_storage/store/data/00/00
[root@node1-197 00]# ls
wKjrxVXawRCAHqZqAAAKU60-8sE9427256
[root@node1-197 ~]# md5sum wKjrxVXawRCAHqZqAAAKU60-8sE9427256
78d23b6ae5271f6ecfd0e51d2dc1d164 wKjrxVXawRCAHqZqAAAKU60-8sE9427256
[root@node1-197 ~]# md5sum /etc/passwd
78d23b6ae5271f6ecfd0e51d2dc1d164 /etc/passwd
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKjrxVXawRCAHqZqAAAKU60-8sE9427256
[root@node1-197 ~]# fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKjrxVXawRCAHqZqAAAKU60-8sE9427256
source storage id: 0
source ip address: 192.168.235.197
file create timestamp: 2015-08-24 15:00:32
file size: 2643
file crc32: 2906583745 (0xAD3EF2C1)
[root@node1-197 ~]# fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKjrxVXawRCAHqZqAAAKU60-8sE9427256
アップロード可能なファイル:fdfs_upload_appender /etc/fdfs/client.conf xx.txt
ダウンロード後の追加:fdfs_append_file
コマンド:[root@node1-197 ~]# fdfs_
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
fdfs_crc32 fdfs_monitor fdfs_trackerd
[root@node1-197 ~]# fdfs_monitor /etc/fdfs/storage.conf
phpクライアント:cd /usr/local/src/fastdfs-5.05/php_client/
/usr/local/php56/bin/phpize
./configure --with-php-config=/usr/local/php56/bin/php-config
make && make install
ヒント:Installing sharextens: /usr/local/php 56/lib/php/extenssions/no-debug-non-zts-2013226/
[root@centos6-vm-53 phpuclient"菗cat fastdfs_client.ini>/usr/local/php 56/etc/php.i
テスト:
[root@centos6-vm-53 phpuclient菗/usr/local/php 56/bin/php fastdfs_test.php
javaクライアント:
cd /usr/local/src/
git clone https://github.com/happyfish100/fastdfs-client-java.git
cd fastdfs-client-java/src
実行ant:[root@zhong-61 src]菗ant
Buildfile:build.xml
init:
comple:
[mkdir]Created dir:/usr/local/src/fastdfs-client-java/src/build/clases
[javac]Copiling 32 source files to/usr/local/src/fastdfs-client-java/src/build/clases
[javac]Note:Some input files use uncheced or unsafe operation.
[javac]Note:Recomple with-Xlint:uncheced for details.
jar:
[jar]Buiilding jar:/usr/local/src/fastdfs-client-java/src/build/fastdfs_client.jar
BUIL SUCCESSFUL
Total time:5 seconds
使い方:
https://github.com/happyfish100/fastdfs-client-java/tree/master/src
[root@zhong-61 src]# java -cp /usr/local/src/fastdfs-client-java/src/build/fastdfs_client.jar org.csource.fastdfs.test.TestClient /etc/fdfs/client.conf /etc/passwd
[root@zhong-61 src]# java -cp /usr/local/src/fastdfs-client-java/src/build/fastdfs_client.jar org.csource.fastdfs.test.Monitor /etc/fdfs/client.conf
nginxモジュール:[root@centos6-vm-53 src]# git clone https://github.com/happyfish100/fastdfs-nginx-module.git
[root@centos6-vm-53 nginx-1.9.9]# ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=nginx --group=nginx --with-http_stub_status_module --with-pcre --with-http_ssl_module --add-module=/usr/local/src/fastdfs-nginx-module/src/
make && make install
[root@centos6-vm-53 src]# pwd
/usr/local/src/fastdfs-nginx-module/src
[root@centos6-vm-53 src]# cp mod_fastdfs.conf /etc/fdfs/
[root@centos6-vm-53 src]# cd /usr/local/src/fastdfs-5.05/conf/
[root@centos6-vm-53 conf]# ls
anti-steal.jpg client.conf http.conf mime.types storage.conf storage_ids.conf tracker.conf
[root@centos6-vm-53 conf]# cp anti-steal.jpg http.conf mime.types /etc/fdfs/
[root@centos6-vm-53 conf]# touch /var/log/mod_fastdfs.log
[root@centos6-vm-53 conf]# chown nginx.nginx /var/log/mod_fastdfs.log
inx. server増加: location /group/M00 {
root /data/fdfs_storage/store/;
ngx_fastdfs_module;
}
[root@centos6-vm-53 conf.d]# vim /etc/fdfs/mod_fastdfs.conf
tracker_server=192.168.1.61:22122
tracker_server=192.168.1.53:22122
url_have_group_name = true
store_path0=/data/fdfs_storage/store
log_filename=/var/log/mod_fastdfs.log
nginxを再開して、テストにアクセスします。http://192.168.1.53:800/group1/M00/00/00/wKgBNVaCV8GAc0CjAAAgVBESXKk681.png