常见问题及故障处理 #
这里主要收集极限网关使用过程中遇到的常见问题及处理办法,欢迎反馈提交到 这里。 故
常见问题 #
写入速度没有提升 #
问题描述:为什么我用了极限网关的 bulk_reshuffle
,写入速度没有提升呢?
问题解答:如果你的集群节点总数太少,比如低于 10
个数据节点或者索引吞吐低于 15w/s
,你可能没有必要使用这个功能或者关注点不应该在写入性能上面,
因为集群规模太小,Elasticsearch 因为转发性能和请求分发造成的影响不是特别明显,走不走网关理论上性能不会差距很大。
当然使用 bulk_reshuffle
还有其他好处,比如数据先落地网关队列可以解耦后端 Elasticsearch 故障的影响。
常见故障 #
端口重用不支持的问题 #
错误提示:The OS doesn’t support SO_REUSEPORT: cannot enable SO_REUSEPORT: protocol not available
问题描述:极限网关默认开启端口重用,用于多进程共享端口,在旧版本的 Linux 内核中需要打补丁才能使用。
解决方案:可以通过修改监听网络的配置,将 reuse_port
改成 false
,关闭端口重用:
**.
network:
binding: 0.0.0.0:xx
reuse_port: false
Elasticsearch 用户权限不够 #
错误提示:[03-10 14:57:43] [ERR] [app.go:325] shutdown: json: cannot unmarshal object into Go value of type []adapter.CatIndexResponse
问题描述:极限网关 Elasticsearch 配置开启 discovery 的情况下,如果用户权限给的不够,会提示这个错误,因为需要访问相关的 Elasticsearch API 来获取集群的信息。
解决方案:给相关的 Elasticsearch 用户赋予所有索引的 monitor
和 view_index_metadata
权限即可。