Linux集群部署Elasticsearch-8.8.2

这篇具有很好参考价值的文章主要介绍了Linux集群部署Elasticsearch-8.8.2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本教程采用vm虚拟机搭建,与实际物理环境可能不同,仅做参考学习

准备工作

# root登录
su root

准备至少三个节点

节点名称 节点IP
node-1 192.168.190.128
node-2 192.168.190.129
node-3 192.168.190.130

使用 ifconfig 查看ip

关闭三个节点的防火墙
# 必须关闭防火墙,否则无法正常启动集群
# 查看状态
systemctl status firewalld
# 关闭
systemctl stop firewalld
安装包准备

将 elasticsearch-8.8.2-linux-x86_64.tar.gz 分别拷贝到三个节点

修改系统配置

添加其他用户,es不允许root启动
#添加用户 zyd
useradd zyd
#设置zyd密码  密码为:zyd
passwd zyd

虚拟机有个人用户,直接使用个人用户即可,也可以额外创建es用户

创建安装目录并授权
# 创建目录
mkdir /home/es/
# 授权
chown -R zyd:zyd /home/es/
修改操作系统配置
#----------修改最大虚拟内存-------------------
vim /etc/sysctl.conf
# 尾部追加以下配置并保存
vm.max_map_count=655360
# 执行如下命令生效
sysctl -p
# 显示 vm.max_map_count = 655360 就OK了

用户最大文件描述符-非必要修改,如遇报错再修改也可

#-------修改 zyd 用户最大文件描述符------------
vim /etc/security/limits.conf 
#插入以下配置
zyd soft nofile 65536
zyd hard nofile 65536
#----------保存并退出----------------

ES集群配置

#切换用户
su zyd

解压缩

tar -zxvf elasticsearch-8.8.2-linux-x86_64.tar.gz -C /home/es/

ll可查看文件目录权限,为非root权限即可

Linux集群部署Elasticsearch-8.8.2,linux,elasticsearch,运维

# 如果为root再授权一次即可
chown -R zyd:zyd /home/es/
配置 node-1

配置 elasticsearch.yml 【关键】

cd /home/es/elasticsearch-8.8.2/config
vim  elasticsearch.yml
# 只配置以下选项,其他不动,因为es会自行配置,我们只配置基础必须的项。否则各种坑。
# 集群名称:自定义,三个节点都必须配置为相同
cluster.name: my-application
#该节点名称:唯一不重复
node.name: node-1
# 节点属性
node.roles: [master,data]
# 数据位置
path.data: /home/es/elasticsearch-8.8.2/datas
# log位置
path.logs: /home/es/elasticsearch-8.8.2/logs
network.host: 0.0.0.0
http.port: 9200
# 其他节点ip
discovery.seed_hosts: ["192.168.190.128:9300","192.168.190.129:9300","192.168.190.130:9300"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]

可选,根据机器内存配置 jvm.options文件

vim jvm.options
#将内存最大最小配置为4G 其他不动
-Xms4g
-Xmx4g
启动 node-1
#启动该节点并记录启动日志
cd /home/es/elasticsearch-8.8.2/bin
#启动es节点,前台启动
./elasticsearch
#正常启动,关注如下日志:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.
#生成默认用户:elastic   密码:Z8Scc-c0KGoJV3QPg++S
ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
  Z8Scc-c0KGoJV3QPg++S

ℹ️  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.8.2`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#启动后,ES会自动配置集群配置、安全配置,并追加到elasticsearch.yml文件中
#ssl证书等配置,生成到config/certs目录中。
#后续节点加入集群,会自动同步该节点的配置,不要人工手动配置。

es安全访问需要输入密码,这里为了方便我们取消xpack.security

重新打开elasticsearch.yml会发现结尾多了几行,我们把这两个位置改成false。

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

Linux集群部署Elasticsearch-8.8.2,linux,elasticsearch,运维

#启动该节点并记录启动日志
cd /home/es/elasticsearch-8.8.2/bin
#启动es节点,后台启动
./elasticsearch -d
# 关闭应用
# 前台界面直接 ctrl+C
# 后台关闭使用 kill -9
# 1,找到应用pid
ps -ef | grep elasticsearch
# 2,kill关闭
kill -9 12315
启动 node-2

配置

基础配置与配置node-1相同

su zyd
cd /home/es/elasticsearch-8.8.2/config
vim  elasticsearch.yml
# 只配置以下选项,其他不动
# 节点名称修改
node.name: node-2

启动后,elasticsearch.yml文件中会追加安全配置,再去修改以下内容

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

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

集群启动

都修改好后,三个节点可能没组成集群,节点各自分家, 每个都是master,显示 UUID 的 warring。

解决方法:将elasticsearch.yml里配置的 数据文件位置里的内容全部删除,重启三个节点即可。

Linux集群部署Elasticsearch-8.8.2,linux,elasticsearch,运维

配置安装kibana

  1. 下载kibana安装包-8.8.2并上传到服务器
  2. 解压安装包:tar -zxvf xxxx.tar.gz
  3. 配置kibana.yml文件
cd /home/es/kibana-8.4.3/config
vim kibana.yml
# port修改
server.port: 5601
# host修改为如下:
server.host: "0.0.0.0"
  1. 保存配置文件并启动kibana
cd /home/es/kibana-8.4.3/bin/
./kibana
  1. 浏览器登陆kibana

报错解决

  1. 使用root用户启动失败
[WARN][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

**解决:**创建一个独立的用户,比如es来启动elasticsearch

  1. elasticsearch安装目录权限不对
main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

**解决:**看到“Caused by: java.nio.file.AccessDeniedException: /usr/local/elasticsearch-8.8.0/config/elasticsearch.yml”的提示,检查目录的权限,将目录的权限改成es:es就好了。

  1. 日志和数据目录权限异常,启动失败
main ERROR Unable to create file /home/es/logs/my-application_index_indexing_slowlog.log java.io.IOException: 权限不够”和“Caused by: java.nio.file.AccessDeniedException: /home/es/data/nodes

**解决:**修改elasticsearch.yml里配置的日志和数据目录权限

  1. 内存不够,启动失败

**解决:**修改的/etc/security/limits.conf文件, 重新启动

./elasticsearch     #为了看启动日志就前台启动的,ctrl+c 进程就会over掉
#检查端口,起来了
netstat -tlunp|grep 9200
# 然后关掉进程重新后台启动
nohup ./elasticsearch >/dev/null 2>&1 &     #后台启动
ps -ef|grep elasticsearch   #检查进程
netstat -tlunp|grep 9200    #用root用户检查端口
  1. 配置文件elasticsearch.yml的权限异常,导致启动失败
main ERROR No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.
SettingsException[Failed to load settings from /usr/local/elasticsearch-5.6.0/config/elasticsearch.yml]; nested: AccessDeniedException[/usr/local/elasticsearch-8.8.0/config/elasticsearch.yml];

**解决:**修改elasticsearch.yml 权限

  1. elasticsearch,找不到java路径,启动失败

**解决:**修改 bin/elasticsearch-env文件下,java jdk读取位置,es8自带jdk, 改为es8的jdk启动,添加ES_JAVA_HOME=“$ES_HOME/jdk”
Linux集群部署Elasticsearch-8.8.2,linux,elasticsearch,运维

使用logstash导入数据

导入csv数据
  1. 下载logstash安装包-8.8.2并上传到服务器

  2. 解压安装包:tar -zxvf xxxx.tar.gz

  3. 进入config目录下,可以看到一个logstash-sample.conf文件,复制一份并命名为logstash-test.conf

  4. 编辑文件

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

# 读取数据配置
input {
  file {
  	# 导入文件目录地址
	path => "/home/zyd/Documents/test_table.csv"
	start_position => "beginning"
  }
}

# 过滤 格式化数据配置
filter {
  # 配置读取csv文件
  csv {
    # 设置拆分符为 逗号
    separator => ","
    # 指定csv文件的字段 按顺序匹配
    columns => ["ID","USERS","NAME"]
  }  
}

# 输出配置
output {
  # es相关配置
  elasticsearch {
    hosts => "http://192.168.190.128:9200"
    index => "testtable"
	document_id => "%{id}"
    #user => "zyd"
    #password => "zyd"
  }
  stdout {}
}
  1. 进入bin目录,启动logstash:通过-f 参数指定配置文件启动
./logstash -f /home/es/logstash-8.8.2/config/logstash-test.conf

查看导入的索引文章来源地址https://www.toymoban.com/news/detail-743397.html

http://192.168.190.128:9200/_cat/indices?v
#GET方法:
GET testtable/_search

到了这里,关于Linux集群部署Elasticsearch-8.8.2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch 8.0 linux安装部署

    1. 下载安装包 选择下载linux版本,elasticsearch-8.0.0-linux-x86_64.tar.gz 2. 系统参数修改 limits.conf和sysctl.conf 3. 新建用户 添加用户并设置密码。 如果解压文件是在切换用户以前进行,则可以在创建用户以后,设置目录权限为新建用户。 切换用户名: 4. 解压文件 5. 配置文件elasticse

    2024年02月15日
    浏览(31)
  • Linux学习笔记——ElasticSearch安装部署

    5.6.1、简介 全文搜索属于最常见的需求,开源的ElasticSearch(以下简称es)是目前全文搜索引擎的首选。 它可以快速的储存、搜索和分析海量数据。维基百科、Stack Overflow、GitHub都采用它。 ElasticSearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。 很多服务中的搜

    2024年02月09日
    浏览(34)
  • linux部署 ElasticSearch 踩坑记录

    java 环境 :1.8.0-openjdk es版本:   elasticsearch-7.17.3  [1]./elasticsearch-env:行83: /home/es/elasticsearch-7.17.7/jdk/bin/java: 无法执行二进制文件   问题原因: es 的版本与jdk版本不匹配,检查当前es 版本对应的jdk ,然后重新配置环境即可。    查看对应 支持矩阵 | Elastic 解决方案: 升级对

    2024年02月10日
    浏览(44)
  • Linux服务器部署ElasticSearch

    服务器部署需要openjdk-8u41-b04-linux-x64-14_jan_2020(jdk1.8 64bit) elasticsearch-7.4.0-linux-x86_64.tar.gz、kibana-7.4.0-linux-x86_64.tar.gz 1、cd /usr/local/src 2、上传openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz 3、解压tar包 tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz 4、配置JAVA_HOME vim /etc/profile 在下方加上如下配置

    2023年04月08日
    浏览(56)
  • 【Linux】Docker部署Elasticsearch镜像环境

    1、查看防火墙状态 2、开启防火墙 3、关闭防火墙 4、开机禁止开启防火墙 5、开启自启防火墙 1、安装指定版本 比如 8.2.0 2、查看是否拉取成功 3、选择挂载硬盘创建四个目录,并设置目录权限为可读写。 4、先启动一个简单的容器 这里记录一下 进入容器的方式 先查看正在运

    2024年02月13日
    浏览(41)
  • Linux系统部署elasticsearch8.0

    官网下载软件,上次到Linux系统 解压的时候需要注意解压路径不要在root目录下,因为elasticsearch8不允许使用root角色启动 找到config目录下的elasticsearch.yml文件,修改配置: 可以看到启动报错 这个错误是因为一些系统配置参数对于es太小了 es启动不起来 修改相应配置即可 先解决

    2023年04月08日
    浏览(46)
  • 一站式 Elasticsearch 集群指标监控与运维管控平台

    上篇文章写了一下消息运维管理平台,今天带来的是ES的监控和运维平台。目前初创企业,不像大型互联网公司,可以重复的造轮子。前期还是快速迭代试错阶段,方便拿到市场反馈,及时调整自己的战略和产品方向。让自己活下去,话不多说 开始今天的分享。 一、项目介绍

    2024年02月10日
    浏览(43)
  • Linux Elasticsearch kibana ik分词器 安装部署

    1.1 elasticsearch下载 找到对应版本 点击下载linux版本 1.2 kibana 下载地址 访问地址后 和elasticsearch 下载操作一样 版本下载和elasticsearch 一样的 1.3 ik分词器下载 这个需要访问github 如果访问不通 可以尝试安装浏览器的插件加速一下github即可 分词器版本硬性要求 和 elasticsearch必须一

    2024年02月04日
    浏览(46)
  • Elasticsearch-7.8.0安装最全(mac、Linux、window、centos7.5集群、docker)

    第一章 Elasticsearch-7.8.0单机安装 第二章 Elasticsearch-7.8.0集群基于Centos7 第三章 Elasticsearch-7.8.0通过Docker方式安装 Elasticsearch安装单机、Kibana安装单机 适用于mac、window、linux单机测试 1.1.1 安装包下载 下载地址:https://www.elastic.co/downloads/past-releases#elasticsearch 1.1.2 解压安装ElasticSea

    2024年04月09日
    浏览(42)
  • 【Linux系统基础】(2)在Linux上部署MySQL、RabbitMQ、ElasticSearch等各类软件

    在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没有一些具体的实操能够串联起来这些知识点。 所以,现在我们设计了各类软件在Linux上部署安装的实战章节,可以让

    2024年02月04日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包