简体   繁体   English

NoNodeAvailableException[没有配置的节点可用:[{#transport#-1}{XY6cYmf7Sn-DRZgzeq3PBA}{localhost}{127.0.0.1:9300}]]

[英]NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{XY6cYmf7Sn-DRZgzeq3PBA}{localhost}{127.0.0.1:9300}]]

I am using BULK API of elasticsearch with version 5.6.16 of Elasticsearch and KIbana both.我正在使用 elasticsearch 的 BULK API 和 Elasticsearch 和 KIbana 的 5.6.16 版本。 The following code is working fine and uploading the code to an index of ES.以下代码工作正常并将代码上传到 ES 的索引。

these are dependencies that I currently have.这些是我目前拥有的依赖项。

implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch'实施 'org.springframework.boot:spring-boot-starter-data-elasticsearch'

compile group: 'org.elasticsearch.client', name: 'transport'编译组:'org.elasticsearch.client',名称:'transport'

compile group: 'org.elasticsearch.plugin', name: 'transport-netty4-client'编译组:'org.elasticsearch.plugin',名称:'transport-netty4-client'


@Service
public class BulkApiService {
    private final Logger log = LoggerFactory.getLogger(BulkApiService.class);
    private String FOLDER_PATH = "src/main/resources/allRecipesJson";
    private String index = "test";

    @Autowired
    ElasticSearchConfig elasticSearchConfig;

    public String loadBulkData() throws UnknownHostException {
        Client client = elasticSearchConfig.client();
        AtomicReference<BulkRequestBuilder> request = new AtomicReference<>(client.prepareBulk());
        AtomicInteger counter = new AtomicInteger();
        try (Stream<Path> filePathStream = Files.walk(Paths.get(FOLDER_PATH))) {
            filePathStream.forEach(filePath -> {
                if (Files.isRegularFile(filePath)) {
                    counter.getAndIncrement();
                    try {
                        String content = Files.readString(filePath);
                        JSONObject jsonObject1 = new JSONObject(content);
                        HashMap yourHashMap1 = new Gson().fromJson(jsonObject1.toString(), HashMap.class);
                        request.get().add(client.prepareIndex(index, "default").setSource(yourHashMap1));

                    } catch (IOException ignore) {
                        log.error(ignore.toString());

                    }

                }
            });
            BulkResponse bulkResponse = request.get().execute().actionGet();

        } catch (Exception e) {
            log.error(e.toString());
        }

        return "Bulk data loaded to index " + index + "";
    }

Following is the configuration以下是配置


@Configuration
public class ElasticSearchConfig {
    private static final Logger log = LoggerFactory.getLogger(ElasticSearchConfig.class);

    @Bean
    public Client client() {
        TransportClient client = null;
        try {
            client = new PreBuiltTransportClient(Settings.EMPTY)
                    .addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"), 9300));

        } catch (UnknownHostException e) {
            log.error(log.toString());
        }
        return client;
    }
}

Now I want to move to Elasticserch and Kibana version 7.3.1.现在我想迁移到 Elasticserch 和 Kibana 版本 7.3.1。 I am unable to load the data to the elasticsearch index.我无法将数据加载到 elasticsearch 索引。 The following error is shown on IDE Log IDE 日志显示以下错误

service.BulkApiService - NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{XY6cYmf7Sn-DRZgzeq3PBA}{localhost}{127.0.0.1:9300}]] service.BulkApiService - NoNodeAvailableException[配置的节点都不可用:[{#transport#-1}{XY6cYmf7Sn-DRZgzeq3PBA}{localhost}{127.0.0.1:9300}]]

The error on elasticsearch imagec elasticsearch imagec 上的错误

Kindly help me to correct it.请帮我纠正它。

Following is the correct code.以下是正确的代码。

@Service
public class BulkApiService { private final Logger log = LoggerFactory.getLogger(BulkApiService.class);
    private String FOLDER_PATH = "src/main/resources/allRecipesJson";
    private String index = "test1";
    private static final String TYPE = "test_type";


    @Autowired
    private RestHighLevelClient restHighLevelClient;

    public String loadBulkData() throws IOException {

        BulkRequest bulkRequest = new BulkRequest();
        AtomicInteger counter = new AtomicInteger();
        try (Stream<Path> filePathStream = Files.walk(Paths.get(FOLDER_PATH))) {
            filePathStream.forEach(filePath -> {
                if (Files.isRegularFile(filePath)) {
                    counter.getAndIncrement();
                    System.out.println(filePath.toFile().getAbsoluteFile().toString());
                    try {
                        String content = Files.readString(filePath);
                        JSONObject jsonObject1 = new JSONObject(content);
                        HashMap yourHashMap1 = new Gson().fromJson(jsonObject1.toString(), HashMap.class);
                        IndexRequest indexRequest = new IndexRequest(index, TYPE).source(yourHashMap1);
                        bulkRequest.add(indexRequest);

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


                }
            });
        }
        try {
            restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "Bulk data loaded to index " + index + "";
    }
}

Add the following dependency and remove the already placed dependencies.添加以下依赖项并删除已放置的依赖项。

compile 'org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.2'编译'org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.2'

暂无
暂无

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

相关问题 NoNodeAvailableException [没有配置的节点可用:[{#transport#-1} {...} {127.0.0.1} {127.0.0.1:9300}]] - NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{…}{127.0.0.1}{127.0.0.1:9300}]] NoNodeAvailableException[没有配置的节点可用:[{#transport#-1}{OqtopIzTQmOjjLBzr2G_JA}{127.0.0.1}{127.0.0.1:9300}]] - NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{OqtopIzTQmOjjLBzr2G_JA}{127.0.0.1}{127.0.0.1:9300}]] org.elasticsearch.client.transport.NoNodeAvailableException:没有配置的节点可用:[] - org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [] NoNodeAvailableException : 没有配置的节点可用 - NoNodeAvailableException : None of the configured nodes are available NoNodeAvailableException [没有已配置的节点可用]在Elasticsearch 5.1.2中 - NoNodeAvailableException[None of the configured nodes are available] in Elasticsearch 5.1.2 Elasticsearch NoNodeAvailableException没有配置的节点可用 - Elasticsearch NoNodeAvailableException None of the configured nodes are available 无法在TransportClient中创建InetSocketTransportAddress:NoNodeAvailableException [没有配置的节点 - 可用:[]] - Can't create InetSocketTransportAddress in TransportClient: NoNodeAvailableException[None of the configured nodes -are available: []] 获取org.elasticsearch.transport.NodeDisconnectedException:[] [inet [localhost / 127.0.0.1:9300]] [集群/节点/信息]已断开连接 - Getting org.elasticsearch.transport.NodeDisconnectedException: [][inet[localhost/127.0.0.1:9300]][cluster/nodes/info] disconnected Java ElasticSearch 没有配置的节点可用 - Java ElasticSearch None of the configured nodes are available 无法连接到Elasticsearch 6.1.0 [没有已配置的节点可用] - Unable to Connect to Elasticsearch 6.1.0[None of the configured nodes are available]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM