集群环境准备
IP |
监听端口 |
主机名 |
系统 |
es版本 |
10.0.2.76 |
9200/9300 |
es01 |
CentOS 7 |
7.15.0 |
10.0.2.77 |
9200/9300 |
es02 |
CentOS 7 |
7.15.0 |
10.0.2.78 |
9200/9300 |
es03 |
CentOS 7 |
7.15.0 |
安装
创建集群目录
每一台服务器都需要操作。
1 2 3 4 5
| 创建集群存储目录 mkdir /data/elasticsearch/{data,logs} -R
授权 chown -R elasticsearch /data/elasticsearch
|
节点es01配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #配置es的集群名称,同一个集群中的多个节点使用相同的标识 #如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 cluster.name: jusda-es-prod
#节点名称 node.name: es01
#是不是有资格竞选主节点 node.master: true #是否存储数据 node.data: true #最大集群节点数 node.max_local_storage_nodes: 3
#数据存储路径 path.data: /data/elasticsearch/data #日志存储路径 path.logs: /data/elasticsearch/logs
#节点所绑定的IP地址,并且该节点会被通知到集群中的其他节点 #通过指定相同网段的其他节点会加入该集群中 0.0.0.0任意IP都可以访问elasticsearch network.host: 0.0.0.0
#对外提供服务的http端口,默认为9200 http.port: 9200
#内部节点之间沟通端口 transport.tcp.port: 9300
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点 discovery.seed_hosts: ["10.0.2.76:9300","10.0.2.77:9300","10.0.2.78:9300"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master cluster.initial_master_nodes: ["es01", "es02","es03"]
#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为false bootstrap.memory_lock: false
# 是否支持跨域 http.cors.enabled: true
# *表示支持所有域名 http.cors.allow-origin: "*"
|
节点es02配置
只修改节点名称
节点es03配置
只修改节点名称
启动集群环境
1
| systemctl start elasticsearch
|
查看集群
查看集群节点
查看集群节点:[http://IP:9201/_cat/nodes?v]
注:若已经设置了账密则需要输入账密
1 2
| # curl -u 用户名:密码 -XGET 'http://IP:9201/_cat/nodes?v' curl -u elastic:1234567 -XGET 'http://localhost:9201/_cat/nodes?v'
|
查看集群状态
查看集群状态:[http://IP:9201/_cluster/stats?pretty]
添加密码
单机版
添加配置
1 2 3
| xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.authc.accept_default_password: true
|
设置密码
1 2 3 4 5 6 7
| cd /usr/share/elasticsearch/bin //生成随机密码 elasticsearch-setup-passwords auto
//设置默认账号密码 elasticsearch-setup-passwords interactive
|
集群版
生成证书
1
| /usr/share/elasticsearch/bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
|
拷贝到另外两台服务器
1 2 3 4
| ```
##### 分别修改每台的配置并启动
|
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
1 2 3
| ##### 设置密码(要在配置修改完并启动集群之后设置密码)
|
cd /usr/share/elasticsearch/bin
//生成随机密码
elasticsearch-setup-passwords auto
//设置默认账号密码
elasticsearch-setup-passwords interactive