ES单节点扩充成双节点伪集群

背景

线上的es一直是单节点,最近业务数据突然增长,每日入es数据量有30+G了,但是原有资源池磁盘资源告急,只能在新资源池下搭新node-2节点和原有node1节点组成集群来满足后续的扩容需求。

节点二部署

防止踩坑,保持新环境的版本和旧环境一致,我这里都采用的版本是7.7.0。因为环境是离线环境所以采用rpm包的方式。

rpm -ivh elasticsearch-7.7.0-x86_64.rpm

安装完成后编辑/etc/elasticsearch.yml配置文件,这里我直接给出node2的配置文件:

# 集群名称
cluster.name: elasticsearch_cluster
# 是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群间通信主机IP
network.publish_host: 192.168.2.36
# 节点名称
node.name: node-2
# 是否可以竞争主节点
node.master: true
# 数据目录
path.data: /data/elasticsearch
# 日志目录
path.logs: /data/log/elasticsearch
# 主机IP
network.host: 192.168.2.36
# 端口
http.port: 9200
# 集群自发现主机IP列表
discovery.seed_hosts: ["192.168.2.182", "192.168.2.36"]
# 可竞争主机群名称列表
cluster.initial_master_nodes: ["node-1", "node-2"]

节点一配置

配置好node2后,现在修改node1的配置使得两个节点组成同一个集群,node1的配置和node2类似:

# 集群名称
cluster.name: elasticsearch_cluster
# 是否允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群间通信IP
network.publish_host: 192.168.2.182

# 节点名称
node.name: node-1
# 是否可以竞争主节点
node.master: true

# 数据目录
path.data: /data/elasticsearch
# 日志目录
path.logs: /data/log/elasticsearch
# 主机IP
network.host: 192.168.2.182
# 端口
http.port: 9200
# 集群自发现主机IP列表
discovery.seed_hosts: ["192.168.2.182", "192.168.2.36"]
# 可竞争主机群名称列表
cluster.initial_master_nodes: ["node-1", "node-2"]

重启node1节点的es:

systemctl restart elasticsearch

重启后就可以看到两个节点组成一个集群了

在这里插入图片描述

注意我这里修改了数据目录和日志目录的路径,大家使用官方默认路径是没问题的。需要修改的话注意文件夹权限问题!文件权限修改可以参考r如下命令对照自己的自行修改:

chown -R elasticsearch:elasticsearch /data/elasticsearch
chown -R elasticsearch:elasticsearch /data/log/elasticsearch

集群访问认证

下面我们需要给集群设置访问密码。集群设置密码只需要在主节点设置,其他节点会同步,我这里只有两个节点,其他多节点类似。

  • 生成node1节点的公钥
/usr/share/elasticsearch/bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""

chown -R elasticsearch:elasticsearch /etc/elasticsearch/elastic-certificates.p12
chmod 755 /etc/elasticsearch/elastic-certificates.p12
  • 公钥拷贝

将node1下/etc/elasticsearch/elastic-certificates.p12拷贝到node2节点的/etc/elasticsearch目录下,这里可以使用scp。例:

scp /etc/elasticsearch/elastic-certificates.p12 root@192.168.2.36:/etc/elasticsearch

输入密码即可完成传输。

  • 修改node1、node2节点的/etc/elasticsearch.yml配置文件,加入下列内容
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: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

注意给文件赋权限:

chown -R elasticsearch:elasticsearch /etc/elasticsearch/elastic-certificates.p12
chmod 755 /etc/elasticsearch/elastic-certificates.p12
  • 重启es节点

重启两个node1、node2的es。

systemctl restart elasticsearch
  • node1节点设置密码

接下来我们就剩在node1主节点设置密码了。

/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

复制上面命令,再一路yyy设置完成密码即可。密码设置成功后会发现node2的节点也需要使用同样的密码才能访问。同时node2会自动创建node1存在的所有索引数据的副本。

访问用户可以用elastic用户。自此elastic双节点搭建和设置密码就都完成了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值