【LINE DEV DAY 2017】LINE 2017年的HBase技术 #line_devday

关于支撑LINE流量的HBase技术。

关于LINE消息服务中的HBase工程方面,
包括改进运营环境,从HBase 0.90.6升级至1.2.5的无停机服务升级,以及利用HBase新功能的案例等。

关于HBase

在LINE中使用的开放源代码(OSS)的NoSQL数据库。

你在哪里使用它?

消息传递
游戏平台
时间线
统计数据

你输入了什么样的数据?

用户
通讯录
备份
等等

进行操作

没有专门的HBase运维团队,操作员等同于开发人员。

监控环境

使用Prometheus来收集每个集群中的Prometheus(这个Prometheus的轮询间隔较长)。

HBase 版本

最新版是1.3。
之前在LINE上一直使用的是稳定版0.90.6-cdh3u5,现在正在逐步升级至1.2。

版本切换步骤

双写入(将数据同时写入0.9和1.2的数据库)
批量复制(将0.9的数据复制到1.2中)
测试阶段(对迁移数据进行确认)

HBase升级的问题

Kafka在Shadow环境中可以以几乎相同的负载来进行性能测量。

从HBase 0.90升级到1.20

我在HBase客户端应用了修补程序。
在接下来的2到3个星期里,它一直运行良好,但逐渐响应时间变慢。

你觉得升级有没有好处?

桶缓存

从1.2版本开始,以前将缓存存储于JVM堆内的做法被改为存储于堆外,因此不再受GC的影响,从而提高了性能。然而,此迁移并不简单,需要解决许多问题。

总结(The above phrase in Chinese)

我们在功能和性能方面都受益良多。
听说HBase 2.0即将发布。
未来还需要持续升级。

bannerAds