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

ubuntu 22.04 安装部署elasticsearch 7.10.0详细教程

安装部署elasticsearch 7.10.0详细教程

  • 一、下载并安装
  • 二、修改elasticsearch.yml配置文件
  • 三、授权文件或者文件夹
  • 四、启动服务
  • 五、访问验证
  • 六、性能配置
  • 七、开启安全功能
    • 1. 开启用户密码登录
    • 2. 开启安全加密通信
  • 八、安装启动常见问题

【背景】

  1. 整个elk安装是基于ubuntu 22.04和jdk 11环境。
  2. elasticsearch采用 *.deb方式安装,需要服务器能联网。
  3. ubuntu 22.04 安装部署elk(elasticsearch/logstash/kibana) 7.10.0详细教程

一、下载并安装

# 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-amd64.deb 
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-amd64.deb.sha512# 安装
shasum -a 512 -c elasticsearch-7.10.0-amd64.deb.sha512
# 输出应显示 elasticsearch-7.10.0-amd64.deb: OK 表示验证成功
sudo dpkg -i elasticsearch-7.10.0-amd64.deb

二、修改elasticsearch.yml配置文件

  1. 先备份在修改
# 备份文件后修改elasticsearch.yml配置文件
sudo cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
sudo vim /etc/elasticsearch/elasticsearch.yml
  1. 修改elasticsearch.yml配置文件
# 设置集群名称
cluster.name: myes
# 设置节点名称
node.name: node-1
# 设置绑定地址(如果需要远程访问)
network.host: 0.0.0.0  # 注意:生产环境建议使用具体IP而非0.0.0.0
# 设置HTTP端口
http.port: 9200
# 发现设置(单节点配置)
discovery.type: single-node

三、授权文件或者文件夹

# 查看安装文件的权限,确保所有者都是elasticsearch,如果不是可以授权
sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch
sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch

四、启动服务

es启动需要用非root用户启动。

sudo systemctl daemon-reload #重新加载服务配置文件
sudo systemctl enable elasticsearch.service  #开启自启动
sudo systemctl start elasticsearch.service    #启动
sudo systemctl stop elasticsearch.service 	 #停止
sudo systemctl restart elasticsearch.service  #重启
sudo systemctl status elasticsearch.service  #查看服务状态

如下图表示已经正常启动服务了
在这里插入图片描述

五、访问验证

如若需要可安装curl命令:sudo apt install curl
服务器访问:sudo curl http://localhost:9200
【注意】如果远程访问链接需要防火墙开发端口9200/9300,详见命令如下:防火墙操作命令
在这里插入图片描述
以上基本安装完成,后续可根据需要设置安全访问配置。因es需要较高的系统资源如下配置可根据需求修改。

六、性能配置

  1. 修改配置文件 limits.conf、sysctl.conf,可根据需求修改
# 1. 编辑文件 limits.conf
sudo vim /etc/security/limits.conf
# 添加以下内容(设置 nofile 和 nproc 限制):
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096# 2. 编辑 sysctl.conf
sudo vim /etc/sysctl.conf
# 添加以下内容(调整虚拟内存和最大映射数):
vm.max_map_count=262144# 3. 使配置生效
sudo sysctl -p
  1. 修改jvm.options 文件,可根据需求修改
sudo vim /etc/elasticsearch/jvm.options
# 修改以下内容,7.10.0版本中默认1G,8.x版本默认更大
-Xms1g # 初始堆大小 
-Xmx1g # 最大堆大小
  1. 修改完成后重启验证

重启服务:sudo systemctl restart elasticsearch.service
查看状态: sudo systemctl status elasticsearch.service
在这里插入图片描述
访问链接:sudo curl http://localhost:9200
在这里插入图片描述

七、开启安全功能

1. 开启用户密码登录

  1. 首先在es中配置文件中添加如下配置,然后重启服务
# 编辑配置文件
sudo vim /etc/elasticsearch/elasticsearch.yml
# 添加配置参数,开启登录
xpack.security.enabled: true
# 重启服务
sudo systemctl restart elasticsearch
  1. 设置内置用户密码
# 系统内置用户列举如下
# apm_system, beats_system ,elastic ,kibana_system, logstash_system, remote_monitoring_user
# 设置用户密码命令
# 交互式设置-手动设置
sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
# 系统生成-自动设置(推荐生产环境)
sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
  1. 验证测试es用户名密码
    验证命令:sudo curl -u elastic:密码 http://localhost:9200

2. 开启安全加密通信

开启前访问链接是 http://localhost:9200,开启安全加密后是 https://localhost:9200。保证数据在传输过程中安全性。

#1. 生成证书
# 直接回车,不输入密码,证书生成后的位置:/usr/share/elasticsearch/
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil ca
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12#2. 将证书移位置并赋权
sudo mkdir /etc/elasticsearch/certs/
sudo mv /usr/share/elasticsearch/*.p12 /etc/elasticsearch/certs/
sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch/certs/elastic*.p12#3. 配置证书路径到配置文件中,如下是elasticsearch.yml配置项
# 开启安全访问(用户名密码)
xpack.security.enabled: true
# 开启加密通信(集群节点之间)
xpack.security.transport.ssl.enabled: true 
xpack.security.transport.ssl.verification_mode: certificate 
# [certs/elastic-certificates.p12] 该路径采用相对路径,也可以使用绝对路径
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12# HTTP 安全设置(https,外部客户端与集群通信)
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.http.ssl.truststore.path: certs/elastic-certificates.p12#4. 验证测试
sudo curl -k -u elastic:密码 https://localhost:9200
# 或者页面访问:https://localhost:9200

八、安装启动常见问题

  1. es中 常见的是文件授权问题,对elasticsearch没有赋权,如下授权
  2. 查看日志: sudo tail -100f /var/log/logstash/logstash-plain.log
  3. 路径或文件授权: sudo chown -R elasticsearch:logstash /etc/elasticsearch/
http://www.xdnf.cn/news/14431.html

相关文章:

  • Linux服务器入门教程
  • React forwardRef 与 useImperativeHandle 深度解析
  • LangGraph 深度应用指南:构建下一代Agent系统
  • 使用VSCode开发MCU,FreeRTOS进Hard_Fault调试
  • JVM——JVM中的扩展之道
  • 基于二进制XOR运算的机器人运动轨迹与对称图像自动生成算法
  • 基于深度学习的智能交通流量预测系统:技术与实践
  • 批量下载图片小工具
  • 【项目实训】【项目博客#07】HarmonySmartCodingSystem系统前端开发技术详解(5.12-6.15)
  • 寄存器的使用
  • Number.toFixed() 与 Math.round() 深度对比解析
  • 【SpringCloud】2.0 服务治理——nacos
  • LangGraph--设计一个给出标准提示词模板的聊天机器人
  • 探索RAGFlow:解锁生成式AI的无限潜能(2/6)
  • 蒸馏微调DeepSeek-R1-Distill-Qwen-7B
  • 大模型笔记3:通过插件增强大模型的能力
  • Iceberg与Hive集成深度
  • 【FreeRTOS-信号量】
  • LLM对话框项目 EventSource封装和MessageServiceClass流式展示封装
  • MFE微前端高级版:Angular + Module Federation + webpack + 路由(Route way)完整示例
  • vue相关爬坑总结
  • [windows工具]OCR多区域识别导出excel工具1.2版本使用教程及注意事项
  • 变幻莫测:CoreData 中 Transformable 类型面面俱到(四)
  • 深度神经网络学习
  • 设计模式-装饰器模式
  • React-router 路由历史的模式和原理
  • AI 神经网略小白学习笔记(一) -- 环境搭建
  • 【1】Redis 缓存穿透原理和解决方案
  • [AAAI Oral] 简单通用的公平分类方法
  • React-router 多类型历史记录栈