-------------------一、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
方法三:
mogadm --tracker=172.17.250.109:7001 host list #查看各节点的状态(更详细)
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数据库下的表,已经存在内容。
storage执行操作:
storage查看:
storage1:
cd /data/mogdata/dev1
ls
cd test-write/
storage2:同上
----------------------四:添加域---------------------------
①mogadm domain add img
② mogadm domain list
③ mogadm class add img m26 --mindevcount=3
------------------五:测试:上传、下载文件-------------------------
测试上传下载功能
tracker执行操作:
①从电脑上上传图片:rz ——1.jpg
②上传文件:
mogupload --domain=img --key=test --file=1.jpg
③去storage1查看:dev1下只有原来的目录,没有新增。【有bug,不能添加】
去storage2查看:dev2下有新增目录:0,查找到有文件:0000000002.fid
将0000000002.fid导出到电脑,sz,修改后缀名,然后查看,为原图。
④tracker查看数据库,test和0000000002.fid
查看文件:mogfileinfo --domain=img --key=test
从中得到该图片文件的网络IP,浏览器连接显示原图。
⑤删除文件: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
浏览器查看到原图。
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
D、取消下限
mogadm host mark node1 alive
上传图片:mogupload --domain=img --key=test --file=2.jpg
storage1下新增文件/dev1/0/000/000/0000000006.fid
浏览器访问出现新文件图片。