mogilefs的配置安裝

一、分佈式存儲
CAP理論
2PC
BASE
ACID
強一致性、弱一致性
二、mogilefs
Trackers
mogilefsd即 trackers程序,trackers做了很多工作,Replication ,Deletion,Query,Reaper,Monitor等等。mogadm,mogtool的所有操作都要跟trackers打交 道,Client的一些操作也需要定義好trackers,因此最好同時運行多個trackers來做負載均衡
Stored
mogstored 程序的啓動將使本機成爲一個存儲節點。啓動時默認去讀/etc/mogilefs/mogstored.conf 。mogstored啓動後,便可以通過mogadm增加這臺機器到cluster中
Database
數據庫保存了Mogilefs的所有元數據,單點所在,最好HA
每次文件的上傳和讀取,都經過前端Trackers服務器,trackers服務器收到client端的請求,查詢database,返回一個上傳或者是讀取的可用的後端StorageNode的地址,然後由client端直接操作後端StorageNode服務器。upload操作返回就是成功或者失敗的結果,read操作就是返回對應的查詢數據。
domain及class
三、mogilefs的安裝、配置
tracers監聽在7001 stored監聽在7500,7501
1)創建數據庫、創建用戶、授權訪問

mysql> CREATE DATABASE mogilefs;
mysql> CREATE USER mfs ;
mysql> GRANT ALL ON mogilefs.* to 'mfs'@'192.168.0.%' IDENTIFEID BY 'smile';
mysql> FLUSH PRIVILEGES;

2)安裝mogilefs
使用馬哥的rpm包直接安裝所有的rpm包,單獨安裝時可能出錯
3)配置mogilefs
修改配置文件
/etc/moglife/mogfilefsd

db_dsn = DBI:mysql:mogilefs:host=192.168.0.204
db_user = mfs
db_pass = smile
listen = 0.0.0.0:7001

/etc/mogilefs/mogstored

maxconns = 10000
httplisten = 0.0.0.0:7500
mgmtlisten = 0.0.0.0:7501
docroot = /data/mfs

mkdir -pv /data/mfs/dev1 #dev1特定格式,在添加設備時使用
chown -R mogilefs.mogilefs /data/mfs
安裝數據庫

mogdbsetup --dbhost=192.168.0.204 --dbuser=mfs --dbpass=smile --dbname=mogilefs

啓動mogfilefsd和mogstored,查看監聽,如果mogstored沒有監聽,查看是否安裝 perl-IO-AIO

service mogilefsd start
service mogstored start

增加主機

mogadm --trackers 192.168.0.202:7001 host add node3 --ip=192.168.0.203 --status=alive

增加設備

mogadm device add node3 2

增加domain

mogadm domain add files

增加class
mogadm class add files test --mindevcount=1
上傳測試

 mogupload --trackers=192.168.0.202 --domain=files --key='fstab.html' --file='/etc/fstab'

信息查詢

mogfileinfo  --trackers=192.168.0.202 --domain=files --key='fstab.html'

四、nigix的反代
編譯安裝nginx,增加模塊nginx_mogilefs_module

groupadd -r nginx
useradd -r -g nginx nginx
yum install gcc gcc-c++ autoconf automake make zlib zlib-devel openssl openssl-devel  pcre pcre-devel
./configure   --prefix=/usr   --sbin-path=/usr/sbin/nginx   --conf-path=/etc/nginx/nginx.conf   --error-log-path=/var/log/nginx/error.log   --http-log-path=/var/log/nginx/access.log   --pid-path=/var/run/nginx/nginx.pid    --lock-path=/var/lock/nginx.lock   --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module   --with-http_stub_status_module   --with-http_gzip_static_module   --http-client-body-temp-path=/var/tmp/nginx/client/   --http-proxy-temp-path=/var/tmp/nginx/proxy/   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi   --http-scgi-temp-path=/var/tmp/nginx/scgi   --with-pcre   --with-debug   --add-module=/root/nginx_mogilefs_module-1.0.4
make&&make install

配置nginx
`` location / {

    mogilefs_tracker 192.168.0.202:7001;
    mogilefs_domain files;
    mogilefs_methods get;

    mogilefs_pass {
    proxy_pass $mogilefs_path;
    proxy_hide_header Content-Type;
    proxy_buffering off;
    }

    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章