mogilefs 分布式存储
admin
2023-03-10 15:02:33
0

1.先安装环境包

注意,下面的包是center7版本的
.yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO
下载软件包,附件里有以下是包的内容
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节点 
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 #每个节点都安装

2安装mysql 并创建数据库(192.168.1.31 节点)

在192.168.1.31 把mysql安装完毕,并创建库mogilefs ,在创建用户mogilefs@192.168.%.% ,赋予mogilefs库完全的控制的权限,创建完成最好在192.168.1.13 用mysql -h 测试下,登录进去看看有没有mogilefs库。

3.初始化数据库

mogdbsetup --dbuser mogilefs --dbpass 123456 --dbhost=192.168.1.31
#有其他参数的可用 mogdbsetup --help 查看帮助

4.配置mogilefs控制器 并启动 (192.168.1.13节点)

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

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端口是否被监听

5.配置storage(存储节点)(192.168.1.13,192.168.1.14,192.168.1.21)

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端口是否被监听

6.在控制节点上添加存储节点(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 这里指明控制节点,有多个用,隔开 ,每个节点都要加
mogadm --trackers=192.168.1.13:7001 check #查看添加的节点
mogilefs 分布式存储

7.创建存储设备(192.168.1.13,192.168.1.14,192.168.1.21)

mkdir /data/dev13 #在三个主机上创建三个目录dev13、dev14、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 ##每个都要做
mogilefs 分布式存储

9.创建域(名称空间)和类(192.168.1.13)

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一下
mogilefs 分布式存储

10.上传图片数据,并查看

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
#安装编译环境
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 这个字段删除即可
mogilefs 分布式存储
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;
            }
        }

12.用浏览访问

mogilefs 分布式存储

13.BUG解决

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

mogilefs 分布式存储
三个节点都要编译安装,并重启 再看下已经有两个文件了
mogilefs 分布式存储

14.mogilefs常用命令

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 #查看文件

相关内容

热门资讯

浙江人形与杰克科技签约2000... 来源:上海证券报·中国证券网 上证报中国证券网讯(记者 王子霖)据浙江人形机器人创新中心有限公司(以...
原创 三... 不出意外的话,今年苹果,高通、三星,联发科,这4家确定会推出2nm的手机芯片。 并且高通、联发科、苹...
Kimi、阶跃再获百亿融资,D... 图片由AI生成 出品 | 搜狐科技 作者 | 梁昌均 编辑 | 杨锦 中国大模型创业公司再次迎来融资...
“我妈有俩老公”?OPPO活该... 5月8日,OPPO官方微博发布了一条关于母亲节的宣发文案,内容因表述问题,引起热议。 相关话题“...
他,扛起又一个任正非时刻! 奔赴一场新的长征。 文 | 华商韬略 张静波 黄仁勋,急了。 2026年4月15日,在一场长达90分...
全球开源创新大会在巴黎举行 聚... 全球开源创新大会活动现场(5月6日摄)。新华社发(主办方供图) 新华社巴黎5月8日电 全球开源创新...
罕见!韩媒:韩国总统、国会议长... 据韩国《朝鲜日报》等韩媒报道,5月8日,韩国政坛出现罕见一幕:韩国总统李在明、韩国国会议长禹元植以及...
4000辆奇瑞商用车散件启运非... 河南日报讯(全媒体记者 龚砚庆 马青竹)5月8日上午,开封综合保税区内的汽车及零部件外贸基地一片繁忙...
“河南材料”中丨南阳新材料“追... 柔性功能薄膜隔热效率比传统产品高30%、紫外线与红外线阻隔率高达99%,产品在汽车玻璃、建筑玻璃和航...
河南超有品 第十个“中国品牌日... 从西安到灵宝寺河山,往返数百公里,仅半年,杨女士便跑了4趟。5月7日,她再次叩开果农司红娥家的大门,...