解决RestHighLevelClient报错missing authentication credentials for REST request

使用ElasticSearch Java API时遇到错误 "missing authentication credentials for REST request"

这是代码:

java 复制代码
RestHighLevelClient esClient =
                new RestHighLevelClient(RestClient.builder(new HttpHost("localhost",9200,"http")));

        CreateIndexRequest createIndexRequest = new CreateIndexRequest("user");
        CreateIndexResponse createIndexResponse = esClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);
        boolean acknowledged = createIndexResponse.isAcknowledged();
        System.out.println("创建索引:" + acknowledged);

        esClient.close();

原因是请求没有发送用户名和密码,没有通过验证导致的。

  1. 解决方法,使用RestClientBuilder,将ES登录用户名和密码添加进去,修改如下:
java 复制代码
RestClientBuilder build = RestClient.builder(new HttpHost("localhost",9200,"http"));
        CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "e5nTeAjoHTTPg--WgM49")); //用户名和密码
        build.setHttpClientConfigCallback((HttpAsyncClientBuilder httpAsyncClientBuilder) -> httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
        RestHighLevelClient esClient = new RestHighLevelClient(build);

        CreateIndexRequest createIndexRequest = new CreateIndexRequest("user");
        CreateIndexResponse createIndexResponse = esClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);
        boolean acknowledged = createIndexResponse.isAcknowledged();
        System.out.println("创建索引:" + acknowledged);

        esClient.close();

顺利解决:

  1. 还有一种解决方法,就是取消身份验证(不推荐)。

进入ES的config文件,找到并打开文件elasticsearch.yml。

找到以下配置,并改为false,如下:

复制代码
# Enable security features
xpack.security.enabled: false

xpack.security.enrollment.enabled: false
相关推荐
二二孚日1 小时前
自用华为ICT云赛道Big Data第四章知识点-Flink流批一体分布式实时处理引擎
大数据·华为
xufwind2 小时前
spark standlone 集群离线安装
大数据·分布式·spark
AI数据皮皮侠3 小时前
中国区域10m空间分辨率楼高数据集(全国/分省/分市/免费数据)
大数据·人工智能·机器学习·分类·业界资讯
DeepSeek大模型官方教程4 小时前
NLP之文本纠错开源大模型:兼看语音大模型总结
大数据·人工智能·ai·自然语言处理·大模型·产品经理·大模型学习
feilieren4 小时前
Docker 安装 Elasticsearch 9
运维·elasticsearch·docker·es
大数据CLUB5 小时前
基于spark的奥运会奖牌变化数据分析
大数据·hadoop·数据分析·spark
Edingbrugh.南空5 小时前
Hadoop高可用集群搭建
大数据·hadoop·分布式
智慧化智能化数字化方案5 小时前
69页全面预算管理体系的框架与落地【附全文阅读】
大数据·人工智能·全面预算管理·智慧财务·智慧预算
武子康6 小时前
大数据-33 HBase 整体架构 HMaster HRegion
大数据·后端·hbase
Java烘焙师8 小时前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询