Hologres突然不能使用了是啥情况?

hgprecn-cn-zpr3fyidn001
4bb0a9ea9feaef7883aa0c17a8aa7988.png
Hologres突然不能使用了是啥情况?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-04-23 18:53:57 74 分享 版权
阿里云 AI 助理回答

根据您提供的问题“Hologres实例(hgprecn-cn-zpr3fyidn001)突然不能使用了”,以下是可能的原因及解决方法,基于知识库中的参考资料进行分析和总结:


1. 检查常见报错及原因

Hologres实例突然不可用,可能是由于以下常见报错导致的。请根据实际报错信息排查问题:

(1)ERPC TIMEOUT 或 ERPC CONNECTION CLOSED

  • 现象:出现类似com.alibaba.blink.store.core.rpc.RpcException: request xx UpsertRecordBatchRequest failed on final try 4, maxAttempts=4, errorCode=3, msg=ERPC_ERROR_TIMEOUT的报错。
  • 可能原因
    • 写入压力过大,导致写入失败。
    • Hologres实例的CPU负载过高或后端节点挂掉(如OOM或Coredump)。
  • 解决方法
    • 先尝试重试写入操作。
    • 如果问题持续,请联系Hologres技术支持人员排查实例状态。

(2)BackPressure Exceed Reject Limit

  • 现象:写入时出现BackPressure Exceed Reject Limit错误。
  • 可能原因
    • Hologres后端写入压力过大,Memtable来不及刷盘。
  • 解决方法
    • 如果是偶发性问题,可以忽略。
    • 调大写入重试次数,例如设置rpcRetries = '100'
    • 如果问题持续,请联系Hologres技术支持人员确认后端实例状态。

(3)表名版本不匹配

  • 现象:出现类似The requested table name xxx mismatches the version of the table xxx from server的报错。
  • 可能原因
    • 用户对表执行了ALTER TABLE操作,导致Blink写入的Schema版本号低于Server端版本号。
  • 解决方法
    • 如果是偶发性问题,可以忽略。
    • 如果问题持续,请联系Hologres技术支持人员。

(4)Failed to query table meta for table

  • 现象:读写外部表时出现Failed to query table meta for table错误。
  • 可能原因
    • Hologres Connector不支持读写外部表。
    • Hologres实例Meta出现问题。
  • 解决方法
    • 确认是否在操作外部表,如果是,请避免直接读写外部表。
    • 如果问题持续,请联系Hologres技术支持人员。

2. 检查实例资源使用情况

如果未发现明确的报错信息,建议从资源使用角度排查问题:

(1)CPU负载过高

  • 现象:Hologres实例的CPU负载接近或达到上限。
  • 解决方法
    • 登录阿里云控制台,查看Hologres实例的监控指标。
    • 如果负载过高,考虑优化查询逻辑或扩容实例。

(2)连接数耗尽

  • 现象:并发写入过多,导致连接数耗尽。
  • 解决方法
    • 检查Flink作业的并发度配置,适当降低写入算子的并发度。
    • 参考文档调整资源配置,选择专家模式为写入算子单独设置较小的并发。

3. 检查Binlog消费相关问题

如果您的业务涉及Binlog消费,可能会遇到以下问题:

(1)Replication Slot相关问题

  • 现象:消费Binlog时出现no table is defined in publicationThe table xxx has no slot named xxx错误。
  • 可能原因
    • 删除并重建同名表时,与表绑定的Publication未被删除。
  • 解决方法
    • 在Hologres中执行以下SQL语句,清理残留的Publication:
    SELECT * FROM pg_publication WHERE pubname NOT IN (SELECT pubname FROM pg_publication_tables);
    DROP PUBLICATION <publication_name>;
    
    • 重新启动作业。

(2)数据脱敏功能限制

  • 现象:消费Binlog时出现Replication does not support hologres anon now错误。
  • 可能原因
    • 启用了数据脱敏功能,但当前不支持对启用了脱敏的表消费Binlog。
  • 解决方法
    • 关闭对Binlog消费用户的数据脱敏设置:
    ALTER ROLE "<user>" SET hg_anon_enable = OFF;
    
    • 或者针对特定数据库关闭脱敏:
    ALTER ROLE "<user>" IN DATABASE <database> SET hg_anon_enable = OFF;
    
    • 注意:此操作仅影响当前用户或数据库的脱敏设置。

4. 其他可能原因

(1)网络问题

  • 现象:无法连接到Hologres实例。
  • 可能原因
    • 网络不通或实例所在区域的网络配置异常。
  • 解决方法
    • 检查网络连通性,确保客户端能够访问Hologres实例。
    • 如果使用OSS导出数据,确保OSS域名和网络类型配置正确。

(2)实例升级或维护

  • 现象:实例突然不可用,且无明显报错。
  • 可能原因
    • 实例正在进行升级或维护。
  • 解决方法
    • 登录阿里云控制台,查看实例状态。
    • 如果实例正在维护,请等待维护完成。

5. 联系技术支持

如果以上方法均无法解决问题,请联系Hologres技术支持团队,提供以下信息以便快速定位问题: - 实例ID(如hgprecn-cn-zpr3fyidn001)。 - 报错信息或日志。 - 问题发生的时间范围。 - 相关操作背景(如是否进行了表结构变更、扩容等操作)。


通过以上步骤,您可以逐步排查Hologres实例不可用的原因,并采取相应的解决措施。如果仍有疑问,请随时联系技术支持团队获取进一步帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

还有其他疑问?
咨询AI助理