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

es8集群模式部署

  1. 准备3台机器
192.168.1.41
192.168.1.42
192.168.1.43

因为es集群有几个节点,所以我对应node1,node2,node3.这几个名称并不是主机名,而是es节点名称
2. 开始部署,基础配置 (三台都做)

systemctl stop firewalld
systemctl disable firewalldsetenforce  0 
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux 
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/sysconfig/selinux 
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config  echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "* soft nproc 65536"  >> /etc/security/limits.conf
echo "* hard nproc 65536"  >> /etc/security/limits.conf
echo "* soft  memlock  unlimited"  >> /etc/security/limits.conf
echo "* hard memlock  unlimited"  >> /etc/security/limits.confecho "vm.max_map_count = 655360" >> /etc/sysctl.conf
sysctl -p

3.开始部署es集群

官网下载
我用的是 elasticsearch-8.2.3-linux-x86_64.tar.gz
8.0版本后,默认增加安全配置,默认启动就行
创建用户
出于安全考虑,elasticsearch默认不允许以root账号运行。
groupadd es
useradd -g es es
echo "123456"|passwd --stdin es

启动node1

(1)解压

tar -zxvf elasticsearch-8.2.3-linux-x86_64.tar.gz -C /opt/
cd /opt/elasticsearch-8.2.3
mkdir data
chown -R es:es elasticsearch-8.2.3/

(2)
vi /opt/elasticsearch-8.2.3/config/elasticsearch.yml
添加这几行

#添加
cluster.name: test-es
node.name: node1
path.data: /opt/elasticsearch-8.2.3/data
path.logs: /opt/elasticsearch-8.2.3/logs
network.host: 192.168.1.41
http.port: 9200

启动后elasticsearch.yml里面会多出来几行,认证这个不想要可以关掉。为了安全这个必须的。不需要你添加,自动生成下面配置文件(你只需要添加上面的几行)。

# 启用安全功能
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# 为HTTP API客户端连接(如Kibana、Logstash和代理)启用加密
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12# 启用群集节点之间的加密和相互身份验证
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12
#仅使用当前节点创建新群集
#其他节点稍后仍可以加入群集
cluster.initial_master_nodes: ["node1"]

vi /opt/elasticsearch-8.2.3/config/jvm.options

#调整一下,我这边是测试
-Xms1g
-Xmx1g

(3)启动

注意启动使用用户:es 非root

#启动该节点并记录启动日志
cd /app/elasicsearch/elasticsearch-8.4.3
#启动es节点,后台启动
bin/elasticsearch -d
#正常启动,关注如下日志:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.
#生成默认用户:elastic   密码:u++ZdsMJ6JcvL2JHhauo
ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):u++ZdsMJ6JcvL2JHhauoℹ️  HTTP CA certificate SHA-256 fingerprint:d673d6c209a69753a82ded21ccb7791aa667761619a865ca58929f3f2edb7f14
#生成kibana链接es的token,有效时间:30分钟  如果失效,往下看第五步
ℹ️  Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):eyJ2ZXIiOiI4LjQuMyIsImFkciI6WyIxMC4yNDguMTkwLjE3Njo5MjAwIl0sImZnciI6ImQ2NzNkNmMyMDlhNjk3NTNhODJkZWQyMWNjYjc3OTFhYTY2Nzc2MTYxOWE4NjVjYTU4OTI5ZjNmMmVkYjdmMTQiLCJrZXkiOiI4czY0UFlRQkEyYkIza3RQYnJ3Mjp0amx1ZzNaVFNHS2dPbURScW5wVXpRIn0=
#生成es其他节点加入该集群的token,有效时间:30分钟  如果失效,往下看第五步
ℹ️ Configure other nodes to join this cluster:
• Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes):eyJ2ZXIiOiI4LjQuMyIsImFkciI6WyIxMC4yNDguMTkwLjE3Njo5MjAwIl0sImZnciI6ImQ2NzNkNmMyMDlhNjk3NTNhODJkZWQyMWNjYjc3OTFhYTY2Nzc2MTYxOWE4NjVjYTU4OTI5ZjNmMmVkYjdmMTQiLCJrZXkiOiI5TTY0UFlRQkEyYkIza3RQYnJ3NDp6VTByVFp3bVR3S1R4MUk5TzRNVS1nIn0=If you're running in Docker, copy the enrollment token and run:`docker run -e "ENROLLMENT_TOKEN=<token>" docker.elastic.co/elasticsearch/elasticsearch:8.4.3`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#启动后,ES会自动配置集群配置、安全配置,并追加到elasticsearch.yml文件中
#ssl证书等配置,生成到config/certs目录中。
#后续节点加入集群,会自动同步该节点的配置,不要人工手动配置。

在这里插入图片描述
启动node2参考配置

1.部署位置参考node1
2.配置文件参考node1
基础配置与配置node-1相同【不要启动】
注意使用用户:es 非root
解压安装包,配置elasticsearch.yml与jvm.options
不要把ip与节点名称配置重复了。
其余不要动

启动node2

注意添加节点前必须获取一次token值
#**在node1上面执行命令获取token值**-----------------------
[root@ZJS01 ~]# cd /opt/elasticsearch-8.2.3/
[root@ZJS01 elasticsearch-8.2.3]# bin/elasticsearch-create-enrollment-token -s node
eyJ2ZXIiOiI4LjIuMyIsImFkciI6WyIxOTIuMTY4LjEuNDE6OTIwMCJdLCJmZ3IiOiJmNzIxMmI1ZjI4NjIyOTlmMTRjZWE4NjQzYmQ1MWE1ZTJjZjYyYjU5MjU5ZGZhYWM4OGZkMmUxNzVlMjA5MmZmIiwia2V5Ijoid3kzZGlJWUJrcU03SVlSRFUyYXg6aGlyLUdJSHdSRVdRTTZtbUI2U1ljdyJ9
#node2启动与node1不同,node2启动通过node-1提供的token直接加入集群,同步node-1的所有默认配置。
#**node2上面执行**——————————————————————————————
cd /opt/elasticsearch-8.2.3
#第一次启动node-2 es节点,后台启动
#需要注意的是这个token值,你的在node1上面去执行获取。加节点的时候必须执行
bin/elasticsearch -d --enrollment-token 复制日志中的node-token
#启动成功后,es自动配置elasticsearch.yml中集群以及安全等,不要去改动配置。
#如果后续关闭节点重启,则使用以下命令:
bin/elasticsearch -d

#查看日志确认节点加入集群
#node-1节点操作
cd /opt/elasticsearch-8.2.3/
cat logs/test-es_server.json
#发现 node add日志则表示加入成功

node-3配置与启动,与node-2相同,按照步骤操作即可。token可重复使用。

以后重启es节点的时候可以使用这个命令

#如果后续关闭节点重启,则使用以下命令:
bin/elasticsearch -d

配置安装kibana

版本:kibana-8.2.3-linux-x86_64.tar.gz

tar -zxvf kibana-8.2.3-linux-x86_64.tar.gz -C /home/es
vi kibana-8.2.3/config/kibana.yml
#添加
erver.port: 5601
server.host: "0.0.0.0"
i18n.locale: "zh-CN"

启动
用普通用户es启动

su - es
/home/es/kibana-8.2.3/bin/kibana &

访问http://ip:5601

界面上会让你输入
kibana的token值输入
bin/elasticsearch-create-enrollment-token -s kibana

会让你输入验证码
在这里插入图片描述

登录的时候
账号就是生成的elastic
如果忘记密码记得
重置elastic 密码
bin/elasticsearch-reset-password -u elastic

到此完成

http://www.lryc.cn/news/20799.html

相关文章:

  • OAuth2
  • 一、简单排序
  • 慢SQL出现原因、优化、开启慢查询日志
  • 要理解网络,其实不就是理解这三张表吗
  • Java异常架构与异常关键字
  • 【阅读笔记】SecureML: A System for ScalablePrivacy-Preserving Machine Learning
  • 【2023美赛】C题Wordle预测27页中文论文及Python代码详解
  • 【C++修行之路】STL——模拟实现string类
  • CorelDRAW2023最新版序列号使用教程
  • 【一天一门编程语言】Python 语言程序设计极简教程
  • 14、KL散度
  • TypeError: load() missing 1 required positional argument: ‘Loader‘解决方案
  • 【设计模式】 观察者模式介绍及C代码实现
  • 01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理
  • 一、前端稳定性规约该如何制定
  • Docker(三)Docker网络
  • Js高级API
  • 团队:在人身上,你到底愿意花多大精力?
  • Linux-Poolkit提权
  • 【React全家桶】React Hooks
  • CLIP论文阅读
  • 华为OD机试真题Python实现【身高排序】真题+解题思路+代码(20222023)
  • Spring Cache的使用--快速上手篇
  • (三十八)MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?
  • 【博学谷学习记录】大数据课程-学习第八周总结
  • go cobra初试
  • 【react全家桶】 事件处理
  • RabbitMQ交换机(Exchanges)
  • 2023年java初级面试题10道基础试水题
  • 烙铁使用方法