ElasticSearch java客户端更新时出现的错误:NoNodeAvailableException[None of the configured nodes are available

下午尝试 用ElasticSearch  的java客户端去做数据检索工作,测试了一下批量更新,代码如下:

public static void bulkUpdateGoods(List<Goods> goods) throws IOException, InterruptedException, ExecutionException {
        Client client = null;
        try {
            client = TransportClient.builder().build()
                    .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("hadoop-slave4"), 9300));

        } catch (Exception e) {
            e.printStackTrace();
        }

        BulkRequestBuilder req = client.prepareBulk();

        for (Goods good : goods) {
            req.add(client.prepareIndex("smms", "goods", good.getId() + "")
                    .setSource(jsonBuilder().startObject().field("unit", good.getUnit()).field("price", good.getPrice())
                            .field("name", good.getName()).field("barcode", good.getBarCode()).endObject()));
        }

        BulkResponse res = req.execute().actionGet();

        if (res.hasFailures()) {
            System.out.println("Error");
        } else {
            System.out.println("Done");
        }

        client.close();
    }
}

但是测试的时候老是给我报这个错误:NoNodeAvailableException[None of the configured nodes are available。具体没截图。

然后我改正两点后解决问题,一处是用9300端口 而不是9200.9200端口只是HTTP端口。

第二处是我把配置文件里cluter.name给注释掉了,就能用了。具体原理不清楚。

时间: 2024-10-08 13:44:58

ElasticSearch java客户端更新时出现的错误:NoNodeAvailableException[None of the configured nodes are available的相关文章

elasticsearch java 客户端之action简介

上一篇介绍了elasticsearch的client结构,client只是一个门面,在每个方法后面都有一个action来承接相应的功能.但是action也并非是真正的功能实现者,它只是一个代理,它的真正实现者是transportAction.本篇就对action及transportAction的实现做一个简单的分析, elasticsearch中的绝大部分操作都是通过相应的action,这些action在action包中.它的结构如下图所示: 上图是action包的部分截图,这里面对应着各个功能

mac_os_x更新yosemite以后github客户端更新提示ca认证错误解决办法

最近手贱更新了mac os yosemite的系统版本,更新以后发现部分软件无法使用,例如php 扩展的redis模块,mou,eclipse等等,甚是郁闷啊.对于图形化的软件还好说去官网更新一下新版本,但对于服务类的真是让人头疼,赶巧今天用github客户端更新代码的时候提示 看起来好熟ca证书加载失败,因为github是基于https的,没有ca证书没办法做提交.更新等操作.电脑上刚安装github的时候特意搞过,但是升完级为什么就没有了呢,命令行切换到存放证书的目录 cd ~/certs

elasticsearch java 客户端之Client简介

elasticsearch通过构造一个client体现对外提供了一套丰富的java调用接口.总体来说client分为两类cluster信息方面的client及数据(index)方面的client.这两个大类由可以分为普通操作和admin操作两类.以下是client的继承关系(1.5版本,其它版本可能不一样): 通过这个继承关系图可以很清楚的了解client的实现,及功能.总共有三类即client, indicesAdminClient和ClusterAdminClient.它都有自己的实现类,但

elasticsearch JAVA客户端操作---搜索的过滤、分组高亮

elasticsearch        提供的API比较多,看名字差不多可以明白什么意思 源码地址:源码下载点击 public void search01() { QueryBuilder query = QueryBuilders.queryString("9"); // 设置搜索的内容和现实的大小 SearchResponse res = client.prepareSearch("test").setQuery(query) .setFrom(0).setS

linode使用apt更新时停止的错误

使用ubuntu在更新系统时候,有时候会出现这样的问题: 0% [Connecting to security.ubuntu.com (2001:67c:1560:8001::14)] 问了下客户,他的回答是这是一个已知的ubuntu系统错误,有ipv6引起,可以,强制apt使用ipv4就可以解决. apt-get -o Acquire::ForceIPv4=true update

Elasticsearch使用java读取数据报错NoNodeAvailableException: None of the configured nodes are available: [127.0.0.1:9300]

对于这个问题,大部分人出现在这个地方: Client client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("172.16.2.13", 9300));? 问题在于前面初始化settings时给cluster设置了个新的名字,如:Settings settings = ImmutableSettings.settingsBuilder().put("c

elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)

一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接方式是RESTful风格的,使用http的方式进行连接 3.2 Transport 连接 端口 9300 这种连接方式对应于架构图中的Transport这一层,这种客户端连接方式是直接连接ES的节点,使用TCP的方式进行连接 4. ES提供了多种

【安卓】数据库基于脚本的&quot;增量更新&quot;,每次更新时不需修改java代码、!

思路: 1.当然是基于SQLiteOpenHelper.onCreate(第一次安装程序时调用).onUpdate(升级程序时调用) 2.用"脚本"(脚本制作具体方法问度娘)做数据库升级,文件名标识对应版本,java中根据"上一版本.当前版本"选择执行的脚本. 升级时,修改DB_VERSION(当前版本)即可. DBManager.java: package com.example.test; import java.io.ByteArrayOutputStream

Elasticsearch及java客户端jest使用

本文使用Github中的Elasticsearch-rtf,已经集成了众多的插件,例如必须使用的中文分词等,可以简单的通过配置来启用中文分词.本文主要分为以下几部分: 1.配置和启用中文分词: 2.定义索引的mapping 3.java客户端jest创建和检索索引 4.高亮检索结果 5.集群配置 工具: 由于Elasticsearch完全REST风格,支持json进行交互,简单的curl工具就可以完成很多功能,本文中也有部分操作会直接使用curl.window环境下建议下载一个可执行的curl.