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

CentOS - 安装 Elasticsearch

"Elasticsearch"是一个流行的开源搜索和分析引擎,它可以用于实时搜索、日志和事件数据分析等任务。以下是在 CentOS 上安装 Elasticsearch 的基本步骤:

  1. 安装 Java
    Elasticsearch 是基于 Java 的应用程序,所以首先需要确保系统上已经安装了 Java。使用以下命令来检查是否已经安装 Java:

java -version

如果未安装 Java,使用以下命令安装 OpenJDK:

sudo yum install java-1.8.0-openjdk

  1. 导入 Elastic GPG 密钥
    执行以下命令导入 Elastic GPG 密钥,以确保安装的 Elasticsearch 软件包是官方签名的:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

  1. 添加 Elastic 源
    创建一个 .repo 文件来添加 Elastic 软件包源。在 /etc/yum.repos.d/ 目录下创建一个新文件,例如 elasticsearch.repo,并将以下内容添加到文件中:
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

保存并关闭文件。

  1. 安装 Elasticsearch
    使用以下命令来安装 Elasticsearch:

sudo yum install elasticsearch

  1. 配置 Elasticsearch
    修改 Elasticsearch 的配置文件以满足需求。主要配置文件位于 /etc/elasticsearch/elasticsearch.yml。使用文本编辑器(如 Nano 或 Vim)来编辑该文件。

sudo nano /etc/elasticsearch/elasticsearch.yml

配置文件包含各种设置,包括网络配置、索引存储路径、集群设置等。根据需求进行配置。保存并关闭文件。

  1. 启动 Elasticsearch 服务
    使用以下命令启动 Elasticsearch 服务并设置它在系统启动时自动启动:
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
  1. 验证 Elasticsearch 运行状态
    使用以下命令检查 Elasticsearch 服务的运行状态
    (或者http://ip:9200,无法访问请继续阅读):

sudo systemctl status elasticsearch

  1. 安装 Kibana 和 Logstash(可选)
    如果你打算使用 Elastic Stack(Elasticsearch、Kibana 和 Logstash)进行数据可视化和日志处理,继续安装 Kibana 和 Logstash。

安装 Kibana:

sudo yum install kibana

安装 Logstash:

sudo yum install logstash

然后,按照官方文档进一步配置和启动 Kibana 和 Logstash。

现在,Elasticsearch 已经安装并运行在 CentOS 系统上。通过 HTTP 接口或使用相关客户端库与 Elasticsearch 进行交互,索引和搜索数据。

问题1:无法通过ip:9200访问

在Elasticsearch中允许远程访问时需要谨慎,因为它可能会引入安全风险。以下是步骤:

  1. 配置elasticsearch.yml文件
    打开Elasticsearch的配置文件,通常在/etc/elasticsearch/elasticsearch.yml中,使用文本编辑器进行编辑:

sudo nano /etc/elasticsearch/elasticsearch.yml

在配置文件中,找到以下设置并进行修改:

network.host: 0.0.0.0

network.host 的值从默认的 localhost127.0.0.1 更改为 0.0.0.0,这将允许Elasticsearch监听所有网络接口上的请求。

  1. 配置elasticsearch.yml文件的绑定地址
    为了增强安全性,可以配置network.bind_hostnetwork.publish_host,以限制监听到特定的网络接口或IP地址。例如,将elasticsearch.yml文件的配置更改如下:
network.host: 0.0.0.0
network.bind_host: 0.0.0.0
network.publish_host: your_server_ip

your_server_ip 替换为你的服务器的公共IP地址。这将限制Elasticsearch仅在指定的IP地址上监听请求。

  1. 配置防火墙规则
    确保服务器上的防火墙允许Elasticsearch的端口(默认为9200)上的传入连接。使用防火墙工具(如firewalld或iptables)来配置相应的规则。

例如,使用firewalld来允许9200端口的入站连接:

sudo firewall-cmd --permanent --add-port=9200/tcp
sudo firewall-cmd --reload
  1. 重启Elasticsearch服务
    当完成配置后,重新启动Elasticsearch服务以使更改生效:

sudo systemctl restart elasticsearch

问题2:启动报错

根据es的启动报错日志(/var/log/elasticsearch/elasticsearch.log)可看出为node 验证错误:
在这里插入图片描述
Elasticsearch默认会被配置为具备集群能力,在这里我们改为单一节点模式(/etc/elasticsearch/elasticsearch.yml):

cluster.name: my-application
node.name: node-1
discovery.type: single-node

重启服务:

sudo systemctl restart elasticsearch

访问:ip:9200
在这里插入图片描述

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

相关文章:

  • IDEA 断点高阶
  • Qt中的单例模式
  • ROS自学笔记十五:URDF工具
  • Pytorch代码入门学习之分类任务(三):定义损失函数与优化器
  • 【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置
  • Python入口顶部人体检测统计进出人数
  • 移动端自动化-Appium元素定位
  • menuconfig 图形化配置原理说明三
  • Ansible简介
  • Tomcat+nginx负载均衡和动静分离
  • 全景环视AVM标定
  • 【JavaScript】leetcode链表相关题解
  • 洞察运营机会的数据分析利器
  • 使用Python实现文字的声音播放
  • gulp自动化构建
  • java时间解析生成定时Cron表达式工具类
  • JavaEE 网络原理——TCP的工作机制(末篇 其余TCP特点)
  • 【软件测试】了解JUnit单元测试框架常用注解
  • 【广州华锐互动】三维全景3D消防科普展馆
  • 某大型车企:加强汽车应用安全防护,开创智能网联汽车新篇章
  • LLVM学习笔记(50)
  • rpc入门笔记0x01
  • web - Tomcat服务器
  • 后端接口返回常见的状态码
  • 50.MongoDB快速入门实战
  • 一款功能强大的音乐曲谱软件Guitar Pro 8 .1.1for Mac 中文破解版
  • 图论基础和表示
  • STM32 音频ADC转wav格式
  • 面试中经常问道的问题二
  • SQL UPDATE 语句(更新表中的记录)