部署一套带有认证的es集群

安装环境

操作系统:centos7

安装方式:rpm安装

版本:7.8.0

节点信息:10.110.100.61 (es01);  10.110.100.62 (es02);  10.110.100.63 (es03)

安装包下载

官方安装手册:https://www.elastic.co/guide/en/elasticsearch/reference/7.8/rpm.html

wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm

kibana下载

wget  https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-x86_64.rpm

安装

下载rpm包后,执行rpm  -ivh   elasticsearch/elasticsearch-7.8.0-x86_64.rpm  安装即可,这里不多说。

配置系统参数

 

 修改系统参数

cat /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nofile 204800
* hard nofile 204800
* soft nproc 65535
* hard nproc 65535
* soft memlock unlimited
* hard memlock unlimited

 

 

vim /etc/sysctl.conf
vm.swappiness = 0
vm.max_map_count = 262144
配置hosts (三个节点都要配置)
vim  /etc/hosts
10.110
.100.61 es01 10.110.100.62 es02 10.110.100.63 es03
创建配置文件

在修改配置文件之前记得备份哦

cd    /etc/elasticsearch/
mv   elasticsearch.yml    elasticsearch.yml_bak

节点es01配置 

vim  /etc/elasticsearch/elasticsearch.yml

## 集群名称和节点名称 cluster.name: my
-es-cluster node.name: es01 network.host: 0.0.0.0 ## 用于集群内各机器间通信,对外使用,其他机器访问本机器的es服务,一般为本机宿主机IP network.publish_host: 10.110.100.61 node.master: true # 使节点有资格成为主节点 node.data: true # 使节点可以存储数据 path.data: /data/es/data path.logs: /data/es/logs http.port: 9200 transport.tcp.port: 9300 ## 最大集群节点数 node.max_local_storage_nodes: 3 ## 列出所有节点的私有IP地址 discovery.seed_hosts: ["10.110.100.61", "10.110.100.62","10.110.100.63"] ## 首次启动时指定的候选主节点列表 cluster.initial_master_nodes: ["es01", "es02", "es03"] gateway.recover_after_nodes: 2 discovery.zen.minimum_master_nodes: 2 ## 是否允许跨域 http.cors.enabled: true http.cors.allow-origin: "*" ## 安全认证部分 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

节点es02配置

vim  /etc/elasticsearch/elasticsearch.yml
## 集群名称和节点名称
cluster.name: my-es-cluster
node.name: es02
network.host: 0.0.0.0

## 用于集群内各机器间通信,对外使用,其他机器访问本机器的es服务,一般为本机宿主机IP
network.publish_host: 10.110.100.62
node.master: true # 使节点有资格成为主节点
node.data: true   # 使节点可以存储数据

path.data: /data/es/data
path.logs: /data/es/logs

http.port: 9200
transport.tcp.port: 9300

## 最大集群节点数
node.max_local_storage_nodes: 3

## 列出所有节点的私有IP地址
discovery.seed_hosts: ["10.110.100.61", "10.110.100.62","10.110.100.63"]

## 首次启动时指定的候选主节点列表
cluster.initial_master_nodes: ["es01", "es02", "es03"]

gateway.recover_after_nodes: 2
discovery.zen.minimum_master_nodes: 2

## 是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

## 安全认证部分
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

节点es03配置


vim  /etc/elasticsearch/elasticsearch.yml
## 集群名称和节点名称
cluster.name: my-es-cluster
node.name: es03
network.host: 0.0.0.0

## 用于集群内各机器间通信,对外使用,其他机器访问本机器的es服务,一般为本机宿主机IP
network.publish_host: 10.110.100.63
node.master: true # 使节点有资格成为主节点
node.data: true   # 使节点可以存储数据

path.data: /data/es/data
path.logs: /data/es/logs

http.port: 9200
transport.tcp.port: 9300

## 最大集群节点数
node.max_local_storage_nodes: 3

## 列出所有节点的私有IP地址
discovery.seed_hosts: ["10.110.100.61", "10.110.100.62","10.110.100.63"]

## 首次启动时指定的候选主节点列表
cluster.initial_master_nodes: ["es01", "es02", "es03"]

gateway.recover_after_nodes: 2
discovery.zen.minimum_master_nodes: 2

## 是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

## 安全认证部分
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

创建证书文件

在es01上执行

cd  /usr/share/elasticsearch/bin
./elasticsearch-certutil  ca   
一路回车,完成后会在/usr/share/elasticsearch目录下生成一个名为elastic-stack-ca.p12的文件

然后再执行如下命令:
./bin/elasticsearch-certutil  cert  --ca   /usr/share/elasticsearch/elastic-stack-ca.p12
会生成一个名为elastic-certificates.p12的文件。
将两个文件权限修改为777
chmod   777  elastic-certificates.p12   elastic-stack-ca.p12
然后移动到/etc/elasticsearch目录下
elastic-certificates.p12 elastic-stack-ca.p12 两个文件传到另外两个节点,也放在/etc/elasticsearch目录下

到这里,证书文件就算创建完了,接下来可以起服务了。

启动服务器

systemctl start elasticsearh

访问

在浏览器输入http://10.110.100.61:9200

这时候会弹出一个让输入用户名和密码的弹框,然后创建密码。

创建密码

在es01上执行:

 然后用刚才输入的密码就可以连接集群了。

posted @ 2024-10-22 13:49  羊脂玉净瓶  阅读(22)  评论(0)    收藏  举报