ElasticSearch服务端及客户端的密码修改配置(可实现)

   前提:我的ElasticSearch版本为7.5.2,是支持密码管理的。对于不支持的es版本可能需求查看一下其他的配置方式。然后我的Java项目是基于Spring Boot 2.3.4版本进行构建的,基于yml修改elastic的配置无法自动注入生效,故进行了手动对es的客户端用户/密码属性进行了填充。

1.首先我们需要找到elasticsearch.yml文件,在里面添加如下命令并重启(重启后才会配置生效!)

xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

    elasticsearch.yml文件可以通过下面命令来进行查找。

[root@a435c8e49a52 elasticsearch]# find / -name elasticsearch.yml
/usr/share/elasticsearch/config/elasticsearch.yml

2.在elastic的安装目录/usr/share/elasticsearch执行如下命令,设置各类用户分别设置密码:

bin/elasticsearch-setup-passwords interactive   

3.通过如下命令可以测试服务是否能够访问:

curl -H "Content-Type:application/json" -XPOST -u elastic 
'http://{elastic_ip}:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

4.配置Java客户端的调用: 最开始根据别人的如下配置,发现username/password并没有在ElasticSearch 的客户端启动过程中进行配置。所以通过如下Java配置类来帮他体面。手动注入!

spring:
  elasticsearch:
    rest:
      read-timeout: 10s
      uris: 
      username: elastic
      password: password

 Java配置类:

@Configuration
public class ElasticSearchConfig implements RestClientBuilderCustomizer {

  private final ElasticsearchRestClientProperties properties;

  public ElasticSearchConfig(ElasticsearchRestClientProperties properties) {
    this.properties = properties;
  }

  @Override
  public void customize(RestClientBuilder builder) {
    builder.setHttpClientConfigCallback(httpBuildr ->httpBuildr.setKeepAliveStrategy((httpResponse, httpContext) -> 6000));
    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(properties.getUsername(), properties.getPassword()));
    builder.setHttpClientConfigCallback(httpClientBuilder -> {
      httpClientBuilder.setMaxConnTotal(5);
      httpClientBuilder.setMaxConnPerRoute(1);
      httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
      return httpClientBuilder;
    });
  }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于 `Swoole 4.5+` 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 `PHP-FPM` 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 [PSR 标准](https://www.php-fig.org/psr) 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 `可替换` 与 `可复用` 的。 框架组件库除了常见的协程版的 `MySQL 客户端`、`Redis 客户端`,还为您准备了协程版的 `Eloquent ORM`、`WebSocket 服务端客户端`、`JSON RPC 服务端客户端`、`GRPC 服务端客户端`、`Zipkin/Jaeger (OpenTracing) 客户端`、`Guzzle HTTP 客户端`、`Elasticsearch 客户端`、`Consul 客户端`、`ETCD 客户端`、`AMQP 组件`、`NSQ 组件`、`Nats 组件`、`Apollo 配置中心`、`阿里云 ACM 应用配置管理`、`ETCD 配置中心`、`基于令牌桶算法的限流器`、`通用连接池`、`熔断器`、`Swagger 文档生成`、`Swoole Tracker`、`视图引擎`、`Snowflake 全局 ID 生成器` 等组件,省去了自己实现对应协程版本的麻烦。 Hyperf 还提供了 `基于 PSR-11 的依赖注入容器`、`注解`、`AOP 面向切面编程`、`基于 PSR-15 的中间件`、`自定义进程`、`基于 PSR-14 的事件管理器`、`Redis/RabbitMQ/NSQ/Nats 消息队列`、`自动模型缓存`、`基于 PSR-16 的缓存`、`Crontab 秒级定时任务`、`Translation 国际化`、`Validation 验证器` 等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值