部署一套带有认证的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上执行:

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

浙公网安备 33010602011771号