BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Twitter开源MySQL集群管理框架Mysos

| 作者 谢丽 关注 9 他的粉丝 发布于 2015年5月16日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Mysos是一个用于运行MySQL实例的Apache Mesos框架。它极大地简化了MySQL集群的管理,具有高可靠性、高可用性及高可扩展性等特点。有关其具体功能,可以查看InfoQ前期的报道

Mysos需要Python 2.7及Mesos Python绑定。其中,后者包含两个Python包。mesos.interface位于PyPI上,可以自动安装。但mesos.native是平台依赖的,用户需要在自己的机器上构建(相关命令),或者下载相应平台的编译版本(Mesosphere提供了部分Linux平台的egg文件)。

Mysos主要包含如下两个组件:

  • mysos_scheduler:用于连接Mesos主节点及管理MySQL集群;
  • mysos_executor:用于启动Mesos从节点(基于mysos_scheduler请求)执行MySQL任务。

这两个组件可以单独构建和部署,也可以使用PEX将二者及其依赖包打包成一个可执行文件(具体过程参见这里)。

Mysos提供了一个REST API,用于在Mesos上创建和管理MySQL集群。下面是集群创建的示例代码:

curl -X POST 192.168.33.7/clusters/test_cluster3 --form "cluster_user=mysos" \ --form "num_nodes=2" --
form "backup_id=foo/bar:201503122000" \ --form 'size={"mem": "512mb", "disk": "3gb", "cpus": 1.0}'

其中,集群名称为test_cluster3,cluster_user指定了对集群中所有MySQL实例都拥有管理员权限的用户,num_nodes指定了集群节点数,backup_id指定了MySQL实例启动时需要从哪个MySQL备份恢复,size指定了分配给实例的资源。该命令会返回用于访问MySQL实例的密码以及集群URL。

Mysos是Twitter和Mesosphere合作的产物。为了该项目的长远发展,在将其开源的同时,Twitter也向Apache基金会提交了孵化提案,希望以这种方式确保该项目遵循Apache 2.0许可协议,促进Mysos社区的发展壮大。


感谢崔康对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT