glcui 发表于 2019-2-1 08:00:07

mogileFS实现分布式存储和复制

一:环境准备
  环境准备:一台主机当作tracker和mysql,两台当作storageserver

二: 安装包准备
  在三台主机上都要安装如下软件包,tarcker主机需要安装mariadb-server
perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO
MogileFS-Server-2.46-2.el7.centos.noarch.rpm
MogileFS-Server-mogilefsd-2.46-2.el7.centos.noarch.rpm
MogileFS-Server-mogstored-2.46-2.el7.centos.noarch.rpm
MogileFS-Utils-2.19-1.el7.centos.noarch.rpmperl-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
perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm
perl-Perlbal-1.78-1.el6.noarch.rpm

三:搭建步骤
  1.初始化数据库,授予mogile用户操作mogilefs数据库的权力

  MariaDB [(none)]> grant all privileges on mogilefs.* to 'mogile'@'127.0.0.1' identified by 'mogile' with grant option;   
MariaDB [(none)]>flush privileges;

  2.修改mogileFS的配置文件,修改如下三项,其他的项目使用默认的即可,如有需要,可以自行修改

  root@centos7tmp#vim /etc/mogilefs/mogilefsd.conf
db_user = mogile
db_pass = mogile
listen = 172.17.253.25:7001

  3.设定并且查看数据库

  root@centos7tmp#mogdbsetup --dbpass=mogpass#一路按Y即可
root@centos7tmp#mysql -uroot
MariaDB [(none)]> use mogilefs;
MariaDB > show tables; #查看到有表就成功了

  4.启动mogileFS的tracker端服务

  root@centos7tmp#systemctl start mogilefsd #没报错就是成功

  5.配置storageserver的配置文件

  root@centos7.2/#mkdir /data/mogdata   #建一个存储数据的文件夹
root@centos7.2data#chown mogilefs.moilefs mogdata/ -R#修改权限,使mogile用户可以访问
root@centos7.2~#vim /etc/mogilefs/mogstored.conf
docroot = /data/mogdata #自己制定一个文件路径最好,其他的选项默认即可
root@centos7.2data#systemctl start mogstored #开启mogileFS的storage服务

  6.在storageserver上添加设备,生产中最好单独挂载一个新的磁盘,专门用来存储数据

  root@centos7.1mogdata#mkdir dev1
root@centos7.1mogdata#chown mogilefs.mogilefs dev1/ -R

  7.在tracker上添加主机和设备

  root@centos7tmp# mogadm --tracker=172.17.253.25:7001 host add node1 --ip=172.17.253.127 --port=7500 --status=alive
root@centos7tmp# mogadm --tracker=172.17.253.25:7001 host add node2 --ip=172.17.253.200 --port=7500 --status=alive
root@centos7tmp#mogadm --tracker=172.17.253.25:7001 device add node1 1
root@centos7tmp#mogadm --tracker=172.17.253.25:7001 device add node22

  8.查看添加是否成功

  root@centos7tmp# mogadm --tracker=172.17.253.25:7001 check
  出现如下,则表示成功
Checking trackers...
172.17.253.25:7001 ... OK
  Checking hosts...
[ 1] node1 ... OK
[ 2] node2 ... OK
  Checking devices...
host device         size(G)    used(G)    free(G)   use%   ob state   I/O%
  [ 1] dev1            18.619      3.595   15.02419.31%writeable   0.0
[ 2] dev2            18.619      3.594   15.02519.30%writeable   0.0

         total:    37.238      7.189   30.04919.31%

四:实现复制功能
  1.三台主机上都安装

  root@centos7~#yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perlYAML perl-Time-HiRes

  2.用perl编译安装Sys-Syscall-0.23.tar.gz

  root@centos7tmp#tar xvf Sys-Syscall-0.23
root@centos7tmp#cd Sys-Syscall-0.23/
root@centos7Sys-Syscall-0.23#perl Makefile.PL
root@centos7Sys-Syscall-0.23#make
root@centos7Sys-Syscall-0.23#makeinstall


五.添加文件验证复制功能
  1.重启mogilefsd服务

  root@centos7Sys-Syscall-0.23#/etc/init.d/mogilefsd stop
root@centos7Sys-Syscall-0.23#/etc/init.d/mogilefsd start

  2.上传文件

  root@centos7mogilefs#mogupload --domain=img -key=hello --file=39447-106.jpg

  3.看复制的状态,发现成功。

  root@centos7mogilefs#mogfileinfo --domain=img -key=bug


[*]file: bug
class:            default
devcount:                  2
domain:                  img
fid:                  8
key:                  bug
length:               364854

[*]http://172.17.253.127:7500/dev1/0/000/000/0000000008.fid
[*]http://172.17.253.191:7500/dev2/0/000/000/0000000008.fid





页: [1]
查看完整版本: mogileFS实现分布式存储和复制