分布式存儲 Mogilefs 部署

MogileFS是一個開源的分布式存儲的解決方案,主要工作組件由三部分組成:
Tracker節點:生成映射表存儲于DB,并用于接收客戶端請求,通過查詢數據庫對客戶端提供后端所存儲的真實文件位置
DB節點:主要存儲數據的元數據信息,可以理解為客戶端來獲取數據文件時提供的Key和真實存在存儲里面的文件名的對照表
Storage節點:用于存儲文件的節點。
工作流程,tracker收到客戶端的請求,tracker通過查詢DB節點,將客戶端所請求的文件,對應Storage存儲的位置在返回給客戶端,客戶端在通過拿到的文件名以及文件位置,再去Storage上查找。

實驗環境:

兩臺centos7 其中1臺配置nginx+tracker+db+storage節點,另外一臺只提供Storage。

安裝:

由perl語言開發,未被收錄到base和epel源中,這里我們采取在cpan上安裝。

yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes

先安裝這一堆玩意,以便讓cpan能正確安裝mogilefs

安裝完成后直接執行

cpan MogileFS::Server

分布式存儲 Mogilefs 部署

這里一路回車,然后知道箭頭前兩處,提示是否自動搜索cpan站點,一定要選no 不然得等死,第二個箭頭繼續n 他提示是否提供一些站點我們自行選擇,也可以yes根據提示慢慢選,但是我這里no掉了,下面叫你輸入cpan站點,用的163的cpan鏡像站點,這樣安裝會比較快,然后又是一路回車

接著開始安裝,可以看到他還會自動解決一些依賴關系

分布式存儲 Mogilefs 部署

分布式存儲 Mogilefs 部署

安裝完成過后看到已經有了關于mogilefs的命令了 其中mogilefsd是tracker的啟動命令,mogstored是存儲節點的啟動命令 mogdbsetup是為我們初始化數據庫的。

然后執行

cpan MogileFS::Utils 

安裝mogilefs的管理工具

接著,我們去安裝數據庫,并且授權一個賬號可以訪問,就不演示了。

分布式存儲 Mogilefs 部署

使用mogdbsetup –help可以看到支持的選項

注意 這里我只簡單給了兩個參數,默認會使用root用戶連接localhost去創建數據庫,應該也會創建用戶之前授權白做了,因此如果數據庫單獨提供,并且root有密碼,按上圖的參數寫全即可

接著幾個Y 就可以創建成功了,接著連入數據庫看到給我們驗證是否初始化。

分布式存儲 Mogilefs 部署

接著提供一個配置文件

分布式存儲 Mogilefs 部署

配置文件中提供的指令就不解釋了,基本能見名之意,這里需要提一下,需要注意兩點:

1、mogilefsd 不能以root用戶運行,所以要su到另一個用戶啟動(至于具體為啥,我去找了,沒找到解釋的,應該還是出于安全考慮吧,把權限控制到最小,畢竟生產環境中如果能不用root用戶運行的進程我們都應該不用root運行)

2、mogilefsd啟動時可以用類似–daemon=1 db_user= 。。。來啟動,完全可以不需要配置文件啟動的,另外這里只提供了一些基本的配置指令,具體可以去https://github.com/mogilefs/MogileFS-Server/tree/master/conf  了解。

然后提供storge的配置文件 并啟動服務

分布式存儲 Mogilefs 部署

這里提供了一個http的訪問接口為7500,7501為tracker檢測后端健康狀態的端口,docroot就是我們真是存放數據的位置了。

記得先提供這么一個路徑,否則會啟動不了,接著去配置第二臺storage節點就不演示了和第一個節點一樣(創建的目錄名需要修改一下,在tracker是以全局看的,所有主機的存儲節點應該標識唯一)

分布式存儲 Mogilefs 部署

添加兩個主機

分布式存儲 Mogilefs 部署

添加兩個主機上的設備,這里的設備你可以理解為就是數據存儲的位置

分布式存儲 Mogilefs 部署

出問題了,識別不了空間?。。?!

分布式存儲 Mogilefs 部署

可以了,這里出的問題是啥呢~ 看下面兩張圖就清楚了

分布式存儲 Mogilefs 部署

分布式存儲 Mogilefs 部署

分別是兩個節點上的~ 看出來了么~~ 

一個主機我是修改了stroge配置文件,一個是我在原有目錄上在此新建了一個目錄。

由此可見,創建dev目錄的位置 需要在docroot指的位置下才行~~~~~~~

接著我們就可以嘗試上傳文件了~

分布式存儲 Mogilefs 部署

添加一個域 并列出域的列表。域又是什么呢,你可以理解為之前我們做的添加完設備后,在tracker主機上后,(從tracker主機上看,給了他一個很大的磁盤,它拿來后自己分了區~,可以表明每個域存放內容,比如windows上我們常用的 D盤拿來裝游戲 E盤拿來裝電影~~)上圖的class又是啥呢,他是整個復制環節的最小復制單位,我們可以通過定義他來修改在每一個storage節點上個文件存儲的份數,我們這里就不沒必要設置他了。mindevcount代表存儲的最小份數 2份 ,replpolicy 存儲策略 多主機存儲、hashtype哈希類型 沒有

接著我們測試的話基本設置就完了,現在來提一下我們上面用到的命令 mogadm

分布式存儲 Mogilefs 部署

使用mogadm –help 可以看到許多的子命令,并且后面會有描述,那具體每個命令怎么使用,我們就可以以下圖的示例獲取了

分布式存儲 Mogilefs 部署

現在我們就來上傳一個文件看看吧~

分布式存儲 Mogilefs 部署

此次試驗失敗告終。 兩個節點都可以上傳文件,但始終都只保存一份。

在發現這個問題過后,做了如下檢測

1、授權文件目錄(想來應該不是這個問題 因為本來就能分開存放,只是不能復制)

2、兩個節點存儲目錄相同

3、看進程發現replicate進程只有一個,以為一個進程只能寫一個節點,事實證明錯誤的想法

4、修改存儲份數

5、另起了一個mogilefsd進程,相同問題

6、新建域,新建class

7、時間同步

8、兩節點間可以通過以mogadm host命名的域名訪問

9、終極辦法。。。重啟。。。


問題依舊(怎么會沒日志?。。。。?,網上資料好少,全是安裝,配置的,還都是馬哥提供的rpm包,不得不吐槽下。

空了準備換centos6+cpan安裝,如果還有問題就嘗試用馬哥提供的RPM包了。

另外哪位大神遇到過這問題啊,指點一下。

原創文章,作者:N24_Ghost,如若轉載,請注明出處:http://www.www58058.com/70466

(0)
N24_GhostN24_Ghost
上一篇 2017-03-04 11:41
下一篇 2017-03-05 01:06

相關推薦

  • shell腳本編程之函數、case語句

    一、函數 調用函數前必須先定義,調用時僅使用函數名即可。 語法: function  函數名 {      函數體 } 也可表示為: 函數名 () { 函數體 } 示例:寫一個腳本,判定網絡內有哪些主機在線,在線的用綠色顯示,不在線的用紅示表示: c_net&…

    Linux干貨 2015-08-24
  • 文本處理-vim編輯器

    命令格式、(1)模式、(2)關閉文件、(3)可視化模式、(4)使用多個“窗口”、(5)定制vim的工作特性、(6)示例

    2018-03-13
  • PS進程命令常用選項參數詳解

    PS命令是什么 ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一時間的進程狀態。如果想要不斷更新查看這個狀態,可以配合watch命令或使用top命令。ps命令支持三種使用的語法格式 UNIX 風格:選項可以組合在一起,并且選項前必須有”-“連字符。 BSD 風格 :選項可以組合在一起,但是選項前不能有”-&#822…

    2017-07-09
  • 網絡班N22期第七周博客作業

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;     [root@bogon ~]# fdisk /dev/sde   &nb…

    Linux干貨 2016-10-17
  • 單用戶模式破解密碼與密碼的加密

    當你坐在一臺CentOS 6主機前,但是卻不知道密碼,要怎樣破解掉密碼進入系統呢? 答案很簡單: 1、啟動系統,當出現如下界面時,按任意鍵 2、你會看到這個畫面 3、敲擊“a”鍵,執行modifiy the kernel arguments 4、鍵入“1”鍵,進入單用戶模式 5、至此,你已經成功進入系統,并修改了密碼! 是不是覺得Centos6的系統這樣安全…

    Linux干貨 2016-09-13
  • 一鍵搭建mysql集群系列一

    一鍵自動安裝mysql 5.7 shell腳本自動化安裝二進制mysql-5.7 本節主要用到四個shell腳本 和 一臺資料存儲機器(IP:192.168.42.26) install_mysql.sh 自動化安裝mysql腳本 ntpdate.sh 時間同步腳本 system_init.sh 系統初始化腳本 yum.sh yum源配置腳本 執行步驟: 1…

    2017-05-13

評論列表(4條)

  • 馬哥教育
    馬哥教育 2017-03-13 23:30

    雖然文章中實驗失敗了,但還是給個~~最后的總結很好~有時間再來一次~~加油!

  • yhy1271927580
    yhy1271927580 2017-05-03 23:23

    為什么會出現Malformed config file (line 2) at /usr/local/share/perl5/MogileFS/Config.pm line 136, line 2. 錯誤,啟動mogilefsd的時候就總是這樣,請問碰到了這個問題嗎

    • N24_Ghost
      N24_Ghost 2017-05-04 09:50

      @yhy1271927580
      看提示應該是你啟動的時候配置文件指的是這個文件,但是這個文件的 136和第二行有錯誤。

    • yhy1271927580
      yhy1271927580 2017-05-04 14:08

      @N24_Ghost遇到了跟你一樣的問題,我檢查了目錄權限,mogs用戶可以寫入數據,請求你的這個問題解決了嗎

欧美性久久久久