一:环境准备
环境准备:一台主机当作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 [mogilefs]> 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 node2 2
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.024 19.31% writeable 0.0 [ 2] dev2 18.619 3.594 15.025 19.30% writeable 0.0
total: 37.238 7.189 30.049 19.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#make install
五.添加文件验证复制功能
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