Linux系统搭建ElasticSearch集群详细教程

【前言】ElasticSearch简称es(下文均称为es),是一款由java语言开发的强大且灵活的搜索和分析引擎,本文记录基于es7.17版本的es集群搭建。

一、环境装备

1、准备服务器

本文准备了三台linux服务器,服务器需要互通(可用ping命令检查),下文分别称呼为服务器1服务器2、服务器3

2、es安装包下载

es官网下载对应系统的安装包,选择自己需要的版本。

二、安装及配置es

以下步骤以服务器1为示例

1、上传es安装包到服务器

本文上传路径是/opt/elasticsearch

2、解压

进入es安装目录解压安装包

#执行tar命令解压es安装包,如:
tar -xvzf elasticsearch-7.17.18-linux-x86_64.tar.gz

如图所示解压成功,会生成一个新的解压文件夹

3、新建es用户

由于es安全要求,es不允许使用root命令启动,因此需要新建用户并授权,命令如下

#执行useradd命令增加用户,如
useradd elastic
#执行passwd命令对新用户设置密码,改名了需要输入两次密码
passwd elastic

3.1、对新用户授权

chown -R elastic:elastic /opt/elasticsearch/elasticsearch-7.17.18

使用命令 ll 产看授权是否成功,如图,es解压的目录已授权给elastic用户

4、修改相关配置

4.1、修改elasticsearch.yml

进入es解压目录/config目录下

修改elasticsearch.yml文件,在该文件末尾增加以下内容:

cluster.name: elasticsearch
node.name: node-1
node.master: true
node.data: true
network.host: 你服务器的ip
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["服务器1的ip","服务器2的ip"]
cluster.initial_master_nodes: ["node-1","node-2"]
ingest.geoip.downloader.enabled: false

4.2、修改jvm.options

该步骤非必须,es的内存配置可以在这里修改

请参考自己服务器资源进行配置合适的内存,否则当es启动时服务器容易卡死

5、修改系统相关配置

5.1修改/etc/security/limits.conf

在文件末尾增加以下内容

# 配置 es 用户打开文件最大数(因为es在启动时调用的文件超出普通用户默认打开文件最大数4096,会导致报错)
# 在文件末尾中增加下面内容
es soft nofile 65536
es hard nofile 65536

5.2修改/etc/security/limits.d/20-nproc.conf

在文件末尾增加以下内容,文件不存在就新建该文件


# 每个进程可以打开的文件数限制
es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096

5.3修改/etc/sysctl.conf

在末尾加入以下内容

# 一个进程可以拥有的虚拟内存区域的数量
vm.max_map_count=655360

然后执行命令重新加载

sysctl -p

5.4其他服务器配置

服务器2、服务器3均按照上述步骤配置,唯一不同的是上述4.1步骤的配置中,node.name需要不同

三、启动es

1、切换用户

#切换到前面步骤新建的用户
su elastic

2、启动

执行./elasticsearch启动es

3、可能遇到的问题

如果启动失败,检查服务器防火墙是否开启以及对应端口是否开放,检查命令及开放命令如下

#启动服务器防火墙
systemctl start firewalld.service

#查看服务器开放的端口命令
firewall-cmd --list-ports

#开放服务器9200和9300端口命令
firewall-cmd --add-port=9200/tcp
firewall-cmd --add-port=9300/tcp

启动成功如图所示

浏览器访问ip:9200如下,表示成功

3、检查集群是否成功

浏览器访问http://ip:9200/_cat/nodes,如下所示则成功

  • 29
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
概述: Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,它可以处理大量结构化和非结构化数据。在本文中,我们将了解如何在Linux环境中搭建Elasticsearch集群。 步骤: 步骤1:安装Java 在安装Elasticsearch之前,Java是必需的。您可以使用以下命令从命令行安装Java: ``` sudo apt-get update sudo apt-get install default-jre ``` 步骤2:下载和安装Elasticsearch 您可以从Elasticsearch官方网站下载最新版本的Elasticsearch。下载完成后,您可以使用以下命令安装它: ``` sudo dpkg -i elasticsearch-7.10.1-amd64.deb ``` 步骤3:配置Elasticsearch 默认情况下,Elasticsearch将在本地主机上运行。您可以通过编辑以下文件来更改默认配置: ``` sudo nano /etc/elasticsearch/elasticsearch.yml ``` 在此文件中,您可以更改以下设置: - cluster.name:设置集群名称。 - node.name:设置节点名称。 - network.host:设置网络接口。 - http.port:设置HTTP端口。 步骤4:启动Elasticsearch 要启动Elasticsearch,请使用以下命令: ``` sudo systemctl start elasticsearch ``` 要检查Elasticsearch是否正在运行,请使用以下命令: ``` sudo systemctl status elasticsearch ``` 步骤5:配置Elasticsearch集群 要配置Elasticsearch集群,请编辑以下文件: ``` sudo nano /etc/elasticsearch/elasticsearch.yml ``` 在该文件中,您可以使用以下设置来配置集群: - cluster.name:设置集群名称。 - node.name:设置节点名称。 - network.host:设置网络接口。 - http.port:设置HTTP端口。 - discovery.seed_hosts:设置种子主机列表。 在配置文件中,您还需要更改以下设置: ``` cluster.initial_master_nodes: ["node-1", "node-2"] ``` 此设置定义了集群中的初始主节点。您需要在每个节点上设置不同的名称。 步骤6:启动Elasticsearch集群 要启动Elasticsearch集群,请使用以下命令: ``` sudo systemctl start elasticsearch ``` 要检查Elasticsearch集群是否正在运行,请使用以下命令: ``` curl -X GET "http://localhost:9200/_cluster/health?pretty=true" ``` 此命令将显示有关集群的健康状态信息。 结论: 在本文中,我们了解了如何在Linux环境中搭建Elasticsearch集群。我们从安装Java开始,然后下载和安装Elasticsearch。接下来,我们配置了Elasticsearch,并启动了它。最后,我们配置了Elasticsearch集群,并启动了它。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_hwt_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值