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\]中的配置文件注意事项,Elasticsearch集群部署需要保证每个节点的9300端口可以访问,并且每个节点的配置文件中的节点名称要不一致。可以通过启动每一个节点,并使用命令查看节点信息来确认集群部署是否功。另外,引用\[2\]中的配置文件示例中,discovery.seed_hosts参数指定了集群中的节点IP和端口。在引用\[3\]中的节点B配置文件示例中,discovery.seed_hosts参数也指定了集群中的节点IP和端口。根据这些配置文件示例,可以在两台机器上部署Elasticsearch集群,只需确保节点的IP和端口配置正确即可。所以,Elasticsearch集群部署两台是可以的。 #### 引用[.reference_title] - *1* *3* [Elasticsearch 集群部署](https://blog.csdn.net/u011192622/article/details/125066525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [elasticsearch集群部署、配置](https://blog.csdn.net/u012433915/article/details/125504381)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值