亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4847 | 回復(fù): 0
打印 上一主題 下一主題

[mogileFS] 分布式文件系統(tǒng) MogileFS 安裝手冊 [復(fù)制鏈接]

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:1515-16賽季CBA聯(lián)賽之上海
日期:2016-05-05 09:45:14
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-06-03 10:03 |只看該作者 |倒序瀏覽
一、【理論知識】
MogileFS 是一個分布式文件存儲的 解決方案,它能夠做到 不需要特殊的核心組件、無單點失敗、自動的文件復(fù)制、比RAID好多了、傳輸中立,無特殊協(xié)議(客戶端可以通過NFS或HTTP來和MogileFS通 信)、簡單的命名空間、不用共享任何東西、不需要RAID、不會碰到文件系統(tǒng)本身的不可知情況 等等優(yōu)點。
相關(guān)知識和安裝方面的問題可以去看官方的wiki:
http://mogilefs.pbwiki.com/
。(有可能被GFW了,請使用代理或者安裝一個Firefox的gladder插件來訪問)
[ Mogilefs分為幾部分 ]
1. 數(shù)據(jù)庫(MySQL)部分
你可以用 mogdbsetup程序來初始化數(shù)據(jù)庫。數(shù)據(jù)庫保存了Mogilefs的所有元數(shù)據(jù),你可以單獨拿數(shù)據(jù)庫服務(wù)器來做,也可以跟其他程序跑在一起,數(shù)據(jù)庫 部分非常重要,類似郵件系統(tǒng)的認證中心那么重要,如果這兒掛了,那么整個Mogilefs將處于不可用狀態(tài)。因此最好是HA結(jié)構(gòu)。
2. 存儲節(jié)點
mogstored 程序的啟動將使本機成為一個存儲節(jié)點。啟動時默認去讀/etc/mogilefs/mogstored.conf ,具體配置可以參考配置部分。mogstored啟動后,便可以通過mogadm增加這臺機器到cluster中。一臺機器可以只運行一個 mogstored作為存儲節(jié)點即可,也可以同時運行其他程序。
3. trackers(跟蹤器)
mogilefsd即 trackers程序,類似mogilefs的wiki上介紹的,trackers做了很多工作,Replication ,Deletion,Query,Reaper,Monitor等等。mogadm,mogtool的所有操作都要跟trackers打交 道,Client的一些操作也需要定義好trackers,因此最好同時運行多個trackers來做負載均衡。trackers也可以只運行在一臺機器 上,也可以跟其他程序運行在一起,只要你配置好他的配置文件即可,默認在/etc/mogilefs/mogilefsd.conf。
4. 工具
主要就是mogadm,mogtool這兩個工具了,用來在命令行下控制整個mogilefs系統(tǒng)以及查看狀態(tài)等等。
5. Client
Client實際上是一個Perl的pm,可以寫程序調(diào)用該pm來使用mogilefs系統(tǒng),對整個系統(tǒng)進行讀寫操作。
[ 概念定義 ]
可以參考官方wiki的這兒,簡單說一下
domain:最高域,在一個域下key是唯一的。
class:包含在domain中,可以針對每一個class定義保存的份數(shù)。
key:對文件的唯一標(biāo)識。
file:文件。
[ 適用性 ]
由于Mogilefs不支持對一個文件的隨機讀寫,因此注定了只適合做一部分應(yīng)用。比如圖片服務(wù),靜態(tài)HTML服務(wù)。
即文件寫入后基本上不需要修改的應(yīng)用,當(dāng)然你也可以生成一個新的文件覆蓋上去。
二、【安裝Perl和相關(guān)包】
[ 安裝環(huán)境 ]
操作系統(tǒng):RHEL 4 (AS 4)
Perl版本:Perl v5.8.8
注意:請確保你的Perl版本為大于 v5.8.8,不然可能安裝會有問題,另外,本文所有操作都是在一臺機器上完成,可能多臺機器上稍微有些不同,請自行調(diào)整
[ MySQL ]
安裝前請安裝好MySQL,如果MySQL Server和MogileFS不是一臺機器,請在MogileFS機器安裝好MySQL Client,本文假設(shè)MySQL Client安裝在:/usr/local/mysql 目錄,安裝完客戶端后請建立一個軟鏈接:
ln -s /usr/local/mysql/lib/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15
[ Perl包安裝 ]
因為MogileFS需要使用很多相關(guān)的Perl包,請逐一按照一下次序安裝,本文采用的是比較笨,比較簡單的安裝方法,逐個把包下載回來本機手工安裝,沒有使用cpan的包安裝方式。
要下載包,請在
http://search.cpan.org
中輸入包名,然后下載,一般提供的是最新版,如果版本跟下面不一致,請以最新版為準(zhǔn)。
為方便使用,本文包下載地址列表:(不保證您閱讀本文的時候有效)
http://search.cpan.org/CPAN/authors/id/J/JH/JHI/BSD-Resource-1.2901.tar.gz
http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.22.tar.gz
http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9715.tar.gz
http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/Danga-Socket-1.59.tar.gz
http://search.cpan.org/CPAN/authors/id/M/MU/MUIR/modules/Net-Netmask-1.9015.tar.gz
http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/IO-AIO-3.07.tar.gz
http://search.cpan.org/CPAN/authors/id/D/DO/DORMANDO/Perlbal-1.71.tar.gz
http://search.cpan.org/CPAN/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar.gz
http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Gearman-1.09.tar.gz
http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Gearman-Client-Async-0.94.tar.gz
http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Gearman-Server-1.09.tar.gz
http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.607.tar.gz
http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.008.tar.gz
http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/MogileFS-Client-1.08.tar.gz
http://search.cpan.org/CPAN/authors/id/D/DO/DORMANDO/mogilefs-server-2.20.tar.gz
http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-Base-2.015.tar.gz
http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.015.tar.gz
http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-Zlib-2.015.tar.gz
http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Zlib-2.015.tar.gz
http://search.cpan.org/CPAN/authors/id/D/DS/DSKOLL/IO-stringy-2.110.tar.gz
http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.015.tar.gz

包安裝次序:(務(wù)必按照本次序進行)
BSD-Resource-1.2901.tar.gz
Sys-Syscall-0.22.tar.gz

Time-HiRes-1.9715.tar.gz
Danga-Socket-1.57.tar.gz

Net-Netmask-1.9015.tar.gz
IO-AIO-3.07.tar.gz (本包要求Perl v5.8.8以上)
Perlbal-1.71.tar.gz

String-CRC32-1.4.tar.gz
Gearman-1.07.tar.gz
Gearman-Client-Async-0.93.tar.gz
Gearman-Server-1.08.tar.gz

#make test 有可能會有一個錯誤,不用管它
DBI-1.607.tar.gz
DBD-mysql-4.008.tar.gz
#以下命令假設(shè)MySQL服務(wù)器是在本機
perl Makefile.PL  –testhost=localhost –testuser=root –mysql_config=/usr/local/mysql/bin/mysql_config

IO-Compress-Base-2.015.tar.gz
IO-Compress-Zlib-2.015.tar.gz
Compress-Raw-Zlib-2.015.tar.gz
Compress-Zlib-2.015.tar.gz
IO-stringy-2.110.tar.gz

MogileFS-Client-1.08.tar.gz
mogilefs-server-2.20.tar.gz
MogileFS-Utils-2.13.tar.gz

一定要按以上順序安裝,解壓縮,生成Makefile,測試,安裝 這樣的步驟來執(zhí)行,命令是:
# tar zxvf xxxxx.tar.gz
# cd xxxxx
# perl Makefile.PL
# make
# make test
# make install
這樣就安裝成功了,注意make test的錯誤提示,如果不是很嚴重的錯誤提示,基本可以忽略繼續(xù)下一步。
三、【配置MogileFS】
以下操作除非明確指定,不然是以root用戶來運行,當(dāng)然,你也可以使用自己的帳戶來執(zhí)行(除了一些特權(quán)操作),另外 10.15.6.28 是本機IP,本試驗只使用了一臺機器。如果配置過程不太順利,請反復(fù)檢查后反復(fù)試驗。
1. 創(chuàng)建數(shù)據(jù)庫(初始化)
可以預(yù)先在數(shù)據(jù)庫服務(wù)器上建立好一個叫做 mogilefs 的數(shù)據(jù)庫,便于進行下面的步驟.
#mogdbsetup –dbhost=10.15.6.28 –dbname=mogilefs –dbuser=root
–dbhost 是數(shù)據(jù)庫主機地址, –dbname是數(shù)據(jù)庫名,–dbuser是訪問該數(shù)據(jù)庫的用戶,如果有密碼請加上–dbpass選項,最好訪問數(shù)據(jù)庫的是超級用戶root或者具 有很高權(quán)限的新建數(shù)據(jù)庫用戶,因為MogileFS需要一些比較高權(quán)限的初始化操作。
2. tracker配置
新建tracker配置文件 /etc/mogilefsd.conf ,寫入以下文件內(nèi)容:(請去掉#后面的注意信息)
db_dsn DBI:mysql:mogilefs #數(shù)據(jù)庫配置
db_user mogile #數(shù)據(jù)庫用戶
db_pass 123123 #數(shù)據(jù)庫密碼
conf_port 6001 #tracker端口
listener_jobs 5
db_dsn指向的是你數(shù)據(jù)庫的位置,如果你數(shù)據(jù)庫不在同一個機器上,請改為:
db_dsn DBI:mysql:mogilefs:127.0.0.1
由于mogilefsd不能用root用戶啟動.所以添加mogile用戶
# adduser mogile
在配置下面以前先啟動 trackers server
# su mogile
# mogilefsd -c /etc/mogilefsd.conf –daemon
3. Storage Server 配置
說明:以下命令假設(shè)你的 Perl 的包文件都在 /usr/lib/perl5/5.8.8 目錄,如果不是,請自行修改。
用mogadm工具將storage server加到數(shù)據(jù)庫中:
# mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=10.15.6.28:6001 host add mogilestorage –ip=10.15.6.28 –port=7500 –status=alive
(由于本文是在一臺機器上配,故trackers的地址和ip地址是一樣的)
用下面命令來檢測是否成功:
# mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=10.15.6.28:6001 host list
加入一個設(shè)備到你的storage server:
# mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=10.15.6.28:6001 device add mogilestorage 1
用下面命令來檢測是否成功:
# mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=10.15.6.28:6001 device list
Device ID 是唯一的,一旦創(chuàng)建將無法刪除,只能mark為dead. 所以,如果你某個磁盤壞了,你mark為dead, 后來又修好了,
那么你必須重新格式化并命名為新的device id, 不支持將device從dead變?yōu)閍live.
新建Storage配置文件: /etc/mogstored.conf 內(nèi)容是: (請去掉#后面的注意信息)
httplisten=0.0.0.0:7500 #HTTP監(jiān)聽端口
mgmtlisten=0.0.0.0:7501 #MongileFS監(jiān)聽端口
docroot=/opt/mogdata #數(shù)據(jù)存儲物理路徑
建立存放數(shù)據(jù)的路徑:(必須使用root權(quán)限才能創(chuàng)建)
# mkdir -p /opt/mogdata/dev1
說明:mogadm 參數(shù)的用法請參考
http://search.cpan.org/~dormando/MogileFS-Utils/mogadm
4. 運行MogileFS
啟動 Storage Server
# mogstored -c /etc/mogstored.conf –daemon
如果沒有啟動Trackers,請啟動 Trackers
# su mogile
$ mogilefsd -c /etc/mogilefsd.conf –daemon
查看你所有的服務(wù)都起來沒有
# ps -ef | grep mogilefsd
# ps -ef | grep mogstored
四、【MogileFS使用測試】
生成domain
# mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=10.15.6.28:6001 domain add testdomain
加一個 class 到domain
# mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=10.15.6.28:6001 class add testdomain testclass
寫一個perl文件試一下test.pl
#=======================================
use MogileFS::Client;
my $mogfs = MogileFS::Client->new(domain=>‘testdomain’, hosts=>['10.0.22.184:6001'], root=>‘/home/xiehl/mogdata’,);
my $fh = $mogfs->new_file(“file_key”, “testclass”);
die $fh unless $fh->print($mogfs->readonly);
my $content = “file.txt”;
@num = $mogfs->store_content(“file_key”,“testclass”,$content);
print
[email=“@num]“@num[/email]
\n”;
my $file_contents = $mogfs->get_file_data(“file_key”);
print “$file_contents \n”;
#$mogfs->delete(”file_key”);
$fh->print($file_contents);
@urls = $mogfs->get_paths(“file_key”);
print
[email=“@urls]“@urls[/email]
\n”;
#=======================================
執(zhí)行腳本
# perl test.pl
本文返回的內(nèi)容是:(可能你返回的內(nèi)容會不同,格式類似就行)
8
SCALAR(0×9ddaaa8)
http://10.15.6.28:7500/dev1/0/000/000/0000000008.fid
在瀏覽器里輸入:
http://10.15.6.28:7500/dev1/0/000/000/0000000008.fid
,將會看到輸出:
file.txt
能夠訪問我們存儲的數(shù)據(jù),配置成功!
五、【附加內(nèi)容】
[ MySQL檢測代碼 ]
如果需要檢測你的DBI和MySQL Client是否安裝正常,可以使用一下數(shù)據(jù)庫測試代碼來檢測能否正常連接到MySQL:
#=======================================
#!/usr/bin/perl
# DBI is perl module used to connect to the database
use DBI;
# hostname or ip of server (for local testing, localhost should work)
$config{’dbServer’} = “l(fā)ocalhost”;
$config{’dbUser’} = “root”;
$config{’dbPass’} = “”;
$config{’dbName’} = “test”;
$config{’dataSource’} = “DBI:mysql:$config{’dbName’}:$config{’dbServer’}”;
# Connect to MySQL
my $dbh = DBI->connect($config{’dataSource’},$config{’dbUser’},$config{’dbPass’}) or
die “Can’t connect to $config{’dataSource’}
$DBI::errstr”;
print “Connected successfully
”;
$dbh->disconnect();
#=======================================
[ 相關(guān)參考 ]
mogilefs 最新版本安裝:
http://www.wuei.net/?p=33
Mogilefs學(xué)習(xí):
http://blog.chifeng.name/?p=220
mogileFS的工作方式:
http://www.sunnyu.com/?p=32
mogileFS分布式文件存儲解決方案:
http://www.sunnyu.com/?p=10
[ 擴展閱讀 ]
編譯mogileFS的php模塊:
http://www.sunnyu.com/?p=78
mogileFS體系結(jié)構(gòu)分析:
http://www.sunnyu.com/?p=31
mogileFS體系結(jié)構(gòu)分析:
http://www.sunnyu.com/?p=30

[/url]


本文來自ChinaUnix博客,如果查看原文請點:[url]http://blog.chinaunix.net/u/249/showart_1953118.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP