AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

Twitter 开源 MySQL 集群管理框架 Mysos

  • 2015-05-15
  • 本文字数:843 字

    阅读完需:约 3 分钟

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 读者交流群)。

2015-05-15 06:347988
用户头像

发布了 1008 篇内容, 共 410.1 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容
Twitter开源MySQL集群管理框架Mysos_语言 & 开发_谢丽_InfoQ精选文章