1 面试题
ES 集群部署架构如何
每个索引的数据量大概多少
每个索引大概有多少分片
2 考点分析
问你生产环境咋部署的, 说白了, 没啥技术含量, 就是看你有没有在真正的生产环境里做过 ES!
有些同学可能没在生产环境做过, 没在线上部署过 ES 集群, 也没实际玩过, 也没往 ES 集群里面导入过几千万甚至是几亿的数据量, 可能你就不太清楚这里面的一些生产项目中的细节
如果你是自己就玩过 demo, 没碰过真实的 ES 集群, 那你可能此时会懵, 但是别怕!
你一定要云淡风轻的回答, 表示你确实干过 ES!
3 详解
如果你确实干过 ES, 那你肯定了解你们生产 es 集群的实际情况, 部署了几台机器? 有多少个索引? 每个索引有多大数据量? 每个索引给了多少个分片? 你肯定知道!
但是如果你确实没干过, 也别虚, 我给你说一个基本的版本, 你到时候就简单说一下就好了
ES 生产集群我们部署了 5 台机器, 每台机器是 6 核 64G 的, 集群总内存是 320G
我们 ES 集群的日增量数据大概是 2000 万条, 每天日增量数据大概是 500MB, 每月增量数据大概是 6 亿, 15G. 目前系统已经运行了几个月, 现在 es 集群里数据总量大概是 100G 左右
目前线上有 5 个索引 (这个结合你们自己业务来, 看看自己有哪些数据可以放 ES 的), 每个索引的数据量大概是 20G, 所以这个数据量之内, 我们每个索引分配的是 8 个 shard, 比默认的 5 个 shard 多了 3 个 shard
大概就这么意思一下就 OK!
参考
《Java 工程师面试突击第 1 季 - 中华石杉老师》
来源: http://www.jianshu.com/p/0aba1e372934