es7集群的搭建

一、需求

最近在看es相关的知识,此处简单记录一下es集群的搭建步骤。因为本地机器有限,此处模拟一下在同一台机器上搭建三个节点的集群。

二、前置条件

1、es不能使用root用户启动,因此需要创建一个用户。

2、本地的多个es节点之间不能使用相同的datalog目录。

3、集群之间的脑裂问题,集群自己维护。

三、搭建步骤

1、下载es

# 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
# 解压
tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz
# 重命名
mv elasticsearch-7.12.0 es01
# 复制2份
cp -r es01/ es02
cp -r es01/ es03

es下载

2、创建 es 用户并给es目录授权

# 创建es用户
useradd es
# 设置es用户的密码
passwd es
# 改变上一步下载的 es01、es02和es03目录的所有者为刚创建的es用户
chown -R es es01
chown -R es es02
chown -R es es03
# 创建数据目录和日志目录
mkdir data && mkdir log
cd data 
mkdir es01
mkdir es02
mkdir es03
cd log
mkdir es01
mkdir es02
mkdir es03

⚠️ 因为 es 用 root 用户启动会报错,所以此处需要新建一个用户,然后用新建的用户启动es。

3、修改es的配置文件

配置文件属性节点01节点02节点03解释
es0[1,2,3]/config/
elasticsearch.yml
es01es02es03es01、es02、es03表示同一台机器上的3个目录
cluster.namees-clusteres-clusteres-cluster集群的名称,组成集群的集群名称必须一致。
node.namees01es01es01节点名称,集群中的每个节点的名字必须要唯一。
path.data/home/es/
es/data/es01
/home/es/
es/data/es02
/home/es/
es/data/es03
数据目录
path.logs/home/es/
es/log/es01
/home/es/
es/log/es02
/home/es/
es/log/es03
日志目录
network.hostlocalhostlocalhostlocalhost监听地址,可以写本地ip,通过此地址可以访问到es
http.port920092019202监听端口
transport.port920592069207集群之间通讯接口,比如集群选举
discovery.
seed_hosts:
[“localhost:9095”, “localhost:9096”, “localhost:9097”][“localhost:9095”, “localhost:9096”, “localhost:9097”][“localhost:9095”, “localhost:9096”, “localhost:9097”]有资格成为主节点的地址列表
cluster.
initial_master_nodes
[“es01”, “es02”, “es03”][“es01”, “es02”, “es03”][“es01”, “es02”, “es03”]初始的候选master节点列表。必须和node.name的值一致。
node.mastertruetruetruetrue:表示可以被选举成为master节点.
node.datatruetruetruetrue: 表示可以存储数据。
http.cors.enabledtruetruetruetrue: 表示允许跨域。
http.cors.allow-origin***表示支持所有域名
es0[1,2,3]/config/
jvm.options
-Xms512m-Xms512m-Xms512m根据自己的情况设置,不要超过本机物理内存的一半,最大不要超过30g
-Xmx512m-Xmx512m-Xmx512m

重要的属性:

  1. cluster.initial_master_nodes

    cluster.initial_master_nodes

    链接:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/modules-discovery-bootstrap-cluster.html

    再次启动集群时需要删除该配置

​         链接:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/important-settings.html#initial_master_nodes

4、es01目录下 elasticsearch.yml 的一个完整的配置

cluster.name: es-cluster
node.name: es01
path.data: /home/es/es/data/es01
path.logs: /home/es/es/log/es01
network.host: localhost
http.port: 9200
transport.port: 9205
discovery.seed_hosts: ["localhost:9205", "localhost:9206", "localhost:9207"]
cluster.initial_master_nodes: ["es01", "es02", "es03"]
node.master: true
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"

5、启动es集群

#!/bin/bash

# -d 后台启动 -p 指定pid保存在那个文件中 /home/es/es/es01/pid01
/home/es/es/es01/bin/elasticsearch -d -p pid01
/home/es/es/es02/bin/elasticsearch -d -p pid02
/home/es/es/es03/bin/elasticsearch -d -p pid03

6、查看集群是否启动

curl http://localhost:9202/_cat/nodes?v

查看集群是否启动

curl http://localhost:9202/_cat/health?v

查看集群是否健康

四、参考链接

1、https://www.elastic.co/cn/downloads/elasticsearch.

2、https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#discovery-settings

3、https://www.elastic.co/guide/en/elasticsearch/reference/7.12/modules-discovery-bootstrap-cluster.html.

4、https://www.elastic.co/guide/en/elasticsearch/reference/7.12/important-settings.html#initial_master_nodes

5、https://www.elastic.co/guide/en/elasticsearch/reference/7.12/modules-discovery-settings.html

6、https://www.elastic.co/guide/en/elasticsearch/reference/7.12/jvm-options.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值