ElasticSearch7.3.0 集群搭建及配置安全认证

  • 注: 由于是测试,搭建的环境就在一台机器上(操作系统是 CentOS 7)
配置 Elasticsearch
Elasticsearch 的配置文件是 elasticsearch/elasticsearch.yml
  • 集群的名称
    配置集群的名称,所有的node节点集群名称要一致
# Use a descriptive name for your cluster:
#
cluster.name: my-application
  • 节点的名称
    配置每个节点的名称,节点的名称要在集群中唯一
# Use a descriptive name for the node:
#
node.name: node-1
  • 索引文件的存储位置
    默认是在当前目录下的data目录,可以自行修改
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
  • 日志文件的存储位置
    默认是在当前目录下的logs目录,可以自行修改
# Path to log files:
#
#path.logs: /path/to/logs
  • Elasticsearch 运行绑定的 Host,默认是无法公开访问的,如果设置为 0.0.0.0 就可以公开访问
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0
  • HTTP访问端口,默认是9200
http.port: 9200
  • transport 端口,默认是9300(transport用于集群内节点之间的内部通信)
transport.port: 9300
  • discovery.seed_hosts 配置集群的主机和端口地址
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
  • cluster.initial_master_nodes(第一次启动全新的Elasticsearch集群时,会出现一个集群引导步骤,该步骤确定在第一次选举中计票的主要合格节点集,这些节点的投票应在第一次选举中计算)
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
  • 该节点是否有资格成为主节点
node.master: true
  • 是否是数据节点
node.data: true
  • 防止集群发生“脑裂”,即一个集群分裂成多个,通常需要配置集群最少主节点数目,通常为 (可成为主节点的主机数目 / 2) + 1,我有3个节点有资格成为主节点,那么结果就是 2
discovery.zen.minimum_master_nodes: 2
开启安全认证(注意在生成证书时,集群是在没有密码的状态下生成的)
  • 进入bin目录,执行下面的命令,为Elasticsearch 节点生成私钥和 X.509 证书(注: 进入任意一个node节点下,然后将生成的文件拷贝到所有的node节点下)
// 生成CA证书,执行命令后,系统还会提示你输入密码,可以直接留空
elasticsearch-certutil ca

//生成证书和私钥,系统还会提示你输入密码,你可以输入证书和密钥的密码,也可以留空
elasticsearch-certutil cert --ca elastic-stack-ca.p12
  • 执行后,你会在,es目录下看到对应的两个文件
    在这里插入图片描述

在所有node节点下,在 config目录中创建 certs 文件夹
将elastic-certificates.p12 文件拷贝到certs 目录下(注:是所有的node节点对应的/config/certs)

在这里插入图片描述

  • 设置开启安全认证
# 设置密码,对外访问安全认证
xpack.security.enabled: true
xpack.license.self_generated.type: basic
  • 开启集团内部通信认证
#开启集群内部通信安全认证
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
  • 启动所有ES节点
# es启动命令(进入bin目录下)
# 前台启动
./elasticsearch

 #后台启动
 ./elasticsearch -d
  • 需要在其中一个节点进行密码的设置(设置一个即可)
elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
 
You will be prompted to enter passwords as the process progresses.
 
Please confirm that you would like to continue [y/N]y
 
Enter password for [elastic]:
 
Reenter password for [elastic]:
 
Enter password for [apm_system]:
 
Reenter password for [apm_system]:
 
Enter password for [kibana]:
 
Reenter password for [kibana]:
 
Enter password for [logstash_system]:
 
Reenter password for [logstash_system]:
 
Enter password for [beats_system]:
 
Reenter password for [beats_system]:
 
Enter password for [remote_monitoring_user]:
 
Reenter password for [remote_monitoring_user]:
 
Changed password for user [apm_system]
 
Changed password for user [kibana]
 
Changed password for user [logstash_system]
 
Changed password for user [beats_system]
 
Changed password for user [remote_monitoring_user]
 
Changed password for user [elastic]
kibana配置
  • 进入config目录下,修改kibana.yml文件
# 添加es对应的kibana用户名和密码
elasticsearch.username: "kibana"

elasticsearch.password: "密码"

在这里插入图片描述

  • kabana 中文配置,同样位于kibana.yml文件
# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English - en , by default , Chinese - zh-CN . 
i18n.locale: "zh-CN"

在这里插入图片描述

启动kibana
  • 进入bin目录下
#前台运行
./kibana

#后台运行
nohup ../bin/kibana &
  • 最后,可以通过kibana 看到如下界面

  • 安全认证在这里插入图片描述

  • 集群设置
    在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值