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

Linux下部署ElasticSearch集群

Elasticsearch7.17.8集群的搭建

节点host名称节点ip节点部署内容
k8s-m192.168.40.142主节点 数据节点
k8s-w1192.168.40.141主节点 数据节点
k8s-w2192.168.40.140数据节点

一、准备安装环境

 1.下载安装包 官网 www.elastic.co 下载所有版本地址  点击跳转  下载elasticsearch-7.17.8版本

 2.创建安装环境

        安装jdk并配置环境变量

  3.上传压缩包

  4.解压Elasticsearch压缩包

tar -xzf elasticsearch-7.17.8-linux-x86_64.tar.gz

  5.移动至安装目录

mv elasticsearch-7.17.8 /usr/local

  6.创建目录

cd /usr/local/elasticsearch-7.17.8
mkdir data
mkdir logs

二、修改配置文件

1.修改Elasticsearch的配置文件elasticsearch.yml

vim config/elasticsearch.yml
#为集群设置名称,集群内所有节点配置的名称必须一致
cluster.name: elastic
#当前节点取名,集群内节点名称必须唯一
node.name: k8s-m
#数据存储目录(用逗号分隔多个位置) 这个目录默认不存在,自行创建
path.data: /usr/local/elasticsearch-7.17.8/data
#日志文件路径
path.logs: /usr/local/elasticsearch-7.17.8/logs
#TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
#启动时是否有锁定内存,生产环境需要true(可用内存一般设置可用内存的一半左右)
bootstrap.memory_lock: true
#当前节点地址
network.host: 0.0.0.0
#es对外提供的http端口,默认 9200
http.port: 9200
#写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["k8s-m", "k8s-w1", "k8s-w2"]
#始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["k8s-m", "k8s-w1"]
#配置跨域,以便es-head可视化工具连接
http.cors.enabled: true
http.cors.allow-origin: "*"

2.修改Elasticsearch的配置文件jvm.options

vim config/jvm.options

内存大的可以配置成1g或者更大

-Xms512m
-Xmx512m

三、分发配置修改过的安装包到节点2与节点3

scp /usr/local/elasticsearch-7.17.8 root@192.168.40.141:/usr/local/
scp /usr/local/elasticsearch-7.17.8 root@192.168.40.140:/usr/local/

四、修改节点2与节点3的配置文件

只修改当前节点名称,其余配置和主节点一样

vim /usr/local/elasticsearch-7.17.8/config/elasticsearch.yml
#当前节点取名,集群内节点名称必须唯一
node.name: k8s-w1

==================================================

#当前节点取名,集群内节点名称必须唯一
node.name: k8s-w2

五、修改配置

1.系统配置

修改进程的最大文件数,添加最大创建文件数(*不能去掉),配置/etc/security/limits.conf文件,在底部添加

vim /etc/security/limits.conf
* soft nofile 1048576
* hard nofile 1048576

在这里插入图片描述
配置 /etc/sysctl.conf文件,修改vm.max_map_count参数,该参数设置进程可以适用的的VMA(虚拟内存区域)数量。修改完成后,执行“sysctl -p”命令,使修改的配置生效

vim  /etc/sysctl.conf
vm.max_map_count = 655360
sysctl -p

在这里插入图片描述

六、启动集群

 启动集群不能使用root用户 需要使用普通用户 这里创建elastic用户(每个节点都需要创建赋权限)

useradd elastic -m
 
 

设置密码 

passwd elastic
 
 

赋予安装包的使用权限(注意如果数据目录不在安装包下 需要再赋予一次数据目录权限)

chown -R elastic:elastic /usr/local/elasticsearch-7.17.8
 
 

 启动 : 

su elastic
cd /usr/local/elasticsearch-7.17.8/bin
./elasticsearch 

后台启动

./elasticsearch -d

   配置完成

七、设置开机自启

自定义启动脚本 需要在es账户之间配置免密登录

先查看当前的开机启动服务
chkconfig --list

创建es 的系统启动服务文件,进入到 cd /etc/init.d 目录,编写elasticsearch脚本

#!/bin/sh
# chkconfig: - 85 15
#description: elasticsearch
export ES_HOME=/usr/local/elasticsearch-7.17.8

case "$1" in
start)
    su elastic<<!
    cd $ES_HOME
    ./bin/elasticsearch -d -p pid
!
    echo "elasticsearch startup"
    ;;
stop)
    kill -9 `cat $ES_HOME/pid`
    echo "elasticsearch stopped"
    ;;
restart)
    kill -9 `cat $ES_HOME/pid`
    echo "elasticsearch stopped"
    su elastic<<!
    cd $ES_HOME
    ./bin/elasticsearch -d -p pid
!
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac
exit $?
chmod 777 elasticsearch

添加和删除服务并设置启动方式;

chkconfig --add elasticsearch    # 【添加系统服务】
chkconfig --del elasticsearch    # 【删除系统服务】

关闭和启动服务;

systemctl start elasticsearch      # 【启动服务】
systemctl stop elasticsearch       # 【停止服务】
systemctl restart elasticsearch       # 【重启服务】

设置服务是否开机启动;

#【开启服务】
chkconfig elasticsearch on     
systemctl enable elasticsearch 

# 【关闭服务】
chkconfig elasticsearch off      
systemctl disable elasticsearch

测试集群
查看集群信息:
http://192.168.40.142:9200/_cat/nodes
成功后连接es
在这里插入图片描述

节点规模扩展

        新添加的节点需要配置cluster.initial_master_nodes,旧节点如果不重启不用修改,如果要重启旧节点,需要修改cluster.initial_master_nodes写入所有节点


http://www.kler.cn/a/466067.html

相关文章:

  • CSP初赛知识学习计划(第三天)
  • umd格式
  • 东京大学联合Adobe提出基于指令的图像编辑模型InstructMove,可通过观察视频中的动作来实现基于指令的图像编辑。
  • 计算机的错误计算(二百零二)
  • 故事可视化AI
  • SpringCloudAlibaba实战入门之路由网关Gateway过滤器(十三)
  • 基于SpringBoot和Thymeleaf的仿小米电商系统源码下载与安装指南-幽络源
  • Win11+WLS Ubuntu 鸿蒙开发环境搭建(二)
  • DVWA靶场文件上传漏洞全级别通关及源码深度解析
  • 使用rknn进行yoloV8部署(C++)
  • 六种主流服务器的选择与使用
  • 【机器学习】由浅入深学习网格搜索
  • 158页精品PPT | 大型研发制造集团信息化IT规划整体方案
  • React 中结合 antd 的 Input 组件实现防抖输入
  • C# 在PDF中添加和删除水印注释 (Watermark Annotation)
  • nginx配置 - 资源参数配置(性能优化)
  • VSCode下配置Blazor环境 断点调试Blazor项目
  • 深入浅出 Vue 3:新特性与最佳实践
  • STM32-BKP备份寄存器RTC实时时钟
  • nginx高可用集群搭建
  • primevue的<Menu>组件
  • MYSQL------sql基础
  • 单元测试、系统测试和集成测试知识
  • 家政预约小程序07参与活动
  • 堆排序基础与实践:如何在Java中实现堆排序
  • VMware去虚拟化