配置 MogileFS 的 Slave
管理 MySQL 的复制这个是个比较复杂的课题.大部分是超出了本文档的范围.我们将谈论如何在 MogileFS 上应用.
MogileFS 的一些需求
MogileFS 是一个分布式数据存储的系统,它可以有很多的存储节点和许多 trackers. 然而,它必须有一个单一的元数据存储,这是 trackers 的对所有文件的坐标点. 我要重复一次.因为这个地方太值得多提一下:所有的 trackers 必须指向相同的数据库实例.他们使用advisory locking 来确保他们不复制过程中发生碰撞,并通过事物协调队列处理.没有这个,你可能会永久丢失数据.
二个 tracker 也只能和一个相同的 database 交互, 他们使用锁来保证同一时间操作相同数据不会出意外, 包括许多其他的事情.所以我们有多个 tracker,记得写 IP 时都写主的 IP ,使用了 slave 的配置后,会自动从 slave 来读取.并且不用担心 slave 重起和死掉,tracker 会自动切换,并会给读的压力平均分给这些机器.
MogileFS 配置 Slave
现 在讲 MogileFS 配置读取 slave 的数据来分离查询的压力. 注意,真到这个文章写出来时, 仅仅支持 file 和 file_on 这二个表的查询到 slave. 当然如果你能在外部(Nginx 和你的程序中)来 Cache 输出的 path 的话(比如 Memcached 或者其它) 会比你添加只读的 slave 和 tracker 会有更好的性能的提升.
通过 mogadm 来配置 slave:
|
1
2
3
4
5
6
7
8 |
$ mogadm slave Help for 'slave' command: (enter any command prefix, leaving off options, for further help) mogadm slave add <slave_key> [opts] Add a slave node for store usage mogadm slave delete <slave_key> Delete a slave node for store usage mogadm slave list List current store slave nodes. mogadm slave modify <slave_key> [opts] Modify a slave node for store usage |
有一个 opts 可以用来指定一些相关的参数:
|
01
02
03
04
05
06
07
08
09
10
11 |
$ mogadm slave add ERROR: Missing argument 'slave_key' Help for 'slave-add' command: mogadm slave add <slave_key> [opts] Add a slave node for store usage --dsn=s DBI DSN specifying what database to connect to. --password=s DBI password for connecting. --username=s DBI username for connecting |
真实的添加语句会象下面一样
|
1 |
mogadm slave add storage2 --dsn=DBI:mysql:MogileFS:host=slave_ip --username=mogile --password=mogilepassword |
-dsn 我想以前的配置文件中写过很多次了吧,这个需要 slave 机器的主机 IP 的数据库的名字,做主从 99% 的从数据库名和主数据库名一样.然后那台机器可以访问这个数据库的用户和密码就行了.
注意,你要小心的设置这个 DSN ,当然目前根据我的测试,如果从数据库连接不上,会自动的切换到其它的 slave 实在不行,会切回主数据库.
整个架构如下:
多个 tracker 配置了一个主数据库,配置完后,查询的量会自动平均分到其它的这些主机上来.如果在中间在加上 Memcached 会更加好.上面的架构做你的源站一定是没有问题了,要知道我们前边还有 CDN 啦.回源怎么样也得控制在 5% 以内.另外,你还可以做 MySQL 的多主之类的技术.
建议继续学习:
- MogileFS 的介绍(MogileFS 系列1) (阅读:4845)
- 在 MogileFS 中使用 Nginx (阅读:3693)
- MogileFS 的客户端和API(MogileFS 系列4) (阅读:3290)
- MogileFS 的安装(MogileFS 系列2) (阅读:3191)
- MogileFS Rebalance(文件的重新均衡) (阅读:3036)
- MogileFS 的设置和管理(MogileFS 系列3) (阅读:2772)
- MogileFS 研究 (阅读:2502)
- MogileFS 文件系统检查 (阅读:2355)
- MogileFS 排错小技巧 (阅读:2113)
- 为 MogileFS 配置使用多个网络段/多数据中心 (阅读:2110)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:扶 凯 来源: 扶凯
- 标签: MogileFS
- 发布时间:2012-03-12 23:32:28
-
[1197] WordPress插件开发 -- 在插件使用 -
[88] 解决 nginx 反向代理网页首尾出现神秘字 -
[43] web开发设计人员不可不用的在线web工具和 -
[30] Rax 系列教程(长列表) -
[29] 一句话crontab实现防ssh暴力破解 -
[29] Java开发岗位面试题归类汇总 -
[29] 手机产品设计方向 -
[28] 如何建立合适的索引? -
[26] 程序员疫苗:代码注入 -
[25] 我对学习oracle与成长的理解
