SRE&Devops 每周分享 Issue #3

Scaling Spark Streaming for Logging Event Ingestion

在 Airbnb,用户的每一次搜索、预订都会产生 log。这些 log 可以帮助 Airbnb 更懂客户,为顾客和房东提供更好的服务。这些数据也会驱动业务发展和产品迭代——因为他们会反过来影响机器学习的模型和搜索排名。

Airbnb 的日志处理是近乎实时的。客户端和服务器将事件发往 Kafka,Spark Streaming Job 会持续从 Kafka 读出来然后放到 Hbase 中做去重,然后每小时从 Hbase dump 到 Hive 中。

这些日志是很多图表和控制台的元数据,所以保证这些数据的实时性和 SLA 就很重要。

然而,这些日志事件的量无法预估(由于促销、假期或者其他原因),而且事件会有偏斜(大小不一致),而 Kafka 的 partition 又不能自动水平扩展。这样就有很多挑战(具体见文),比如 HBase down 了一段时间,恢复之后无法给 Spark 分更多的资源,就要花很多时间追平。

另一方面,读日志最终还是存到 Hbase 中,所以时序并不重要,据此可以重新设计模型。Airbnb 开发出负载均衡的 Kafka reader,最终解决了文中描述的所有问题,可以水平扩展 reader。

Linux 系统网络管理员最常用的 32 个 Nmap 命令

Nmap 是一个开源的网络安全软件,它使用 IP 包来探测,可以统计网络上的 Hosts,这些 Hosts 提供的服务,运行的操作系统,安全、防火墙规则等。使用在监控方面非常方便。

Nginxconfig.io

一个可以自动根据你的选择生成 Nginx Conf 文件的网站。

Kubernetes Cheat Sheet

Red Hat 的有关 k8s 的介绍,以及如何在本地安装。

Starting and Scaling DevOps in the Enterprise

Gitlab 首页推荐的一本书,Devops 在大型企业的实践。

Cheat sheet: Linux networking

Linux 常用网络命令速查表

Ansible2.7: reboot plugin

Ansible2.1 就有了 win_reboot,因为 windows 重启的需求比 Linux 更频繁。Linux 的重启也可以通过 shell wait_for 来实现。但是有很多坑需要注意。

被折磨很久之后,reboot for linux 终于出现了。本文介绍了 reboot  这个 plugin 的设计、实现和用法。

Java 微服务:容器与框架的介绍 (By RedHat)

Orchestrating Chaos using Grab’s Experimentation Platform

Grab 做 Chaos 的经验分享。

Capacity planning for Etsy’s web and API clusters

Etsy 做容量规划的经验分享。

The Datacenter As A Computer: Designing Warehouse-Scale Machines, Third Edition

又名:Google 是如何建造数据中心的。第三版。读完可能要花一些力气,不过里面的图很酷炫。

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注