【问题标题】:Failure to run commands from apache karaf client无法从 apache karaf 客户端运行命令
【发布时间】:2014-01-08 18:48:08
【问题描述】:

我已经在几台 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 并输入相同的命令,该功能就会顺利安装

【问题讨论】:

    标签: osgi apache-felix apache-karaf osgi-bundle blueprint-osgi


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答。我正在使用默认的 karaf 设置,即 8101 用于 ssh 端口。除了 karaf 之外,没有其他进程正在使用该端口。 tcpdump 显示 ./bin/client 尝试将数据包推送到 karaf 服务器,并且服务器以 RST 响应,这会破坏连接。发送此 RST 后,Karaf 本身崩溃。我仍然不知道发生了什么,它即将成为圣诞奇迹:-(
    猜你喜欢
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2022-01-26
    • 1970-01-01
    • 2015-06-18
    • 2014-05-04
    相关资源
    最近更新 更多