作家
登录

去哪儿网基于Mesos和Docker构建私有云服务实践

作者: 来源: 2017-09-13 14:30:05 阅读 我要评论

须要存眷的设备参数

Mesos是设备参数最多的。在物理机上,Mesos默认应用体系的Systemd治理义务,如不雅把Mesos经由过程Docker run的方法启动起来,用户就要关systemd_Enable_support,防止Mesos Slave拉取容器运行时数据造成纷乱。

Docker_Socket会告诉Mesos,Docker指定的远端地址或本地文件,是默认挂到Mesos容器里的。用户如不雅直接履行文件,会导致文件缺点,消息调取掉败。这个时刻推荐一个简单的办法:把当前物理机的目次挂到容器中并零丁定名,相当于在容器内直接拜访全部物理机的路径,再从新指定它的地址,如许每次一有更改Mesos就可以或许发明,做本身的指令。

作者简介:徐磊,去哪儿网平台事业部运维开辟工程师,2015年参加去哪儿网,负责及时日记相干的开辟与运维工作。有多年电信、云枷⒚鹦业经验,曾供职于红帽中国。

后面两个是Mesos Logging设备,调剂生成logging文件的一些行动。

须要存眷的run参数

  • –pid=host
  • –privileged
  • –net=host (optional)
  • root user

启动Slave容器的时刻最好不加Pid Namespace,因为容器内Pid=1的过程一般都是你的应用法度榜样,易导致子过程都无法收受接收,或者采取tini一类的过程启动应用达到雷同的目标。–privileged和root user主如果针对Mesos的持久化卷功能,不然无法mount到容器内,–net=host是出于收集效力的┞峰酌,毕竟源生的bridge模式效力比较低。

去哪儿网基于Mesos和Docker构建私有云办事的实践

Mesos容器化请求存眷两类参数:设备参数和run参数。


图4:去哪儿数据平台安排流程图

上图4就是去哪儿数据平台安排的流程图。

基于Marathon的Streaming调剂

拿Spark>去哪儿网基于Mesos和Docker构建私有云办事的实践
图5:替代Spark Mesos Dispatcher

不过照样有一些问题存在:

Checkpoint & Block

  • 动态预留 & 持久化卷
  • setJars
  • 清理无效的卷

关于Checkpoint&Block,经由过程动态预留的功能可以把这个义务直接“钉逝世”在这台机械上,如不雅它挂的话可以直接在原机械上重启,并挂载volume持续工作。如不雅不消它预留的话,可能调剂到其他机械上,找不到数据Block,造成数据的损掉或者反复处理。

持久化卷是Mesos供给的功能,须要推敲它的数据孑遗,Mesos供给了一种筹划:把本地磁盘进级成一个目次,把这个转移到Docker里。每次写数据到本地时,能直接经由过程持久化卷来保护,免除手工保护的成本。但它今朝有一个问题,如不雅义务已被收受接收,它持久化卷的数据是不会本身删掉落的,须要写一个脚本准时轮巡并对应删掉落。

如不雅应用持久化卷,须要修改┞封两个设备,把这一些临时文件写进去,比如shuffle文件等。如不雅设备持久化卷的话,用户也可以写持久化卷的路径。

Coarse-Grained

Spark有两种资本调剂模式:细粒度和粗粒度。今朝已经不太推荐细粒度了,推敲到细粒度会尽可能的把所有资本占满,轻易导致Mesos资本被耗尽,所以这个时刻更偏向选择粗粒度模式。

去哪儿网基于Mesos和Docker构建私有云办事的实践

  1. MESOS_systemd_enable_support  
  2. MESOS_docker_mesos_image  
  3. MESOS_docker_socket  
  4. GLOG_max_log_size  
  5. GLOG_stop_logging_if_full_disk 

图6:Storm>去哪儿网基于Mesos和Docker构建私有云办事的实践
图7:ELK on Mesos

上图7是ELK on Mesos构造图,也是团队的无奈之选。因为Mesos还临时不支撑multi-role framework功能,所以选择了这种折中的方法来做。在一个Marathon里,根据营业线设置好Quota后,用营业线从新发一个新的Marathon接入进去。对于多租户来讲,可以应用Kubernetes做后续的资本管控和资本申请。

安排ES今后,有一个关于办事发明的问题,可以去注册一个callback,Marathon会返回信息,解析出master/slave过程地点的机械和端口,合营修改Haproxy做一层转发,相当于把后端全部TCP的连接都做一个通路。ES跟Spark不完全雷同,Spark传输本身流量就比较大年夜,而ES启动时须要主动接洽Master地址,再经由过程Master获取响应集群,后面再做P2P,流量比较低,也不是一个长链接。

监控与运维

这部分包含了Streaming监控指标与报警、容器监控指标与报警两方面。

Streaming监控指标与报警

  • Streaming监控含拓扑监控和营业监控两部分。
  • Streaming拓扑监控

营业监控

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)