溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mogilefs 分布式存儲

發(fā)布時間:2020-07-03 22:49:52 來源:網(wǎng)絡 閱讀:311 作者:wx5a98a78793203 欄目:系統(tǒng)運維

1.先安裝環(huán)境包

注意,下面的包是center7版本的
.yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO
下載軟件包,附件里有以下是包的內(nèi)容
https://pan.baidu.com/s/1NWQwvOMw6gvFCH_Po5v9Nw

MogileFS-Server-2.46-2.el7.centos.noarch.rpm #核心服務 
MogileFS-Server-mogilefsd-2.46-2.el7.centos.noarch.rpm #tracker節(jié)點 
MogileFS-Server-mogstored-2.46-2.el7.centos.noarch.rpm #storage節(jié)點 
MogileFS-Utils-2.19-1.el7.centos.noarch.rpm #mogilefs的一些管理工具,如mogadm 
perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm #依賴包 
perl-MogileFS-Client-1.14-1.el7.centos.noarch.rpm 
perl-Perlbal-1.78-1.el6.noarch.rpm
nginx_mogilefs_module-1.0.4.tar.gz #ngingx 連接mogilefs模塊
nginx-1.16.1.tar.gz  #nginx 編譯包

直接cd 到文件夾里 執(zhí)行 yum localinstall ./* -y #每個節(jié)點都安裝

2安裝mysql 并創(chuàng)建數(shù)據(jù)庫(192.168.1.31 節(jié)點)

在192.168.1.31 把mysql安裝完畢,并創(chuàng)建庫mogilefs ,在創(chuàng)建用戶mogilefs@192.168.%.% ,賦予mogilefs庫完全的控制的權限,創(chuàng)建完成最好在192.168.1.13 用mysql -h 測試下,登錄進去看看有沒有mogilefs庫。

3.初始化數(shù)據(jù)庫

mogdbsetup --dbuser mogilefs --dbpass 123456 --dbhost=192.168.1.31
#有其他參數(shù)的可用 mogdbsetup --help 查看幫助

4.配置mogilefs控制器 并啟動 (192.168.1.13節(jié)點)

vim /etc/mogilefs/mogilefsd.conf #修改tracker的配置文件,控制器

db_dsn = DBI:mysql:mogilefs:host=192.168.1.31 #數(shù)據(jù)庫地址
db_user = mogilefs   #數(shù)據(jù)庫賬號
db_pass = 123456   #數(shù)據(jù)庫密碼
listen = 192.168.1.13:7001  #mogilefs監(jiān)聽的ip和端口

service mogilefsd start #啟動tracker服務
netstat -nltp 查看7001端口是否被監(jiān)聽

5.配置storage(存儲節(jié)點)(192.168.1.13,192.168.1.14,192.168.1.21)

maxconns = 10000 #最大并發(fā)連接
httplisten = 0.0.0.0:7500 #監(jiān)聽的端口
mgmtlisten = 0.0.0.0:7501 #管理命令監(jiān)聽的端口
docroot = /date/ #存儲的目錄,現(xiàn)實建議用單獨的存儲盤
mkdir /data/ #創(chuàng)建文件夾
chown -R mogilefs.mogilefs /data/ #更改屬主
service mogstored start #啟動storage服務
netstat -nltp 查看7500 7501端口是否被監(jiān)聽

6.在控制節(jié)點上添加存儲節(jié)點(192.168.1.13)

mogadm --trackers=192.168.1.13:7001 host add 192.168.1.14 --ip=192.168.1.14 --port=7500 --status=alive
#--trackers=192.168.1.13:7001 這里指明控制節(jié)點,有多個用,隔開 ,每個節(jié)點都要加
mogadm --trackers=192.168.1.13:7001 check #查看添加的節(jié)點
mogilefs 分布式存儲

7.創(chuàng)建存儲設備(192.168.1.13,192.168.1.14,192.168.1.21)

mkdir /data/dev13 #在三個主機上創(chuàng)建三個目錄dev13、dev14、dev21做為存儲設備,后面數(shù)字是id 必須唯一,建議用ip最后一位
chown -R mogilefs:mogilefs /data/ #新創(chuàng)建的目錄屬主是root的,要把它改回來
8.在mogilefs控制節(jié)點添加存儲設備(192.168.1.13)
mogadm --trackers=192.168.1.13:7001 device add 192.168.1.13 13 ##每個都要做
mogilefs 分布式存儲

9.創(chuàng)建域(名稱空間)和類(192.168.1.13)

mogadm --trackers=192.168.1.13:7001 domain add yangzai ##創(chuàng)建一個 yangzai 的名稱空間
mogadm --trackers=192.168.1.13:7001 class add yangzai jpg --mindevcount=2
#在yangzai域創(chuàng)建了一個 jpg類,并指定最小的副本數(shù)量為2,默認就是2個
mogadm --trackers=192.168.1.13:7001 class add yangzai txt --mindevcount=3
mogadm --trackers=192.168.1.13:7001 domain list ##look一下
mogilefs 分布式存儲

10.上傳圖片數(shù)據(jù),并查看

mogupload --tracker=192.168.1.13:7001 --domain=yangzai --class=jpg --key=111 --file=/root/111.png
#上傳圖片 指定域,類,id,路徑
mogfileinfo --tracker=192.168.1.13:7001 --domain=yangzai --key=111
#查看文件,指定域,和id即可
mogilefs 分布式存儲
#在瀏覽器里輸入,紅框里的url,即可看到圖片

11.編譯安裝nginx反代過去

yum groupinstall "Development Tools" "Server Platform Deveopment" -y
yum install openssl-devel pcre-devel -y
#安裝編譯環(huán)境
cd 到nginx 編譯目錄 執(zhí)行以下命令
./configure \
--prefix=/usr/local/nginx \
--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 #添加的第三方模塊,實現(xiàn)直接使用key作為uri進行訪問
中間可能報錯 vim /vim objs/Makefile
把 -Werror 這個字段刪除即可
mogilefs 分布式存儲
make && make install #安裝
mkdir -pv /var/tmp/nginx/client/ ##創(chuàng)建文件夾,否則nginx啟動會報錯
vim /etc/nginx/nginx.conf

 upstream images {   #創(chuàng)建訪問組
      server 192.168.1.13:7001;
       server 192.168.1.14:7001;
      server 192.168.1.21:7001;
    }

server {
        listen       80;
        server_name  localhost;
          location /jpg/ {    ##匹配到/jpg/ 就轉給 yangzai名稱空間的文件,以key為id訪問
            mogilefs_tracker images;
            mogilefs_domain yangzai;
            mogilefs_methods GET;
            mogilefs_noverify on;
            mogilefs_pass {
                proxy_pass $mogilefs_path;
                proxy_hide_header Content-Type;
                proxy_buffering off;
            }
        }

        location   /txt {
            mogilefs_tracker images;
            mogilefs_domain yangzai;
            mogilefs_methods GET;
            mogilefs_noverify on;
            mogilefs_pass {
                proxy_pass $mogilefs_path;
                proxy_hide_header Content-Type;
                proxy_buffering off;
            }
        }

12.用瀏覽訪問

mogilefs 分布式存儲

13.BUG解決

mogilefs默認是會至少有一個副本,而center7 不會復制副本
原因是有一個插件有BUG,需要降級
yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes ##編譯環(huán)境
wget http://pkgs.fedoraproject.org/repo/pkgs/perl-Sys-Syscall/Sys-Syscall-0.23.tar.gz/be6dc2d791684a6f8abb3dd39ff2d1de/Sys-Syscall-0.23.tar.gz

mogilefs 分布式存儲
三個節(jié)點都要編譯安裝,并重啟 再看下已經(jīng)有兩個文件了
mogilefs 分布式存儲

14.mogilefs常用命令

service mogilefsd start (stop)#啟動 關閉tracker服務 控制端
service mogstored start (stop)#啟動 關閉storage服務 存儲端
mogadm --trackers=192.168.1.13:7001 check #查看添加的節(jié)點
mogadm --trackers=192.168.1.13:7001 domain list #查看名稱空間
mogfileinfo --tracker=192.168.1.13:7001 --domain=yangzai --key=111 #查看文件
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI