繁体   English   中英

在Elasticsearch中获取TransportClient实例时获取ConnectTransportException

[英]getting ConnectTransportException while fetching TransportClient instance in elasticsearch

我正在使用TransportClient使用以下代码创建elasticsearch客户实例。

public static Client getInstance() {
    String ipAddress = MessageTranslator.getMessage("es.cluster.ip");
    int transportClientPort = Integer.parseInt(MessageTranslator
                .getMessage("es.transportclient.port"));

    logger.debug("got the client ip as :" + ipAddress + " and port :"
            + transportClientPort);
    if (instance == null) {
        logger.debug("the client instance is null, creating a new instance");
        ImmutableSettings.Builder settings = ImmutableSettings
                .settingsBuilder();
        settings.put("node.client", true);
        settings.put("node.data", false);
        settings.put("node.name", "node-client");
        settings.put("cluster.name", "elasticsearch");
        settings.build();
        instance = new TransportClient(settings)
                .addTransportAddress(new InetSocketTransportAddress(
                        ipAddress, transportClientPort));
        logger.debug("returning the new created client instance...");
        return instance;
    }
    logger.debug("returning the existing transport client object connection.");
    return instance;
}

问题是代码有时可以正常工作并为数据建立索引,但是有时候我遇到了以下问题。

14-08-2014 12:49:07,846调试[elasticsearch [node-client] [transport_client_worker] [T#8] {New I / O worker#8}] org.elasticsearch.common.logging.log4j.Log4jESLogger 104-[节点客户端]与[[Nuke-Frank Simpson] [P_OU-PZbTXyimWCOvkC7ow] [aricloudvmserver3.aricent.com] [inet [/10.203.238.139:9300]]断开连接,频道关闭事件14-08-2014 12:49: 11,134调试[elasticsearch [node-client] [generic] [T#1]] org.elasticsearch.common.logging.log4j.Log4jESLogger 109-[node-client]无法连接到节点[[#transport#-1] [ BGHWV2099] [inet [/10.203.238.139:9300]]],已从节点列表org.elasticsearch.transport.ConnectTransportException中移除:[] [inet [/10.203.238.139:9300]] connect_timeout [30s],位于org.elasticsearch.transport org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:643)的.netty.NettyTransport.connectToChannelsLight(NettyTransport.java:683)在org.elasticsearch.transport.netty.NettyTransport.connectToNodeLight(NettyTransport.java:610) )

请帮助我找到问题。

谢谢

您的代码对我来说看起来正确。 如果这是一个间歇性问题,则可以归因于:

  • 连线中断

同样按照上一篇文章中的建议,删除与节点相关的设置,然后尝试设置以下提到的属性

settingsBuilder.put("cluster.name", searchClusterName);
settingsBuilder.put("client.transport.sniff", true);
settingsBuilder.put("http.enabled", "false");

尝试一下并分享您的发现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM