解决Flink中报 java.net.ConnectException:拒绝连接 在java.net.PlainSocketImpl.socketConnect

一.报错如下

这种报错的原因是,你写的代码连接不到你指定的Flink集群

在这里插入图片描述
可以看下,报错的日志
在这里插入图片描述

二.解决办法

我这里只是测试wordcount,做个Demo

因此在WebUI提交jar包时,先启动nc -lk 端口,然后就可以解决这个报错了。

三.测试成功

1.先在linux下启动,nc -lk 666

[root@bigdata115 flink-1.7.2]# nc -lk 666
hello flink
hello jackson
hello jack

2.在提交jar包
在这里插入图片描述
查看发送和接收消息:
在这里插入图片描述
查看生产的结果日志:

在TaskManager端
在这里插入图片描述

在这里插入图片描述

如果我的博客对你有帮助、如果你喜欢我的博客内容,可以点个赞哟
当然也可以加VX:LQ518123002,一起共同学习交流Flink。
码字不易,大家的支持就是我坚持下去的动力。

### Flink 中 `Java.net.ConnectException` 的解决方案 当在 Flink 集群运行过程中遇到 `java.net.ConnectException: Connection refused` 错误时,通常表明客户端尝试连接到某个服务器或服务端口失败。以下是可能导致此问题的原因及其对应的解决方法: #### 1. **检查 Hadoop 和 YARN 配置** 如果错误涉及 HDFS 或者 YARN 资源管理器,则可能是由于配置文件中的主机名或 IP 地址不匹配引起的。确认以下几点: - 确保 `core-site.xml` 文件中指定的 NameNode 地址正确无误。 - 如果集群中有多个节点,请验证 `/etc/hosts` 文件是否正确映射了所有节点名称与其对应 IP 地址。 对于具体案例提到的 Call From 主机 A 到主机 B 失败的情况,可以参考如下命令测试连通性并排查防火墙设置[^2]: ```bash telnet <目标IP> <端口号> ping <目标IP> ``` #### 2. **JDBC 数据库连接参数校验** 针对 JDBC 表定义引发的异常(如引用描述),需重点核查以下几个方面[^3]: - 数据库 URL 是否指向实际存在的实例; - 使用正确的 MySQL Connector/J 版本号来适配所部署的目标数据库版本; - 用户账户权限授予范围覆盖所需操作对象表单; 示例修正后的 SQL 创建语句如下所示: ```sql CREATE TABLE sink_demo ( id INT PRIMARY KEY, name STRING, description STRING ) WITH ( 'connector' = 'jdbc', 'driver' = 'com.mysql.cj.jdbc.Driver', 'url' = 'jdbc:mysql://<真实DB_IP>:3306/<有效Schema>', 'username'='合法用户名', 'password'='安全密码', 'table-name' = '<存在表格>' ); ``` #### 3. **SSH 服务状态检测** 如果是通过 FinalShell 类似工具执行远程提交作业流程遭遇拒绝访问情形的话,那么很可能是 SSH daemon 尚未开启所致[^4]. 可按照下面步骤激活它: ```bash sudo systemctl start sshd.service sudo systemctl enable sshd.service ``` 另外还需留意 SELinux 政策模式设定以及 iptables 规则是否存在阻碍外部请求的因素. #### 4. **环境变量调整** 有时即使上述条件均满足仍会碰到此类状况, 此刻不妨试着修改某些系统级属性试试看效果如何? 比方说把 JAVA_LIBRARY_PATH 加入 PATH 当中去或许有所帮助[^5]. ```bash export LD_LIBRARY_PATH=/path/to/native/libs:$LD_LIBRARY_PATH export JAVA_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_LIBRARY_PATH ``` 综上所述,处理这类网络层面的问题往往需要综合考虑多方面的因素才能彻底根除隐患所在。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperBigData~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值