远程调用-rmi远程连接被拒绝
2017-08-21 23:28
513 查看
【问题背景】
本项目的导入导出功能是异步实现的,即:
第一步:前台页面先点击“导入”、“导出”按钮,后台给任务表Task插入一条队列任务;
第二步:Linux主机上的定时程序扫描Task表,然后远程调用Windows主机上部署的“导入导出应用”(ps:中间还有好几个应用之间的调用,此处省略)
第三步:前台页面“下载报告”中查看任务执行情况,并提供“下载”按钮去下载导出的excel文件。
【问题描述】
导出功能在最终上线的时候,发现任务不执行(ps:开发环境、测试环境、准生产环境都验证没有问题)。
【报错信息】
连接被拒绝 Connection refused [IP地址2]
【问题分析】
第一步:找到哪个节点除了问题?(ps:由于是异步,且整个架构涉及好几个节点,不清楚是哪个节点除了问题,只能一步一步跟踪)。
通过跟踪日志,发现Linux上的定时程序没有调用到Windows主机上(ps:window主机上的应用日志没有变化)
第二步:查看定时程序的日志,发现连接被拒绝,但是打印的“IP地址2”不是系统中配置的目标地址。
检查配置文件,发现地址没有配错,确实是“IP地址1”,但是rmi一调用打印出的出错日志中显示的总是“IP地址2”
分别使用ping命令和telnet命令检查网络是否联通,发现“IP地址1”是通的,“IP地址2”是不通的。
下一个问题:为什么会IP地址会发生变化呢?
第三步:怀疑是网络问题,检查Window主机的IP地址情况,使用ipconfig命令发现了三个IP地址。
继续查看网络连接,发现有三个网卡(ps:windows主机是安装在虚拟机上的,这三个网卡也都是虚拟网卡),其中一个是我们配置的地址“IP地址1”,
也有一个是报错信息里面的IP地址“IP地址2”,“IP地址1”和“IP地址2”是同一台主机上的多个虚拟网卡。
下一个问题:怎么只让客户端rmi程序连接“IP地址1”呢?
【解决方案】
禁用多余的虚拟网卡,只留下目标地址“IP地址1”,然后重启Windows主机(PS:重启才会生效,切记),再次调用,问题解决。
本项目的导入导出功能是异步实现的,即:
第一步:前台页面先点击“导入”、“导出”按钮,后台给任务表Task插入一条队列任务;
第二步:Linux主机上的定时程序扫描Task表,然后远程调用Windows主机上部署的“导入导出应用”(ps:中间还有好几个应用之间的调用,此处省略)
第三步:前台页面“下载报告”中查看任务执行情况,并提供“下载”按钮去下载导出的excel文件。
【问题描述】
导出功能在最终上线的时候,发现任务不执行(ps:开发环境、测试环境、准生产环境都验证没有问题)。
【报错信息】
连接被拒绝 Connection refused [IP地址2]
【问题分析】
第一步:找到哪个节点除了问题?(ps:由于是异步,且整个架构涉及好几个节点,不清楚是哪个节点除了问题,只能一步一步跟踪)。
通过跟踪日志,发现Linux上的定时程序没有调用到Windows主机上(ps:window主机上的应用日志没有变化)
第二步:查看定时程序的日志,发现连接被拒绝,但是打印的“IP地址2”不是系统中配置的目标地址。
检查配置文件,发现地址没有配错,确实是“IP地址1”,但是rmi一调用打印出的出错日志中显示的总是“IP地址2”
分别使用ping命令和telnet命令检查网络是否联通,发现“IP地址1”是通的,“IP地址2”是不通的。
下一个问题:为什么会IP地址会发生变化呢?
第三步:怀疑是网络问题,检查Window主机的IP地址情况,使用ipconfig命令发现了三个IP地址。
继续查看网络连接,发现有三个网卡(ps:windows主机是安装在虚拟机上的,这三个网卡也都是虚拟网卡),其中一个是我们配置的地址“IP地址1”,
也有一个是报错信息里面的IP地址“IP地址2”,“IP地址1”和“IP地址2”是同一台主机上的多个虚拟网卡。
下一个问题:怎么只让客户端rmi程序连接“IP地址1”呢?
【解决方案】
禁用多余的虚拟网卡,只留下目标地址“IP地址1”,然后重启Windows主机(PS:重启才会生效,切记),再次调用,问题解决。
相关文章推荐
- 【转】Python中实现远程调用(RPC、RMI)简单例子
- 远程调用之RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- RMI远程方法调用讲解教程 推荐
- RMI(远程方法调用)实现远程操作电脑的步骤
- Java中RMI远程调用demo
- 远程RMI调用接口时传JSON类型参数失败的解决办法
- 远程方法调用(RMI)原理与示例
- 解决“远程会话已断开连接,因为访问被拒绝导致许可证存储的创建失败,请使用提升的权限运行远程桌面客户端”问题
- Java远程调用RMI(Remote Method Invocation)
- rmi远程方法调用
- .net下的面向工控领域的远程方法调用(RMI)中间件,通信层实现
- Java远程方法调用RMI的实现
- ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架
- SecureCRT连接Ubuntu失败(远程系统拒绝访问)
- 使用 RMI + ZooKeeper 实现远程调用框架
- 使用 RMI + ZooKeeper 实现远程调用框架
- 使用 RMI + ZooKeeper 实现远程调用框架
- 使用Java的RMI完成远程调用
- W7 32位,java Rmijdbc远程连接其他电脑上的access数据库
- Spring与RMI 集成,实现远程调用