表现 在平时工作中,会用到dolphinscheduler/datagrip/dbever等运行clickhousesql,而clickhouse的jdbc在运行过程中给予我的痛苦可不是一星半点,常常运行一个sql会报错,没错,就是tim
在平时工作中,会用到dolphinscheduler/datagrip/dbever等运行clickhousesql,而clickhouse的jdbc在运行过程中给予我的痛苦可不是一星半点,常常运行一个sql会报错,没错,就是timeout。查阅各种资料后,找到了一个成本较低的解决方案。
clickhouse作为一款近即席的数据库,数据处理是比较快的,但是遇见比较复杂的数据处理逻辑的时候,难免会在30s内没有任何的结果返回,此时jdbc认为是超时了,进而报错,无返回结果。实际上,CH仍在运行提交的sql,而开发人员会认为是失败。反而会再次提交任务,使得集群压力大,而且,CH的并发支持并不是很高,重复的提交会有拖垮进程的危险。
直接修改url,在最后添加Socket_timeout=300000即可解决,测试ok,可以在更长的时间返回处理的结果
使用的版本是2.0.6,在数据源中添加参数其实是不生效的,测试过多种方式,都没有起作用,最终,想到了一个黑科技,没错,就是元数据,打开Mysql,找到对应的数据源的表,修改CH对应的URl。解决!
虽然不是很官方的操作,但是,这无疑是最快速、成本最低的解决方式。还有几个方式据说是同样可以解决,但是需要改的配置比较多。
除非是经常遇见这类情况,不建议修改元数据。修改时,做好数据的备份,以免操作失误。有更好的方式,也欢迎大家分享~
来源地址:https://blog.csdn.net/wzf1997one/article/details/129753889
--结束END--
本文标题: 解决运行clickhouseSql超时问题
本文链接: https://www.lsjlt.com/news/414596.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0