一.实验环境
mogile1 192.168.15.112 tracker,database,storage
mogile2 192.168.15.113 storage
mogile3 192.168.15.114 storage
二.安装:
1.下载epel源:
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo
yum clean all && yum makecache
2.安装环境包(mogilefsd和mogstored依赖关系):
yum install perl-Net-Netmask perl-Sys-Syslog perl-IO-AIO -y
#每一台主机都必须安装, 否则可能导致mogstored不能正常监听端口
3.软件包介绍:
MogileFS-Server-2.46-2.el6.noarch.rpm #核心服务
MogileFS-Server-mogilefsd-2.46-2.el6.noarch.rpm # tracker节点
MogileFS-Server-mogstored-2.46-2.el6.noarch.rpm #Storage存储节点
MogileFS-Utils-2.19-1.el6.noarch.rpm #主要是MogileFS的一些管理工具,例如mogadm等
perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm #socket
perl-MogileFS-Client-1.14-1.el6.noarch.rpm #客户端
Perlbal-1.78-1.el6.noarch.rpm #类似与负载均衡器
perl-IO-stringy-2.110-1.2.el6.rfx.noarch.rpm
perl-Perlbal-1.78-1.el6.noarch.rpm
4.安装mogile的RPM软件包(每一个节点都需要安装):
yum localinstall ./*.rpm -y
5.配置数据库(15.112上):
#配置一个可管理mogilefs数据库的用户
grant all privileges on mogilefs.* to mogileuser@'%' identified by '123456';
FLUSH PRIVILEGES;
#创建数据库
create database mogilefs;
6.初始化数据库:
mogdbsetup --dbhost=192.168.15.112 --dbuser=mogileuser --dbpass=123456 --dbname=mogilefs --dbrootpass=123456 --yes
7.配置tracker(跟踪节点-15.112)-------->mogilefsd:
vim /etc/mogilefs/mogilefsd.conf
8.启动mogilefsd:
service mogilefsd start
相应的线程数对应配置文件
9.在三个存储节点(112,113,115)的配置:
vim /etc/mogilefs/mogstored.conf
创建数据存放位置并启动存储节点:
mkdir -pv /mogdata/dev1 --------->112
mkdir -pv /mogdata/dev2 ----------->113
mkdir -pv /mogdata/dev3 ---------->115
chown -R mogilefs:mogilefs /mogdata
service mogstored start
10.添加主机到tracker中,这样存储节点才能被tracker节点管理
命令格式:
mogadm host add 主机名|ip --ip=IP地址 --port=端口号 --status=状态
mogadm host add 192.168.15.112 --ip=192.168.15.112 --port=7500 --status=alive
mogadm host add 192.168.15.113 --ip=192.168.15.113 --port=7500 --status=alive
mogadm host add 192.168.15.115 --ip=192.168.15.115 --port=7500 --status=alive
11.查看状态:
mogadm check
12.查看添加的主机列表mogadm device list:
13.添加设备,设备号是唯一的不能够重复
格式: mogadm device add IP地址 ID
mogadm device add 192.168.15.112 1
mogadm device add 192.168.15.113 2
mogadm device add 192.168.15.115 3
mogadm device list
查看状态(mogadm check):
14.创建域(格式:mogadm domain add 域名,域名可以自定义):
mogadm domain add file
mogadm domain add image
15.创建类----class:
格式:mogadm class add 域名(必须存在的) 类名 --mindevcount=副本数
mogadm class add file fulltext --mindevcount=2
16.手动上传文件并查看:
格式:mogupload --trackers=tarcker节点IP --domain=域名 --key='key名' --file=文件位置 --class=类名
#在同一个域中key必须唯一!
mogupload --trackers=192.168.15.112 --domain=file --key='passwd1' --file=/etc/passwd --class=fulltext
查看上传的文件:
格式:mogfileinfo --trackers=tracker的IP --domain=域名 --key='key值'
mogfileinfo --trackers=192.168.15.112 --domain=file --key='passwd1'
下载文件到本地:
格式:mogfetch --trackers=tracker的IP地址 --domain=域名 --key='key值' --file='文件存放位置'
mogfetch --trackers=192.168.15.112 --domain=file --key='passwd' --file='/tmp/passwd'
图片显示:
三.常用的命令
1.添加“存储节点”到 trackers 中:
mogadm host add [主机名|ip] --ip=IP地址 --port=端口号 --status=状态
2.修改添加到trackers中的“存储节点”:
mogadm --trackers=tracker的IP地址 host modify [主机名|ip] --ip=IP地址 --port=端口号 --status=alive/down
3.查看主机状态:
mogadm host list [--trackers=tracker的IP地址]
mogadm check [--trackers=tracker的IP地址]
4.添加设备:
mogadm device add IP地址 ID --------->ID不可以重复
5.查看添加的设备:
mogadm device list
6.标记失效的设备:
mogadm device mark 存储设备ip ID dead
7.添加域名:
mogadm domain add 域名,域名可以自定义
8.查看域:
mogadm domain list
9.创建类:
mogadm class add 域名(必须存在的) 类名 --mindevcount=副本数
10.文件上传,查看,删除:
mogupload --trackers=tarcker节点IP --domain=域名 --key='key名' --file=文件位置 --class=类名
mogfileinfo --trackers=tracker的IP --domain=域名 --key='key值'
mogdelete --domain=域名 --key='key值'
11.查看指定域名中的key:
moglistkeys --trackers=tracker的IP --domain=域名
12.停掉存储服务器:
mogadm host mark 域名或者ip down
mogadm host mark 域名或者ip alive
13.如果将15.115的设备标记为down,如何恢复
1)mogadm device mark 192.168.15.115 5 down ------>down
2)恢复:mogadm device mark 192.168.15.115 5 alive
14.如果将15.115的设备标记为dead,如何恢复:
mogadm device mark 192.168.15.115 dead
此时:15.115已经不存在了!
解决方法:重新添加设备到tracker,但是ID的值需要修改:
15.115上:
mkdir devID
chown -R mogilefs:mogilefs /mogdata
15.112:
mogadm device add 192.168.15.115 5
15.只读模式和耗尽模式:
mogadm device mark 域名或者ip ID readonly -------->只读模式
mogadm device mark 域名或者ip ID drain ----->
mogadm device mark 域名或者ip ID dead ----->MogileFS将开始删除设备上的文件
补充需要添加防火墙: