-------------------一、mogilefs服務初始化&創建tracker----------------------
①數據庫授權
GRANT ALL PRIVILEGES ON *.* TO 'mogile' @'127.0.0.1' IDENTIFIED BY 'mogile' WITH GRANT OPTION;
②設定數據庫:
mogdbsetup --help
mogdbsetup --dbhost=127.0.0.1 --dbpass=mogile
用戶名默認爲:mogile
進入MySQL,看到數據庫mogilefs已經創建,表也存在,但爲空表,因爲還沒有開始設置。
【③添加運行用戶
useradd -r mogilefs
mkdir /var/run/mogilefsd/
chown -R mogilefs.mogilefs /var/run/mogilefsd #yum安裝的話已經完成】
可以省略
④修改主配置文件:
vim /etc/mogilefs/mogilefsd.conf
db_user = mogile
db_pass = mogile
listen = 172.17.250.109:7001
⑤啓動服務 (tracker 服務爲 mogilefsd ) (storage服務爲mogstored)
/etc/init.d/mogstored start
⑥查看tracker:
[root@master bin]# mogadm --tracker=172.17.250.109:7001 check
Checking trackers...
172.17.250.109:7001 ... OK
Checking hosts...
No devices found on tracker(s).
-----------------------二、創建storage1、storage2---------------------
storage1、2均執行以下操作:
①mkdir /data/mogdata -p
② chown mogilefs.mogilefs mogdata/ -R
③vim /etc/mogilefs/mogstored.con
docroot =/data/mogdata
④/etc/init.d/mogstored start
-------------------------三、將tracker和storage1、2連接--------------------
基於實驗一實驗二
tracker執行操作:
1、MogileFS 中的存儲主機(節點)管理
加入“存儲節點”到 trackers 中.告訴註冊自己到 trackers.相當於爲每個主機加入 MogileFS
(1)在tracker中添加node1、node2
①mogadm --tracker=172.17.250.109:7001 host add node1 --ip=172.17.250.11 --port=7500 --status=alive
②mogadm --tracker=172.17.250.109:7001 host add node2 --ip=172.17.250.127--port=7500 --status=alive
③測試是否成功連接:
語法:mogadm host list #檢查這個主機是否加入到 MogileFS 的系統中
方法一:
mogadm --tracker=172.17.250.109:7001 check
方法二:
vim /etc/mogilefs/mogilefs.conf
trackers=172.17.250.109:7001
mogadm check
方法三:
mogadm --tracker=172.17.250.109:7001 host list #查看各節點的狀態(更詳細)
storage執行操作:
建一個目錄 ( 並且需要 mount 一個硬盤給這個目錄 ) 給這個"設備" 使用,
storage1:
cd /data/mogdata/
mkdir dev1
chown mogilefs.mogilefs dev1/ -R
storage2:
cd /data/mogdata/
mkdir dev1
chown mogilefs.mogilefs dev1/ -R
tracker執行操作:
①給"設備"加入”存儲的節點“當中,相當於爲每個設備加入 MogileFS 的存儲系統
mogadm --tracker=172.17.250.109:7001 device add node1 1
mogadm --tracker=172.17.250.109:7001 device add node2 2
②檢查:mogadm check
tracker登錄數據庫,查看mogilefs數據庫下的表,已經存在內容。
storage執行操作:
storage查看:
storage1:
cd /data/mogdata/dev1
ls
cd test-write/
storage2:同上
----------------------四:添加域---------------------------
①mogadm domain add img
② mogadm domain list
③ mogadm class add img m26 --mindevcount=3
------------------五:測試:上傳、下載文件-------------------------
測試上傳下載功能
tracker執行操作:
①從電腦上上傳圖片:rz ——1.jpg
②上傳文件:
mogupload --domain=img --key=test --file=1.jpg
③去storage1查看:dev1下只有原來的目錄,沒有新增。【有bug,不能添加】
去storage2查看:dev2下有新增目錄:0,查找到有文件:0000000002.fid
將0000000002.fid導出到電腦,sz,修改後綴名,然後查看,爲原圖。
④tracker查看數據庫,test和0000000002.fid
查看文件:mogfileinfo --domain=img --key=test
從中得到該圖片文件的網絡IP,瀏覽器連接顯示原圖。
⑤刪除文件:mogdelete --domain=img --key=test
storage2的000下沒有文件0000000002.fid
※【刪除文件後,讀寫功能受影響,但老的請求還存在,不受影響,新的請求不能實現】如下所示:
A、重新上傳文件1.jpg:mogupload --domain=img --key=test --file=1.jpg
查看發現:storage2的000下沒有新增文件;
storage2的dev1下新增目錄0,
/data/mogdata/dev1/0/000/000下新增文件:0000000003.fid
瀏覽器查看到原圖。
B、可以標記下限【可以讀,不能寫】
mogadm host mark node1 down
mogfileinfo --domain=img --key=test
瀏覽器任然可以訪問——可以讀,節點存在。
C、再上傳一張圖片
mogupload --domain=img --key=test1 --file=2.jpg
查看storage1的0下,沒有新增文件——新的寫無法寫入。
查看storage2的0下,有新增文件:0000000005.fid
D、取消下限
mogadm host mark node1 alive
上傳圖片:mogupload --domain=img --key=test --file=2.jpg
storage1下新增文件/dev1/0/000/000/0000000006.fid
瀏覽器訪問出現新文件圖片。