免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 16740 | 回复: 13
打印 上一主题 下一主题

[Zookeeper] 开源一个基于python、zookeeper实现的分布式基础平台管理工具 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-06 11:30 |只看该作者 |倒序浏览
本帖最后由 lionfun 于 2014-07-06 11:30 编辑

      swall架构类似salt,但是代码更加精炼,salt大概40000多行代码,swall只有3000多,很多基础功能都差不多。swall基于zookeeper实现的,可以用于管理特别是架构比较灵活的服务,你不用登陆到具体的服务器去操作,你指需要在一台机器上面就可以完成上千服务管理,比如获取服务器监控信息、执行shell命令等等,你还可以方便的实现自动化配置,一条命令实现所有应用的部署不再是难题。

      swall集群是本人奋战于webgame行业长达2年而开发的作品,在此之前使用过func、salt等管理工具,func这个东西速度效率比较差,发一个命令如果客户端很多要等很久,对func进行二次开发,但效果不明显,后面研究了salt,这个东西号称非常快速到你难以想象,确实非常快,不过我在使用的时候发现对目前的我们的业务不合适,当时webgame方面我们已经实现了在一台机器上面运行多个游戏区服了,但是salt目前只支持一台机器一个节点,不支持一个minion节点上面创建多个逻辑节点。而且salt越来越大,功能越来越多,但是凡事多必杂,杂必乱,我们往往更希望的是去繁求简

      swall是我研究了salt的源码以后编写的,刚开始也是用zeromq做消息传输,但是后面发现zeromq过多封装的它出问题以后很难调试,而且不同版本zmq数据传输不兼容,考虑到zookeeper的集群性能和watcher特性,后面尝试用zookeeper来编写,也就是现在的版本。swall目前已经我们的生产环境使用了,负责服务器环境初始化,游戏环境自动部署,游戏版本更新,游戏配置更新等任务。入手简单,使用不难,最主要的是架构清晰,代码简单,我已经在我的github上面发布了swall开源版本,这个开源版本去掉了一些和业务相关的代码,也进行了比较多的测试,如果大家喜欢,欢迎下载使用看看,说不定swall就是你要找的东西呢 不多说了,贴下架构图:




github上面有源码和非常详细的文档,你的鼓励是我的动力,但是我更乐于分享github地址:https://github.com/lufeng4828/swall

论坛徽章:
1
2015亚冠之柏太阳神
日期:2015-09-29 10:00:55
2 [报告]
发表于 2014-07-06 21:15 |只看该作者
支持原创,拜读学习!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
3 [报告]
发表于 2014-07-08 17:49 |只看该作者
感觉上很强呀,可以和salt之类的工具有一拼

论坛徽章:
0
4 [报告]
发表于 2014-07-10 12:12 |只看该作者
回复 3# badb0y

      salt的话功能比较花哨,学习成本比较高,现实中往往用不到那么多功能,而swall简单易用,简单是因为核心功能和func、salt都是一样的,用过func、salt,用swall没有什么压力的,易用是因为提供了很多内置方法让你很容易使用模块中的函数。
      swall比较原生态一些,更多的功能模块需要你自己用python实现,我不设计类似salt那种配置方式是因为我想让使用swall的人很快了解它的原理,实际用的时候可以修改swall以适应自己的环境,这样用起来顺手些。

论坛徽章:
2
15-16赛季CBA联赛之浙江
日期:2016-06-16 15:02:21操作系统版块每日发帖之星
日期:2016-06-19 06:20:00
5 [报告]
发表于 2014-07-10 16:21 |只看该作者
感谢分享,很想学习

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
6 [报告]
发表于 2014-07-18 18:42 |只看该作者
回复 1# lionfun
大概看了一下,功能还有有些简单些了。

module.function 的选项有多少? 看介绍里,只有一下几个:
  1. sys.ping
  2. sys.copy
  3. sys.get
  4. sys.get_env  
  5. cmd.call  
  6. sys.funcs
  7. sys.rsync_module
  8. sys.exprs
复制代码
大部分的功能写个简单的ssh -c "命令" 就可以替代。

还有哪些功能,楼主能介绍一下吗?

论坛徽章:
0
7 [报告]
发表于 2014-07-21 12:41 |只看该作者
回复 6# rdcwayx

多谢版主关注

是的,功能少了些。如果需要,可以把func和salt的所有功能模块导入进来就可以了,目前我就只导了salt的一个ps.py模块(在module/common下面,提供cpu、内存、硬盘、进程等查看)可以通过:
  1. swall ctl server "*"  sys.funcs ps
复制代码
查看ps.py模块的所有功能。

论坛徽章:
0
8 [报告]
发表于 2014-07-22 08:02 |只看该作者
挺有意思的项目,有几个问题想问问楼主,不知道我理解的是不是正确,抱歉没有安装试用。


1. 需要以root身份来安装运行么?文档里的例子好像都是root。

2. 需要配置SSH么?这个没提,应该是不需要吧。



如果是十几台机器的环境,应该够用了,简单方便。但是更大的环境下,可能会有点问题。比如说,

1. 提交swall命令的时候,应该是异步且并行。没有看代码,不确定目前的实现是不是这样的。

2. 有timeout参数,但是如果提交一个long running job的话,我本地的swall process是不是一直都在等待,如果连接丢失的话,对于正在执行的任务和远端机器有影响吗?

3. rsync作文件拷贝可以,但仅仅限于小文件。大的文件,大的集群,rsync不好。而且还有个问题,rsync和swall是两个独立的daemon process吧,最好改成父子进程并且提供状态检查。


我觉得好的管理平台,应该能同时支持push/pull两种操作,支持os本地操作但又独立于特定os。

论坛徽章:
0
9 [报告]
发表于 2014-07-22 09:43 |只看该作者
本帖最后由 lionfun 于 2014-07-22 09:45 编辑

回复 8# hyiner
感谢你的关注和提问
  1. 1. swall支持普通账户运行的,通过设置swall.conf配置的user = xxxx 即可;
  2. 2. 不需要配置ssh,swall的数据传输是直接通过zookeeper客户端发送到zookeeper集群,而且数据都是进行对称加密的,对称加密的key可以在swall.conf设置token即可;
  3. 3. swall是异步并行的(目前已经在规模在2000节点以上的场景使用);
  4. 4. timeout参数是获取结果的超时,连接丢失不影响任务执行,任务的结果会保存到zookeeper的swall.conf的keep_job_time配置可以指定任务结果的保留时间,可以如果是long running job,都可以通过job id查看结果的;
  5. 5.swall的文件传输是设置成可配置的,目前支持ssh、ftp、rsync这三个协议,其实可以根据场景自己实现,可以参考swall/plugins/fservice下的组件,可以实现通过分布式系统来传输,甚至http协议都可以用来做swall文件传输。
复制代码

论坛徽章:
0
10 [报告]
发表于 2014-11-08 17:47 |只看该作者
本帖最后由 szin2012 于 2014-11-08 17:52 编辑

回复 1# lionfun


    哥们帮忙看下,编译zook的时候有错误,日志在附件里面谢谢哈

pip.rar

2.07 KB, 下载次数: 21

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP