【2022】Elasticsearch-7.17.6集群部署

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 【2022】Elasticsearch-7.17.6集群部署

0.环境系统

1332fac5da424026a1709f3805a4719f.png

1.安装es集群

  • 下载及安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.6-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.6-x86_64.rpm.sha512
yum install perl-Digest-SHA -y
shasum -a 512 -c elasticsearch-7.17.6-x86_64.rpm.sha512 
rpm --install elasticsearch-7.17.6-x86_64.rpm
  • 设置为系统启动时自动启动
systemctl daemon-reload
systemctl enable elasticsearch.service
  • 服务启动与关闭(可以等修改完一些配置后再启动)
systemctl start elasticsearch.service
systemctl stop elasticsearch.service
  • {如果你使用了密码保护es密钥库,则需要使用本地文件和系统环境变量提供密钥库密码}
mkdir /path/to -p
echo "espasswd" > /path/to/my_pwd_file.tmp
chmod 600 /path/to/my_pwd_file.tmp
chown elasticsearch.elasticsearch /path/to/my_pwd_file.tmp
systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp

2.配置es集群

es服务有三个比较重要的文件:

es配置文件:elasticsearch.yml
JVM配置:jvm.options
日志记录配置:log4j2.properties

2.1.修改es配置文件

  • 设置集群名称
cluster.name: my-es
  • 设置节点名称(使用各自主机名)
node.name: es-node01
  • 数据和日志存放路径(注意生产中不要使用默认路径,数据容易满)
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
  • 网络设置
network.host: 0.0.0.0
  • 集群设置(设置集群有多少节点)
discovery.seed_hosts: ["192.168.0.250", "192.168.0.251", "192.168.0.252"]
  • 参与master选举设置
cluster.initial_master_nodes: ["192.168.0.250", "192.168.0.251", "192.168.0.252"]

2.2.修改JVM配置

  • 限制内存大小(可以使用内存的一半,最大不超过32)
-Xms2g
-Xmx2g

对了,提一句,安装es会默认携带openjdk,如果使用自定义jdk请更改指向路径。

3.系统配置

  • 设置文件句柄数(因为我使用阿里云主机,默认是配置好的)
vim /etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
  • 禁用交换内存(阿里云同样没有这项)
sawpoff -a
# vim /etc/fstab 找到swap那行进行注释
  • 设置虚拟内存
sysctl -w vm.max_map_count=262144
vim /etc/sysctl.conf
vm.max_map_count = 262144
sysctl -p
  • 设置线程数
vim /etc/security/limits.conf
* soft nproc 4096
* hard nproc 4096

4.启动es集群

配置目前就先配置这么多了,还有很多配置可以参考官网

  • 启动es集群
systemctl start elasticsearch.service 
netstat -utpln
tcp6       0      0 :::9200                 :::*                    LISTEN      12535/java          
tcp6       0      0 :::9300                 :::*                    LISTEN      12535/java
  • 验证集群是否运行成功

es-node01:

curl 127.0.0.1:9200
{
  "name" : "es-node01",
  "cluster_name" : "my-es",
  "cluster_uuid" : "7_WxMzV4TjKE5xnyowvG3A",
  "version" : {
    "number" : "7.17.6",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "f65e9d338dc1d07b642e14a27f338990148ee5b6",
    "build_date" : "2022-08-23T11:08:48.893373482Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

es-node02:

curl 127.0.0.1:9200
{
  "name" : "es-node02",
  "cluster_name" : "my-es",
  "cluster_uuid" : "7_WxMzV4TjKE5xnyowvG3A",
  "version" : {
    "number" : "7.17.6",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "f65e9d338dc1d07b642e14a27f338990148ee5b6",
    "build_date" : "2022-08-23T11:08:48.893373482Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

es-node03:

curl 127.0.0.1:9200
{
  "name" : "es-node03",
  "cluster_name" : "my-es",
  "cluster_uuid" : "7_WxMzV4TjKE5xnyowvG3A",
  "version" : {
    "number" : "7.17.6",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "f65e9d338dc1d07b642e14a27f338990148ee5b6",
    "build_date" : "2022-08-23T11:08:48.893373482Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
  • 查看哪个节点为主节点:*为主节点
curl http://192.168.0.250:9200/_cat/master
LnrA5H20Q8qtUeoxBAMrHQ 192.168.0.250 192.168.0.250 es-node01
curl http://192.168.0.250:9200/_cat/nodes
192.168.0.252 16 97 1 0.11 0.04 0.05 cdfhilmrstw - es-node03
192.168.0.250 18 96 2 0.03 0.05 0.09 cdfhilmrstw * es-node01
192.168.0.251 14 97 2 0.13 0.06 0.09 cdfhilmrstw - es-node02

因为是使用阿里云的内网部署的集群,所以在浏览器上看不到,可以部署kiana作为集群的前端页面来查看。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
4月前
|
自然语言处理 负载均衡 安全
保姆级Elasticsearch集群部署指导
保姆级Elasticsearch集群部署指导
127 0
|
自然语言处理 搜索推荐 Java
服务搭建篇(七) Elasticsearch单节点部署以及多节点集群部署
Elasticsearch(简称ES) 是一个分布式 , RESTful风格的搜索和数据分析引擎 , 使用java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,稳定,可靠,快速,安装使用方便。
1302 0
|
运维 安全 Java
Elasticsearch生产集群部署之各个节点以daemon模式运行以及优雅关闭
Elasticsearch生产集群部署之各个节点以daemon模式运行以及优雅关闭
|
存储 监控 负载均衡
大数据数据存储的搜索引擎Elasticsearch的调优的集群部署优化
Elasticsearch是一个可扩展的搜索引擎,可以在同一个集群中部署多个Elasticsearch节点,以提高性能和可用性。
378 2
|
域名解析 开发工具
elasticsearch 8.3版本安装和集群部署
elasticsearch 8.3版本安装和集群部署
532 1
|
Java Linux
白话Elasticsearch69-ES生产集群部署重要的 Elasticsearch参数设置
白话Elasticsearch69-ES生产集群部署重要的 Elasticsearch参数设置
118 1
|
Java
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
118 0
|
缓存 前端开发 安全
白话Elasticsearch70-ES生产集群部署之production mode下启动时的bootstrap check
白话Elasticsearch70-ES生产集群部署之production mode下启动时的bootstrap check
125 0
|
存储 缓存 编解码
白话Elasticsearch68-ES生产集群部署重要的操作系统设置
白话Elasticsearch68-ES生产集群部署重要的操作系统设置
367 0
|
存储 缓存 固态存储
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
161 0