1.确认是否是防火墙的问题,用telnet可测试各个节点之间是否连通,或者用memql-ops memsql-update-config --all --key max_pooled_connections --value 2048 命令修改所有节点的连接池大小,如果修改成功,则代表防火墙没问题
2.如果防火墙没问题,就可能是各个节点的连接池大小的问题
此问题是在国外网站找到解决方案,英语水平有限,大致意思就是上面两点,原文地址:https://knowledgebase.memsql.com/hc/en-us/articles/212165403-Query-Error-Unable-to-connect-Timed-out-reading-from-socket
Query Error: Unable to connect ... Timed out reading from socket
ISSUE
Running a query fails with an error like:
CAUSE
A MemSQL node is unable to connect to another MemSQL node. This may be because there is no network connectivity (such as a network problem or a firewall blocking connectivity), or because a node is overloaded with connection requests.
- Ensure that all nodes are able to connect to all other nodes on the configured port (default 3306). Make sure there is no firewall blocking connectivity.
- One way to verify connectivity is to run the MemSQL command on all MemSQL nodes. If this fails with the same error, then a node is unable to connect to another node.
- Note that some queries require different amounts of connectivity, e.g. some queries only require aggregator-leaf connections while others require aggregator-leaf as well as leaf-leaf connections. As a result, it is possible for some queries to succeed while others fail with this error.
- If all nodes are able to connect to all other nodes, the error is likely because your query or queries require opening too many connections at once. Run
on all MemSQL nodes to pre-fill connection pools. If the connection pool size is too small for your workload, adjust
the
max_pooled_connectionsconfiguration variable, which controls the number of pooled connections between each pair of nodes.
本文介绍了解决MemSQL数据库中出现的“无法连接,从套接字读取超时”错误的方法。首先检查防火墙设置并使用telnet或特定MemSQL命令验证节点间连通性。其次调整max_pooled_connections参数以确保足够的连接池大小。

被折叠的 条评论
为什么被折叠?



