当前位置:首页 > 编程笔记 > 正文
已解决

CentOS - 安装 Elasticsearch

来自网友在路上 153853提问 提问时间:2023-10-27 05:17:20阅读次数: 53

最佳答案 问答题库538位专家为你答疑解惑

"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
在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"CentOS - 安装 Elasticsearch":http://eshow365.cn/6-25702-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!