获取元信息超时
现象
创建任务、修改订阅、查看库表映射 出现 SocketTimeoutException,日志中出现
远程获取数据表的元信息失败。错误信息为:invoke rcontroller method failed.Request id:6f2888ca-d16a-11ee-8b0d-81c0e706f1d8msg:SocketTimeoutException: Read timed out. target sidecar is 172.31.238.4, route name is mysql_rdbLoadColumns
排查
原因
- 数据源表字段数量过多,Console 默认元信息获取时间默认为 60s,导致 SocketTimeoutException
解决
- 修改 Console 配置
- TGZ 部署
- vi {安装目录}/cloudcanal/console/conf/business-output.properties
- Docker 部署
- docker exec -it cloudcanal-console /bin/bash
- vi /home/clougence/cloudcanal/console/conf/business-output.properties
- K8s 部署
- kubectl exec -it console-0 -n cloudcanal /bin/bash
- vi /home/clougence/cloudcanal/console/conf/business-output.properties
- TGZ 部署
- 修改参数 console.config.metadata.fetch.socket_timeout_ms(默认是 60 秒)
- 重启 Console
- TGZ 部署
- cd {安装目录}/cloudcanal/console/bin/ && su clougence -c "./stopConsole.sh" && su clougence -c "./startConsole.sh"
- Docker 部署
- docker exec cloudcanal-console bash -c "cd /home/clougence/cloudcanal/console/bin && su clougence -c "./stopConsole.sh" && su clougence -c "./startConsole.sh""
- K8s 部署
- kubectl exec -it console-0 -n cloudcanal -- bash -c 'cd /home/clougence/cloudcanal/console/bin/ && su clougence -c "./stopConsole.sh" && su clougence -c "./startConsole.sh"'
- TGZ 部署