首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在elasticsearch中获取ConnectTransportException同时获取TransportClient实例

在elasticsearch中获取ConnectTransportException同时获取TransportClient实例
EN

Stack Overflow用户
提问于 2014-08-14 07:57:04
回答 1查看 1K关注 0票数 0

我使用TransportClient创建下面代码的elasticsearch客户端实例。

代码语言:javascript
复制
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调试[弹性搜索节点-clientT#8{新I/O工作者#8}] org.elasticsearch.common.logging.log4j.Log4jESLogger 104 -节点-客户端从[Nuke Simpsonaricloudvmserver3.aricent.cominet/10.203.238.139:9300]],]断开连接通道关闭事件14-08-2014 12:49:11,134调试[弹性搜索节点-clientT#1] org.elasticsearch.common.logging.log4j.Log4jESLogger 109 -节点-客户端未能连接到节点[#传输#-1[inet/10.203.238.139:9300],从节点列表中删除org.elasticsearch.transport.ConnectTransportException: inet/10.203.238.139:9300] connect_timeout30s at org.elasticsearch.transport.netty.NettyTransport.connectToChannelsLight(NettyTransport.java:683) at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:643) at org.elasticsearch.transport.netty.NettyTransport.connectToNodeLight(NettyTransport.java:610)

请帮我找出这个问题。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-15 07:17:15

在我看来你的代码是正确的。如果这是一个断断续续的问题,则可归因于:

  • 失去连通性

也如上一篇文章中所建议的,删除与节点相关的设置,然后尝试设置下面提到的属性

代码语言:javascript
复制
settingsBuilder.put("cluster.name", searchClusterName);
settingsBuilder.put("client.transport.sniff", true);
settingsBuilder.put("http.enabled", "false");

试试这个,分享你的发现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25302845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档