1

我已经在几台 CentOS6.4 机器上下载了 apache karaf2.3.3(在 felix 上)。我只在少数机器上看到这个问题。当我尝试使用以下命令安装功能时

$KARAF_HOME/bin/start
$KARAF_HOME/bin/client "features:install myfeature"

我得到以下堆栈跟踪:

WARN org.apache.sshd.client.session.ClientSessionImpl - Exception caught
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

看起来客户端无法连接到 karaf。所有机器上的防火墙都已关闭。任何人都知道为什么这可能会失败?如果在控制台模式下使用 /bin/karaf 运行 karaf 并输入相同的命令,该功能就会顺利安装

4

1 回答 1

2

我的猜测是,在安装 Karaf 之前,您为远程 Karaf 控制台定义的端口已被另一个应用程序使用。因此,错误的应用程序接受了链接,无法制作任何数据并重置连接。我建议停止 Karaf,检查netstat或通过telnet localhost <port>Karaf 配置为侦听的端口是否已在使用中,并找到相关的应用程序。作为替代方案,您可以将 Karaf 配置为使用不同的(未使用的)端口。参见例如这个页面

于 2013-12-20T07:50:11.990 回答