当前位置: 首页 > news >正文

【2022】Elasticsearch-7.17.6集群部署

目录

  • 0.环境系统
  • 1.安装es集群
  • 2.配置es集群
    • 2.1.修改es配置文件
    • 2.2.修改JVM配置
  • 3.系统配置
  • 4.启动es集群

0.环境系统

在这里插入图片描述

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作为集群的前端页面来查看。

相关文章:

  • 计算器——位运算(c语言)
  • Maven 基础 5 第一个Maven 项目(IDEA 生成)
  • TypeScript算法题实战——哈希表篇
  • 嵌入式分享合集71
  • 又一巅峰神作 14年工作经验大佬手写“微服务项目下高并发的流量治理”,太牛了
  • 谷歌翻译失败解决方案
  • 网络安全面试题目及详解
  • 【初阶与进阶C++详解】第二十三篇:异常(异常抛出+异常捕获+异常优缺点)
  • 第二弹:看了图像分割一系列Unet、DeepLabv3+改进期刊论文,总结改进创新的一些相同点
  • HTML期末大作业 使用HTML+CSS制作科技文化主题网站(航天之路)
  • ElasticSearch_04_批量处理命令mget和bulk的使用
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • web期末作业设计网页 html+css+js制作非物质文化遗产坝漆国漆 2页
  • 基于差异演化的寄生樽海鞘群算法
  • 神经网络过拟合什么意思,神经网络过拟合现象
  • JavaScript-如何实现克隆(clone)函数
  • 分享的文章《人生如棋》
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 08.Android之View事件问题
  • Asm.js的简单介绍
  • input的行数自动增减
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JS笔记四:作用域、变量(函数)提升
  • python3 使用 asyncio 代替线程
  • redis学习笔记(三):列表、集合、有序集合
  • SpingCloudBus整合RabbitMQ
  • spring security oauth2 password授权模式
  • vuex 笔记整理
  • win10下安装mysql5.7
  • windows下mongoDB的环境配置
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 消息队列系列二(IOT中消息队列的应用)
  • 一天一个设计模式之JS实现——适配器模式
  • elasticsearch-head插件安装
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​linux启动进程的方式
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #14vue3生成表单并跳转到外部地址的方式
  • #laravel 通过手动安装依赖PHPExcel#
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $refs 、$nextTic、动态组件、name的使用
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (力扣)循环队列的实现与详解(C语言)
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (五)Python 垃圾回收机制
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)项目管理杂谈-我所期望的新人
  • (转载)虚函数剖析
  • ... 是什么 ?... 有什么用处?