java客户端连接腾讯云ElasticSearch

**学习笔记(ElasticSearch)–java客户端连接腾讯云ElasticSearch

(纪念这次踩的坑)

近日,在腾讯云上免费购置了一台ElasticSearch实例拿来学习。发现一个重大问题:java客户端Restful API怎么也连不上腾讯云的elsaticsearch实例,各种教程也找了,客服也问了还是失败了。

现在问题总算解决了。
这是springboot集成ES的配置类

import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ElasticSearchConfig {

    //配置elasticsearch客户端
    @Bean
    public RestHighLevelClient restHighLevelClient(){

        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials("username","password"));

        RestClientBuilder builder = RestClient.builder(
                new HttpHost("公网地址(去掉https://)", 9200,"https"))
                .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                    @Override
                    public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
                        return httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                    }
                });

        return new RestHighLevelClient(builder);
    }
}

原因是腾讯默认不开放外网访问ES集群,而且默认是https连接,且需要输入用户名和密码进行权限认证。
在这里插入图片描述

现在来回顾一下如何访问腾讯云es实例。

步骤

第一步:先重置一下默认elastic用户名的密码

第二步:申请公网,并添加公网ip地址进白名单。(本地ip地址可以通过百度ip地址获得)

在这里插入图片描述

第三步:复制公网地址,创建es配置类(参考第一张图),即可访问es实例

在这里插入图片描述

成功之后查询日志可以发现有以下输出
在这里插入图片描述

水平有限,希望友友们多多指导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱旅行的小李同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值