注意,下面的包是center7版本的
.yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO
下載軟件包,附件裏有如下是包的內容
https://pan.baidu.com/s/1NWQwvOMw6gvFCH_Po5v9Nwmysql
MogileFS-Server-2.46-2.el7.centos.noarch.rpm #核心服務 MogileFS-Server-mogilefsd-2.46-2.el7.centos.noarch.rpm #tracker節點 MogileFS-Server-mogstored-2.46-2.el7.centos.noarch.rpm #storage節點 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 到文件夾裏 執行 yum localinstall ./* -y #每一個節點都安裝nginx
在192.168.1.31 把mysql安裝完畢,並建立庫mogilefs ,在建立用戶mogilefs@192.168.%.% ,賦予mogilefs庫徹底的控制的權限,建立完成最好在192.168.1.13 用mysql -h 測試下,登陸進去看看有沒有mogilefs庫。sql
mogdbsetup --dbuser mogilefs --dbpass 123456 --dbhost=192.168.1.31
#有其餘參數的可用 mogdbsetup --help 查看幫助數據庫
vim /etc/mogilefs/mogilefsd.conf #修改tracker的配置文件,控制器vim
db_dsn = DBI:mysql:mogilefs:host=192.168.1.31 #數據庫地址 db_user = mogilefs #數據庫帳號 db_pass = 123456 #數據庫密碼 listen = 192.168.1.13:7001 #mogilefs監聽的ip和端口
service mogilefsd start #啓動tracker服務
netstat -nltp 查看7001端口是否被監聽centos
maxconns = 10000 #最大併發鏈接
httplisten = 0.0.0.0:7500 #監聽的端口
mgmtlisten = 0.0.0.0:7501 #管理命令監聽的端口
docroot = /date/ #存儲的目錄,現實建議用單獨的存儲盤
mkdir /data/ #建立文件夾
chown -R mogilefs.mogilefs /data/ #更改屬主
service mogstored start #啓動storage服務
netstat -nltp 查看7500 7501端口是否被監聽瀏覽器
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 這裏指明控制節點,有多個用,隔開 ,每一個節點都要加
mogadm --trackers=192.168.1.13:7001 check #查看添加的節點併發
mkdir /data/dev13 #在三個主機上建立三個目錄dev1三、dev1四、dev21作爲存儲設備,後面數字是id 必須惟一,建議用ip最後一位
chown -R mogilefs:mogilefs /data/ #新建立的目錄屬主是root的,要把它改回來
8.在mogilefs控制節點添加存儲設備(192.168.1.13)
mogadm --trackers=192.168.1.13:7001 device add 192.168.1.13 13 ##每一個都要作dom
mogadm --trackers=192.168.1.13:7001 domain add yangzai ##建立一個 yangzai 的名稱空間
mogadm --trackers=192.168.1.13:7001 class add yangzai jpg --mindevcount=2
#在yangzai域建立了一個 jpg類,並指定最小的副本數量爲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一下分佈式
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便可
#在瀏覽器裏輸入,紅框裏的url,便可看到圖片
yum groupinstall "Development Tools" "Server Platform Deveopment" -y
yum install openssl-devel pcre-devel -y
#安裝編譯環境
cd 到nginx 編譯目錄 執行如下命令
./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 #添加的第三方模塊,實現直接使用key做爲uri進行訪問
中間可能報錯 vim /vim objs/Makefile
把 -Werror 這個字段刪除便可
make && make install #安裝
mkdir -pv /var/tmp/nginx/client/ ##建立文件夾,不然nginx啓動會報錯
vim /etc/nginx/nginx.conf
upstream images { #建立訪問組 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; } }
mogilefs默認是會至少有一個副本,而center7 不會複製副本
緣由是有一個插件有BUG,須要降級
yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes ##編譯環境
wget http://pkgs.fedoraproject.org/repo/pkgs/perl-Sys-Syscall/Sys-Syscall-0.23.tar.gz/be6dc2d791684a6f8abb3dd39ff2d1de/Sys-Syscall-0.23.tar.gz
三個節點都要編譯安裝,並重啓 再看下已經有兩個文件了
service mogilefsd start (stop)#啓動 關閉tracker服務 控制端 service mogstored start (stop)#啓動 關閉storage服務 存儲端 mogadm --trackers=192.168.1.13:7001 check #查看添加的節點 mogadm --trackers=192.168.1.13:7001 domain list #查看名稱空間 mogfileinfo --tracker=192.168.1.13:7001 --domain=yangzai --key=111 #查看文件