如题,笔者近期部署使用了Thanos,并且采用的是receive模式,采用了多个receive节点,结果运行的时候发现报错了,具体信息如下:
level=error ts=2021-02-01T02:46:59.386889118Z caller=handler.go:330 component=receive component=receive-handler err="context deadline exceeded" msg="internal server error"
level=error ts=2021-02-01T03:09:26.704816498Z caller=handler.go:330 component=receive component=receive-handler err="context deadline exceeded" msg="internal server error"
level=error ts=2021-02-01T03:26:15.085478835Z caller=handler.go:330 component=receive component=receive-handler err="context deadline exceeded" msg="internal server error"
查找了很多资料,可惜真正有用的不多,或许是太小众了吧。只是在thanos的githus上看到有人提起,相关链接如下:https://github.com/thanos-io/thanos/issues/2982
其中提到有的认为是版本问题,但是笔者经过实际测试和调整,发现是参数配置有问题。
主要是 thanos receive 的参数中,如果是 --receive.local-endpoint 2.19.2.29:10907, 而 --receive.hashrings-file /hashring.json
那么hashring.json文件中,应该类似的,要与receive.local-endpoint 对应一致,否则就会报错。例如:
[
{
"endpoints": [
"2.19.2.29:10907"
]
}
]