版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、mogileFS安裝配置mogileFS安裝配置 2011年09月30日一、【理論知識】 MogileFS 是一個分布式文件存儲的解決方案,它能夠做到不需要特殊的核心組件、無單點(diǎn)失敗、自動的文件復(fù)制、比RAID好多了、傳輸中立,無特殊協(xié)議(客戶端可以通過NFS或 來和MogileFS通信)、簡單的命名空間、不用共享任何東西、不需要RAID、不會碰到文件系統(tǒng)本身的不可知情況 等等優(yōu)點(diǎn)。 相關(guān)知識和安裝方面的問題可以去看官方的wiki: :/mogilefs.pbwiki /。(有可能被GFW了,請使用代理或者安裝一個Firefox的gladder插件來訪問) Mogilefs分為幾部分 1. 數(shù)
2、據(jù)庫(MySQL)部分 你可以用mogdbsetup程序來初始化數(shù)據(jù)庫。數(shù)據(jù)庫保存了Mogilefs的所有元數(shù)據(jù),你可以單獨(dú)拿數(shù)據(jù)庫服務(wù)器來做,也可以跟其他程序跑在一起,數(shù)據(jù)庫部分非常重要,類似郵件系統(tǒng)的認(rèn)證中心那么重要,如果這兒掛了,那么整個Mogilefs將處于不可用狀態(tài)。因此最好是HA結(jié)構(gòu)。 2. 存儲節(jié)點(diǎn) mogstored程序的啟動將使本機(jī)成為一個存儲節(jié)點(diǎn)。啟動時(shí)默認(rèn)去讀/etc/mogilefs/mogstored.conf ,具體配置可以參考配置部分。mogstored啟動后,便可以通過mogadm增加這臺機(jī)器到cluster中。一臺機(jī)器可以只運(yùn)行一個 mogstored作為存儲
3、節(jié)點(diǎn)即可,也可以同時(shí)運(yùn)行其他程序。 3. trackers(跟蹤器) mogilefsd即trackers程序,類似mogilefs的wiki上介紹的,trackers做了很多工作,Replication ,Deletion,Query,Reaper,Monitor等等。mogadm,mogtool的所有操作都要跟trackers打交道,Client的一些操作也需要定義好trackers,因此最好同時(shí)運(yùn)行多個trackers來做負(fù)載均衡。trackers也可以只運(yùn)行在一臺機(jī)器上,也可以跟其他程序運(yùn)行在一起,只要你配置好他的配置文件即可,默認(rèn)在/etc/mogilefs/mogilefsd.co
4、nf。 4. 工具 主要就是mogadm,mogtool這兩個工具了,用來在命令行下控制整個mogilefs系統(tǒng)以及查看狀態(tài)等等。 5. Client Client實(shí)際上是一個Perl的pm,可以寫程序調(diào)用該pm來使用mogilefs系統(tǒng),對整個系統(tǒng)進(jìn)行讀寫操作。 概念定義 可以參考官方wiki的這兒,簡單說一下 domain:最高域,在一個域下key是唯一的。 class:包含在domain中,可以針對每一個class定義保存的份數(shù)。 key:對文件的唯一標(biāo)識。 file:文件。 適用性 由于Mogilefs不支持對一個文件的隨機(jī)讀寫,因此注定了只適合做一部分應(yīng)用。比如圖片服務(wù),靜態(tài)HTML
5、服務(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,不然可能安裝會有問題,另外,本文所有操作都是在一臺機(jī)器上完成,可能多臺機(jī)器上稍微有些不同,請自行調(diào)整 MySQL 安裝前請安裝好MySQL,如果MySQL Server和MogileFS不是一臺機(jī)器,請?jiān)贛ogileFS機(jī)器安裝好MySQL Client,本文假設(shè)MySQL Client安裝在:/usr/local/mysql 目錄,安裝完客戶端后
6、請建立一個軟鏈接: ln -s /usr/local/mysql/lib/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15 Perl包安裝 因?yàn)镸ogileFS需要使用很多相關(guān)的Perl包,請逐一按照一下次序安裝,本文采用的是比較笨,比較簡單的安裝方法,逐個把包下載回來本機(jī)手工安裝,沒有使用cpan的包安裝方式。 要下載包,請?jiān)?:/中輸入包名,然后下載,一般提供的是最新版,如果版本跟下面不一致,請以最新版為準(zhǔn)。 為方便使用,本文包下載地址列表:(不保證您閱讀本文的時(shí)候有效) 包安裝次序:(務(wù)必按照本次序進(jìn)行)
7、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.07tar.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
8、有可能會有一個錯誤,不用管它 DBI-1.607.tar.gz DBD-mysql-4.008.tar.gz #以下命令假設(shè)MySQL服務(wù)器是在本機(jī) 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
9、-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的錯誤提示,如果不是很嚴(yán)重的錯誤提示,基本可以忽略繼續(xù)下一步。 三、【配置MogileFS】 以下
10、操作除非明確指定,不然是以root用戶來運(yùn)行,當(dāng)然,你也可以使用自己的帳戶來執(zhí)行(除了一些特權(quán)操作),另外 8 是本機(jī)IP,本試驗(yàn)只使用了一臺機(jī)器。如果配置過程不太順利,請反復(fù)檢查后反復(fù)試驗(yàn)。 1. 創(chuàng)建數(shù)據(jù)庫(初始化) 可以預(yù)先在數(shù)據(jù)庫服務(wù)器上建立好一個叫做 mogilefs 的數(shù)據(jù)庫,便于進(jìn)行下面的步驟. #mogdbsetup -dbhost=8 -dbname=mogilefs -dbuser=root -dbhost 是數(shù)據(jù)庫主機(jī)地址, -dbname是數(shù)據(jù)庫名,-dbuser是訪問該數(shù)據(jù)庫的用戶,如果有密碼請加上-dbpass選項(xiàng),最好訪問數(shù)據(jù)庫
11、的是超級用戶root或者具有很高權(quán)限的新建數(shù)據(jù)庫用戶,因?yàn)镸ogileFS需要一些比較高權(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ù)庫不在同一個機(jī)器上,請改為: db_dsn DBI:mysql:m
12、ogilefs: 由于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
13、 -trackers=8:6001 host add mogilestorage -ip=8 -port=7500 -status=alive (由于本文是在一臺機(jī)器上配,故trackers的地址和ip地址是一樣的) 用下面命令來檢測是否成功: # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 host list 加入一個設(shè)備到你的storage server: # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 de
14、vice add mogilestorage 1 用下面命令來檢測是否成功: # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 device list Device ID 是唯一的,一旦創(chuàng)建將無法刪除,只能mark為dead. 所以,如果你某個磁盤壞了,你mark為dead, 后來又修好了, 那么你必須重新格式化并命名為新的device id, 不支持將device從dead變?yōu)閍live. 新建Storage配置文件: /etc/mogstored.conf 內(nèi)容是: (請去掉#后面的注意信息) listen=0.0.0
15、.0:7500 # 監(jiān)聽端口 mgmtlisten=:7501 #MongileFS監(jiān)聽端口 docroot=/opt/mogdata #數(shù)據(jù)存儲物理路徑 建立存放數(shù)據(jù)的路徑:(必須使用root權(quán)限才能創(chuàng)建) # mkdir -p /opt/mogdata/dev1 說明:mogadm 參數(shù)的用法請參考 ://dormando/MogileFS-Utils/mo gadm 4. 運(yùn)行MogileFS 啟動 Storage Server # mogstored -c /etc/mogstored.conf -daemon 如果沒有啟動Trackers,
16、請啟動 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=8:6001 domain add testdomain 加一個 class 到domain # mogadm -lib=/usr/lib/perl5/5.8.8 -tra
17、ckers=8:6001 class add testdomain testclass 寫一個perl文件試一下test.pl 1. #= 2. use MogileFS:Client; 3. my $mogfs = MogileFS:Client->new(domain=>'testdomain', hosts=>'84:6001', root=>'/home/xiehl/mogdata',); 4. my $fh = $mogfs->new_file("file_ke
18、y", "testclass"); 5. die $fh unless $fh->print($mogfs->readonly); 6. my $content = "file.txt" 7. num = $mogfs->store_content("file_key","testclass",$conte nt); 8. print "num n" 9. my $file_contents = $mogfs->get_file_data("file_
19、key"); 10. print "$file_contents n" 11. #$mogfs->delete("file_key"); 12. $fh->print($file_contents); 13. urls = $mogfs->get_paths("file_key"); 14. print "urls n" 15. #= 執(zhí)行腳本 # perl test.pl 本文返回的內(nèi)容是:(可能你返回的內(nèi)容會不同,格式類似就行) 8 SCALAR(0×9ddaaa8) :/8:7500/dev1/0/000/000/0000000008.f id 在瀏覽器里輸入: :/8:7500/dev1/0/000/000/0000000008.f id,將會看到輸出: file.txt 能夠訪問我們存儲的數(shù)據(jù),配置成功! 五、【附加內(nèi)容】 MySQL檢測代碼 如果需要檢測你的DBI和MySQL Client是否安裝正常,可以使用一下數(shù)據(jù)庫測試代碼來檢測能否正常連接到MySQL: 1. #= 2. #!/usr/bin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度住宅拆除及土地平整合同范本4篇
- 二零二五版公司員工授權(quán)委托書范本3篇
- 2025年中國弧焊機(jī)行業(yè)發(fā)展運(yùn)行現(xiàn)狀及發(fā)展趨勢預(yù)測報(bào)告
- 2025版城市綠化項(xiàng)目水土保持技術(shù)服務(wù)合同3篇
- 二零二四年份文化旅游推廣與策劃合同
- 2025年科技園區(qū)項(xiàng)目股權(quán)轉(zhuǎn)讓與高新技術(shù)產(chǎn)業(yè)合作合同
- 2025-2031年中國AR購物行業(yè)市場需求預(yù)測及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025年針織毯子項(xiàng)目可行性研究報(bào)告
- 2025版園林景觀樹木銷售合同范本大全3篇
- 2025年圣果多肽膠囊項(xiàng)目可行性研究報(bào)告
- 垃圾處理廠工程施工組織設(shè)計(jì)
- 天皰瘡患者護(hù)理
- 2025年蛇年新年金蛇賀歲金蛇狂舞春添彩玉樹臨風(fēng)福滿門模板
- 四川省成都市青羊區(qū)石室聯(lián)中學(xué)2024年八年級下冊物理期末學(xué)業(yè)水平測試試題含解析
- 門診導(dǎo)醫(yī)年終工作總結(jié)
- 新生物醫(yī)藥產(chǎn)業(yè)中的人工智能藥物設(shè)計(jì)研究與應(yīng)用
- 損失補(bǔ)償申請書范文
- 壓力與浮力的原理解析
- 鐵路損傷圖譜PDF
- 裝修家庭風(fēng)水學(xué)入門基礎(chǔ)
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)二 社群的種類與維護(hù)
評論
0/150
提交評論