问题

  • 使用clickhouse作为数据库,存储前端设备采集到的海量数据
  • 使用Java语言开发,连接数据库保存数据,实时分批写入,使用的maven依赖如下:
 <!-- clickhouse 相关依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.5</version></dependency><dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.2.6</version></dependency><!-- clickhouse end -->
  • 使用DruidDataSource建立连接,连接里已经设置了超时时间
@Bean(name = "clickHouseDataSource")@ConditionalOnProperty(prefix = "spring.datasource.click-house",name = "url")public DataSource clickHouseDataSource() {DruidDataSource datasource = new DruidDataSource();datasource.setUrl(url);datasource.setDriverClassName(driverClassName);datasource.setInitialSize(initialSize);datasource.setMinIdle(minIdle);datasource.setMaxActive(maxActive);datasource.setMaxWait(maxWait);datasource.setUsername(username);datasource.setPassword(password);Properties properties = new Properties();properties.put("socket_timeout", timeout);datasource.setConnectProperties(properties);return datasource;}
  • ck保存失败,报错信息截取如下
Caused by: ru.yandex.clickhouse.except.ClickHouseUnknownException: ClickHouse exception, code: 1002, host: 192.168.1.100, port: 8123; failed to respond
  • 关键报错截取为code 1002, 8123 failed to respon,使用工具发现clickhouse还可以连接,服务正常,说明这个就是Java程序连接clickhouse的超时问题

解决

  • 数据库连接超时,是偶现现象。数据库与程序都在一个网络环境内,网络连接应该是没问题的
  • 连接超时,有可能是程序的写入或查询数据量过大,数据库未在限定时间范围内返回结果,程序认定超时,抛出报错
  • 程序连接的代码已经设置了超时时间,还是报了这个错误,找其他原因
  • 最终发现还需要修改clickhouse数据库设置,就是clickhouse服务端的参数配置
  • 修改clickhouse配置文件,/etc/clickhouse-serverconfig.xmlkeep_alive_timeout参数,默认是3,可以改为60s
    <!-- For 'Connection: keep-alive' in HTTP 1.1 --><keep_alive_timeout>3</keep_alive_timeout>
  • 重启clickhouse服务(systemctl restart clickhouse-server),问题解决

【已解决】Java保存数据超时失败 ClickHouse exception, code 1002, 8123 failed to respon,keep_alive_timeout参数相关推荐

  1. 【clickhouse】未解决 ClickHouse exception, code: 1002 DB::Exception: Directory already exists

    1.概述 clickhouse 报错如下 SQL 错误 [1002]: ClickHouse exception, code: 1002, host: localhost, port: 8123; C ...

  2. (已解决)oracle 查询数据一直提示:“error code [17004]; 无效的列类型”

    解决方法:传入的键值对,要对应数据库的字段类型. 比如oracle的varchar,varchar2要对应 java 的string , number要对应java的long. 今天在上班启动系统的时 ...

  3. 已解决java.lang.Integer cannot be cast to java.lang.String异常的正确解决方法,亲测有效!!!

    已解决java.lang.Integer cannot be cast to java.lang.String异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 福利 报错问题 1.在执 ...

  4. 已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!!

    已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!! 文章目录 报错问题 报错原因 解决方法 NoClassDefFoundError解决示例 福利 报 ...

  5. 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的

    已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的 ...

  6. 已解决 java.sql.SQLException: 列名无效

    已解决 java.sql.SQLException: 列名无效 说明在获取ResultSe结果集的时候字段与查询到的表中字段没有一至的, 解决方案: 更改rs.getObject(" 字段名 ...

  7. 已解决java.util.concurrent.ExecutionException异常的正确解决方法,亲测有效!!!

    已解决java.util.concurrent.ExecutionException异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 福利 报错问题 粉丝群里面的一个小伙伴敲代码时发生 ...

  8. 已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!!

    已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 福利 报错问题 粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间 ...

  9. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法

    解决python保存数据到csv文件中文乱码的方法 发布时间:2020-07-08 13:49:53 来源:亿速云 阅读:695 作者:清晨 小编给大家分享一下解决python保存数据到csv文件中文 ...

最新文章

  1. html loading原理,加载HTML-Loading HTML
  2. Vue开发中遇到的问题及解决方案
  3. python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
  4. 保密计算机责任人变更表,附件6-2-1南京理工大学涉密计算机申报表.doc
  5. oracle学习--循环语句
  6. 在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections
  7. 您必须学习Java 8的函数式编程吗?
  8. 服务器网站常用端口号,web服务器常用端口号
  9. Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands
  10. Aerospike SSD模式下,刷写磁盘和写入数据swb的关系
  11. 【YOLO】YOLO简介
  12. 解线性方程组——高斯消元の板子
  13. Vitamio的踩坑+填坑
  14. python监控短信_利用Python实现手机短信监控通知的方法
  15. python 网页爬虫抓取 自动化测试之phantomjs使用详解
  16. 计算机专业学生必看的网站
  17. 银行卡支付的背后原理你了解吗?
  18. 【Unity技术积累】鼠标控制人物移动 导航系统 动画
  19. 汉芯核心成员爆料:陈进与台湾公司秘密交易
  20. G120变频器抱闸逻辑在提升机上应用

热门文章

  1. unity2D 动态漫画剧本(给猛虎桥章节做动画演示二)
  2. CES 2017:连接人工智能
  3. JavaScript学习笔记(八)——作用域
  4. 计算机关机后系统更新,电脑关机的时候一直在安装更新,已经一天了,还没更新完,也关不了机,怎么办...
  5. 微信支付专题——微信平台证书的两种下载方式,亲测成功
  6. 泡妞技术帖:一物降一物 金庸爷爷教你如何谈恋爱
  7. Android开发人员不得不收集的代码,面试心得体会
  8. Kaggle神器LightGBM最全解读(附代码说明)!
  9. 用 Windows Live Writer完美发布新浪、网易、blogcn、blogbus、cnblogs 博客2
  10. Ubuntu 设置 OpenDNS