-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.1版本的sentinel,在从众多的从中选举出新的主后,proxy退出 #1080
Comments
你能发完整的 log 吗?你发的这个只是你点 promote 之后的动作。 另外,异常退出 是什么,是 crash 吗? |
@spinlock 发给你整个proxy日志吗 |
是啊。
On December 14, 2016 at 1:33:20 PM, Umbraller ([email protected]) wrote:
新的
|
@spinlock 邮件发给您proxy.log |
全部 log 文件吧,zip 一下。
On December 14, 2016 at 1:36:12 PM, Umbraller ([email protected]) wrote:
@spinlock <https://github.com/spinlock> 邮件发给您proxy.log
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1080 (comment)>,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAsHpXD9QoR7RCA_FHuAHW2CTFMDZuDkks5rH4BLgaJpZM4LMjAx>
.
|
额,发日志问题,但是我只记录了proxy的,其他的启动的时候都没指定日志输入,所以就只能发给您proxy的了 |
@spinlock 发到您[email protected]这个邮箱了,您看一下吧,我在启动的时候就指定了proxy的这个一个日志,sentinel启动和选举过程中,还有redis,我都没有指定日志,因为 毕竟是测试,所以就没有指定 |
@Umbraller log 已经收到。我建议你看一下 log,里面全是 error 似乎你都忽略了。
185 2016/12/14 11:19:44 router.go:218: [WARN] fill slot 0128, backend.addr = 192.168.34.6:6379, locked = false
186 2016/12/14 11:19:44 router.go:218: [WARN] fill slot 0129, backend.addr = , locked = false
187 2016/12/14 11:19:44 router.go:218: [WARN] fill slot 0130, backend.addr = , locked = false
188 2016/12/14 11:19:44 router.go:218: [WARN] fill slot 0131, backend.addr = , locked = false
189 2016/12/14 11:19:44 router.go:218: [WARN] fill slot 0132, backend.addr = , locked = false
190 2016/12/14 11:19:44 router.go:218: [WARN] fill slot 0133, backend.addr = , locked = false
1083 2016/12/14 11:19:44 proxy_api.go:44: [WARN] [0xc8200b89c0] API call /api/proxy/start/5c8aac144656e1734424988552b26b3b from 192.168.34.6:47102 []
1084 2016/12/14 11:19:44 backend.go:195: [WARN] backend conn [0xc82000b770] to 192.168.34.6:6379, writer-[0] exit
1085 [error]: dial tcp 192.168.34.6:6379: getsockopt: connection refused
1086 3 /usr/local/go/src/github.com/CodisLabs/codis/pkg/proxy/redis/conn.go:30
1087 github.com/CodisLabs/codis/pkg/proxy/redis.DialTimeout
1088 2 /usr/local/go/src/github.com/CodisLabs/codis/pkg/proxy/backend.go:79
1089 github.com/CodisLabs/codis/pkg/proxy.(*BackendConn).newBackendReader
1090 1 /usr/local/go/src/github.com/CodisLabs/codis/pkg/proxy/backend.go:197
1091 github.com/CodisLabs/codis/pkg/proxy.(*BackendConn).loopWriter
1092 0 /usr/local/go/src/github.com/CodisLabs/codis/pkg/proxy/backend.go:147
1093 github.com/CodisLabs/codis/pkg/proxy.(*BackendConn).run |
错误都是 |
@spinlock 不是啊,这些错误,都是sentinel选举出新的主节点6479之后,启动以及添加异常报的错,并不是从一开始就有错,这样吧,我一会把截图也发一下吧 |
@Umbraller 你看一下 proxy 的启动时间以及出错的时间,就是说 proxy 刚启动完成注册就报错了。同时 proxy 尝试去通 sentinel 建立连接全部失败,也就不能从 HA 上获得任何信息了。 |
@Umbraller 我了解了,log 包含了多次启动的结果,我看一下最后的。 |
@Umbraller 建议你重新做一次测试,这个 log 里面混合了好几次启动的结果。 PS,我看后面 HA 的确是生效了的啊。另外 proxy 映射表是否正确,你从 FE 上有跳转链接看每个 slot 的状态,同时也可以用 redis-cli 打到 proxy 上用 SLOTSMAPPING 指令查看。 |
@spinlock 从12月14上午11点以后开始看,我大概是在11点左右kill掉主节点6379的,然后sentinel就选举出来了6479,但是后面 proxy就退出,在之后我还重启过其他组件,然后多次启动和添加proxy都报错,后来我点击完prompte按钮,然后再点击sentinel的sync后是没问题了,这就是您在日志的后面看到的是最后是没问题的 |
@spinlock 你看到的shutdown是因为sentinel在完成选举出来6479这个新的主节点后,我发现proxy异常退出了,我才使用shutdown命令关闭proxy,想尝试重新启动并添加proxy,但是发现还是不行,就出现了日志里面,你看到的shutdown,您 明白了吗 |
@Umbraller shutdown log 是 proxy 自己打印的,并且接受的是外部 shutdown 指令。那么如果 proxy 异常退出了,那么他怎么打印的这句日志。。。 |
还是那句话,proxy 一开始都连不上 sentinel,proxy 怎么响应 HA 动作。你说的我都懂。问题是 proxy 连不上 HA 啊。 |
@spinlock 这样吧,这文字说什么都有延时和逻辑上的误导,您有时间,您搭建一下3.1版本的sentinel,您查看下 整个过程,您就知道proxy的异常退出是怎么回事了,也 明白,我那些截图,还有说的是什么样的状况了 |
@spinlock 还有一点强调下,我用的是3.1版本的sentinel功能,不是codis-ha |
json doesn't support map[int]string, using map[string]string instead
问题确认了
|
proxy: fix bug of issue CodisLabs#1078 & CodisLabs#1080
2016/12/14 13:07:05 router.go:218: [WARN] fill slot 0031, backend.addr = 192.168.34.6:6479, locked = false
2016/12/14 13:07:05 router.go:218: [WARN] fill slot 0032, backend.addr = 192.168.34.6:6479, locked = false
2016/12/14 13:07:05 router.go:218: [WARN] fill slot 0033, backend.addr = 192.168.34.6:6479, locked = false
2016/12/14 13:07:05 router.go:218: [WARN] fill slot 0034, backend.addr = 192.168.34.6:6479, locked = false
2016/12/14 13:07:05 router.go:218: [WARN] fill slot 0035, backend.addr = 192.168.34.6:6479, locked = false
2016/12/14 13:07:05 router.go:218: [WARN] fill slot 0036, backend.addr = 192.168.34.6:6479, locked = false
这个6479是sentinel选举出的新的主redis实例,但是proxy却无法连接,导致proxy异常退出,而且还是需要给新的主手动点击一下PROMPTE,然后proxy才好使
更重要的是 哨兵的日志里也都显示成功了,但是就是需要手动PROMPTE;而且手动提升主后,还需要点击哨兵的同步按钮,让哨兵知道现在主从的状态,所有一次完整的提升需要点击两次按钮,这样就根本没有解决ha的问题
The text was updated successfully, but these errors were encountered: