IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Elasticsearch用户验证 -> 正文阅读

[大数据]Elasticsearch用户验证

为了保证安全,Elasticsearch中启用用户权限验证。本文将对服务端的配置、客户端访问的配置进行一些个人总结。
环境:CentOS 7.0
软件版本:elasticsearch 7.3.1

  1. 服务端配置
    进入安装目录下config,编辑elasticsearch.yml文件,在最后添加如下配置:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

重启elasticserch生效。

  1. 客户端访问配置
    (1) 通过RestHighLevelClient访问
public RestHighLevelClient restHighLevelClient() {
        RestHighLevelClient client;
        try {
            RestClientBuilder builder = RestClient.builder(getHttpHosts());
            // 配置connect超时时间、socket超时时间
            RestClientBuilder.RequestConfigCallback requestConfigCallback = new RestClientBuilder.RequestConfigCallback() {
                @Override
                public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder builder) {
                    return builder.setConnectTimeout(10 * 60 * 1000).setSocketTimeout(10 * 60 * 1000);
                }
            };
            builder.setRequestConfigCallback(requestConfigCallback);
            
            // 配置用户、密码验证
            CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
            credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("用户名", "密码"));
            builder.setHttpClientConfigCallback(f -> f.setDefaultCredentialsProvider(credentialsProvider));

            client = new RestHighLevelClient(builder);

            ClusterHealthRequest request = new ClusterHealthRequest();
            ClusterHealthResponse clusterHealthResponse = client.cluster().health(request, RequestOptions.DEFAULT);
            logger.info("连接ES集群成功!集群状态:{}", clusterHealthResponse.getStatus().name());
            return client;
        } catch (Exception e) {
            logger.error("连接ES集群失败!", e);
            return null;
        }
    }

(2)使用http访问
访问url模板:http://用户名:密码@IP:PORT/_cat/health,示例如下:

public static String get(String url, String encoding) {
		String url = String.format("http://%s:%s@%s:%s/_cat/health", "用户名","密码","IP","PORT");
        CloseableHttpClient httpClient = HttpClients.createDefault();
        CloseableHttpResponse response;
        HttpGet httpGet;
        HttpEntity httpEntity;
        String re = null;
        try {
            httpGet = new HttpGet(url);
            response = httpClient.execute(httpGet);
            httpEntity = response.getEntity();
            if (httpEntity != null) {
                re = EntityUtils.toString(httpEntity, encoding);
            }
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
        } finally {
            try {
                httpClient.close();
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
        }
        return re;
    }
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:53:03  更:2021-08-02 10:55:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 22:21:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码