现在我所在的项目组在调研Flink框架,有一个指标需要读取Kafka中的数据然后使用Redis存储最终的结果。 我们在pom文件中引入了flink-redis的connector,然后按照官方的RedisSink案例,在本地开发的时候可以正常写入到某台服务器上的Redis中, 但是当我把程序打成Jar包之后,部署到服务器(华为云MRS)上使用flink run提交到yarn之后总是在报错,无法写入到Redis中,各位知道是为什么吗? 问题已经卡了我两天了,一点进展都没有,有劳各位帮忙解答一下,Thank you! 报错如下: redis.client.jedis.exceptions.JedisConnectionException:Could not get a resource from the pool at ..... *来自志愿者整理的flink邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您描述的问题,程序在本地开发环境能够正常写入Redis,但在华为云MRS服务器上通过YARN提交任务后无法写入Redis,报错为JedisConnectionException: Could not get a resource from the pool
。这通常意味着Flink作业在运行时无法成功从连接池中获取到Redis的连接资源。结合您的情况和知识库信息,以下是一些可能的原因及排查建议:
网络配置问题:
Redis连接参数配置:
资源限制与连接池配置:
依赖冲突或版本兼容性:
环境变量与系统属性:
日志分析:
代理或网络转发:
综上所述,解决此问题的关键在于细致检查网络连通性、配置一致性、资源限制以及日志中的具体错误信息。希望这些建议能帮助您定位并解决问题。您也可以通过ECS一键诊断全面排查并修复ECS问题。