-------------------一、mogilefs服务初始化&创建tracker----------------------

①数据库授权

GRANT ALL PRIVILEGES ON *.* TO 'mogile' @'127.0.0.1' IDENTIFIED BY 'mogile' WITH GRANT OPTION;

②设定数据库:

mogdbsetup --help

mogdbsetup --dbhost=127.0.0.1 --dbpass=mogile

用户名默认为:mogile

进入MySQL,看到数据库mogilefs已经创建,表也存在,但为空表,因为还没有开始设置。

【③添加运行用户

useradd -r mogilefs

mkdir /var/run/mogilefsd/

chown -R mogilefs.mogilefs /var/run/mogilefsd #yum安装的话已经完成】

可以省略

④修改主配置文件:

vim   /etc/mogilefs/mogilefsd.conf

db_user = mogile

db_pass = mogile

listen = 172.17.250.109:7001

⑤启动服务 (tracker 服务为 mogilefsd ) (storage服务为mogstored)

/etc/init.d/mogstored start

⑥查看tracker:

[root@master bin]# mogadm --tracker=172.17.250.109:7001 check

Checking trackers...

172.17.250.109:7001 ... OK

Checking hosts...

No devices found on tracker(s).

-----------------------二、创建storage1、storage2---------------------

storage1、2均执行以下操作:

①mkdir /data/mogdata -p

② chown mogilefs.mogilefs mogdata/ -R

③vim  /etc/mogilefs/mogstored.con

docroot =/data/mogdata

④/etc/init.d/mogstored start

-------------------------三、将tracker和storage1、2连接--------------------

基于实验一实验二

tracker执行操作:

1、MogileFS 中的存储主机(节点)管理

加入“存储节点”到 trackers 中.告诉注册自己到 trackers.相当于为每个主机加入 MogileFS

(1)在tracker中添加node1、node2

①mogadm --tracker=172.17.250.109:7001 host add    node1  --ip=172.17.250.11 --port=7500 --status=alive

②mogadm --tracker=172.17.250.109:7001 host add   node2   --ip=172.17.250.127--port=7500 --status=alive

③测试是否成功连接:

语法:mogadm host list   #检查这个主机是否加入到 MogileFS 的系统中

方法一:

mogadm --tracker=172.17.250.109:7001 check  

方法二:

vim /etc/mogilefs/mogilefs.conf                                                      

 trackers=172.17.250.109:7001

mogadm check

mogilefs管理_mogilefs_02

方法三:

mogadm --tracker=172.17.250.109:7001 host list  #查看各节点的状态(更详细)

mogilefs管理_管理_04

storage执行操作:

建一个目录 ( 并且需要 mount 一个硬盘给这个目录 ) 给这个"设备" 使用,

storage1:

    cd /data/mogdata/

    mkdir dev1

    chown mogilefs.mogilefs dev1/ -R

storage2:

    cd /data/mogdata/

    mkdir dev1

    chown mogilefs.mogilefs dev1/ -R

tracker执行操作:

①给"设备"加入”存储的节点“当中,相当于为每个设备加入 MogileFS 的存储系统

mogadm --tracker=172.17.250.109:7001 device add node1 1

mogadm --tracker=172.17.250.109:7001 device add node2 2

②检查:mogadm check    

tracker登录数据库,查看mogilefs数据库下的表,已经存在内容。

mogilefs管理_操作_06

storage执行操作:

storage查看:

storage1:

    cd /data/mogdata/dev1    

    ls

    cd  test-write/

mogilefs管理_管理_08

storage2:同上

----------------------四:添加域---------------------------                                                                                          

①mogadm domain add img

② mogadm domain list

③ mogadm class add img m26 --mindevcount=3

mogilefs管理_管理_10

------------------五:测试:上传、下载文件-------------------------

测试上传下载功能

tracker执行操作:

①从电脑上上传图片:rz    ——1.jpg

上传文件

mogupload --domain=img --key=test --file=1.jpg

③去storage1查看:dev1下只有原来的目录,没有新增。【有bug,不能添加】

去storage2查看:dev2下有新增目录:0,查找到有文件:0000000002.fid

mogilefs管理_管理_12

将0000000002.fid导出到电脑,sz,修改后缀名,然后查看,为原图。

④tracker查看数据库,test和0000000002.fid

mogilefs管理_mogilefs_14

查看文件:mogfileinfo --domain=img --key=test

从中得到该图片文件的网络IP,浏览器连接显示原图。

mogilefs管理_mogilefs_16

删除文件:mogdelete --domain=img --key=test

storage2的000下没有文件0000000002.fid

※【删除文件后,读写功能受影响,但老的请求还存在,不受影响,新的请求不能实现】如下所示:

A、重新上传文件1.jpg:mogupload --domain=img --key=test --file=1.jpg

查看发现:storage2的000下没有新增文件;

storage2的dev1下新增目录0,

/data/mogdata/dev1/0/000/000下新增文件:0000000003.fid

mogilefs管理_操作_18

浏览器查看到原图。

B、可以标记下限【可以读,不能写】

mogadm host mark node1 down    

mogfileinfo --domain=img --key=test

浏览器任然可以访问——可以读,节点存在。

C、再上传一张图片

mogupload --domain=img --key=test1 --file=2.jpg

查看storage1的0下,没有新增文件——新的写无法写入。

查看storage2的0下,有新增文件:0000000005.fid

mogilefs管理_mogilefs_20

D、取消下限

mogadm host mark node1 alive    

上传图片:mogupload --domain=img --key=test --file=2.jpg

storage1下新增文件/dev1/0/000/000/0000000006.fid

mogilefs管理_mogilefs_22

浏览器访问出现新文件图片。