clickhouse 写入分布式表报 504 Gateway Time-out

ck数据写入超过3分钟 会报 504

ru.yandex.clickhouse.except.ClickHouseUnknownException: ClickHouse exception, code: 1002, host: xxxxxclickhouse.ads.aliyuncs.com, port: 8123; <html>
<head><title>504 Gateway Time-out</title></head>
<body bgcolor="white">
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx</center>
</body>
</html>
        at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.getException(ClickHouseExceptionSpecifier.java:92)
        at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:56)
        at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:29)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.checkForErrorAndThrow(ClickHouseStatementImpl.java:1052)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.getInputStream(ClickHouseStatementImpl.java:743)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:193)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:163)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:158)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:153)
        at ru.yandex.clickhouse.ClickHouseStatementImpl.execute(ClickHouseStatementImpl.java:330)
        at com.alibaba.dw.alisa.wrapper.launcher.ClickHouseSqlJobLauncher.runWithClickHouseJdbc(ClickHouseSqlJobLauncher.java:61)
        at com.alibaba.dw.alisa.wrapper.launcher.ClickHouseSqlJobLauncher.runTask(ClickHouseSqlJobLauncher.java:48)
        at com.alibaba.dw.alisa.wrapper.ClickHouseWrapper.main(ClickHouseWrapper.java:57)
Caused by: java.lang.Throwable: <html>
<head><title>504 Gateway Time-out</title></head>
<body bgcolor="white">
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx</center>
</body>
</html>
        at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:54)
        ... 11 more

初步分析是因为类似超时参数引起,分析现有参数发现
http_send_timeout http_receive_timeout distributed_ddl_task_timeout的参数超时时间是180秒。

select
  *
from
  system.settings
where
  `value` = '180'

猜测是:
http_send_timeout http_receive_timeout

修改ck参数 (顺便把 distributed_ddl_task_timeout参数修改。)
set global on cluster default http_send_timeout=1800;
set global on cluster default distributed_ddl_task_timeout=1800;
set global on cluster default http_receive_timeout=1800;

查看参数是否生效。
show settings like ‘%timeout%’;

修改参数以后 可以查看query_log 中的Settings 内容语句是否已经生效。

select type,event_time,query,user, Settings from remote(default, system, query_log) where event_date = toDate(now())  order by event_time desc limit 10

虽然修改了以上参数,但是程序依然报504 报错。

让阿里云服务商修改了clickhouse 前面的lb 超时相关参数 。 解决了问题。 lb 配置对用户来说是个黑盒,用户无法修改内部参数。

分析:

到底同时 修改clickhouse 参数 和 slb参数 才解决了问题, 还是只修改slb 参数就可以解决问题 有待进一步验证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值