迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Centos 上如何安装 Elasticsearch

作者:迹忆客 最近更新:2023/02/23 浏览次数:

Elasticsearch 是一款基于 Java 开发的开源搜索引擎,因此需要安装 Java 运行环境才能正常运行。

具体来说,Elasticsearch 是基于 Apache Lucene 构建的分布式搜索引擎,它使用 Java 实现了底层的数据存储、索引和搜索等核心功能,提供了强大的全文搜索和实时数据分析能力。因此,要在服务器上运行 Elasticsearch,必须先安装 Java 运行环境。

需要注意的是,不同版本的 Elasticsearch 对 Java 的要求可能不同,因此在安装 Elasticsearch 之前,应该先查看 Elasticsearch 的官方文档,了解所需的 Java 版本和配置要求。同时,建议使用 Oracle JDK 或 OpenJDK 等官方提供的 Java 实现,以确保 Elasticsearch 的稳定性和性能。


前期准备

1. 安装Java:

Elasticsearch需要Java 8或更高版本。我们可以使用以下命令安装Java 8:

$ sudo yum install java-1.8.0-openjdk -y

2. 配置Java环境变量:

我们需要在系统环境变量中配置Java路径,以便 Elasticsearch 能够找到Java。在 /etc/profile 文件中添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin

3. 配置内核参数:

在CentOS上,Elasticsearch需要一些内核参数的调整以实现最佳性能。可以通过编辑 /etc/sysctl.conf 文件来配置内核参数:

$ sudo vim /etc/sysctl.conf

添加以下内容:

vm.max_map_count=262144
fs.file-max=65536

然后保存文件并执行以下命令以使更改生效:

$ sudo sysctl -p

4. 验证Java和内核参数的配置:

我们可以使用以下命令验证Java是否已正确安装:

$ java -version

如果返回Java版本,则Java已成功安装。

我们可以使用以下命令验证内核参数是否已正确配置:

$ sudo sysctl -a | grep vm.max_map_count
$ sudo sysctl -a | grep fs.file-max

如果返回与我们在 /etc/sysctl.conf 文件中设置的值相同的值,则内核参数已成功配置。

这些步骤将确保 Elasticsearch 在 CentOS 上正常运行并实现最佳性能。


安装 Elasticsearch

1. 添加Elasticsearch仓库:

使用以下命令下载并安装Elasticsearch的公共密钥:

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

然后使用以下命令添加Elasticsearch仓库:

$ sudo vim /etc/yum.repos.d/elasticsearch.repo

在文件中添加以下内容:

[elasticsearch-7.x]
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

2. 安装Elasticsearch:

使用以下命令安装Elasticsearch:

$ sudo yum install elasticsearch -y

3. 编辑Elasticsearch配置文件:

编辑 /etc/elasticsearch/elasticsearch.yml 文件,设置以下参数:

cluster.name: <your_cluster_name>
node.name: <your_node_name>
network.host: <your_server_ip>

其中,<your_cluster_name> 为我们的集群名称,<your_node_name> 为我们的节点名称,<your_server_ip>为我们的服务器IP地址。

4. 启动Elasticsearch服务并启用开机启动:

使用以下命令启动Elasticsearch服务:

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

5. 验证Elasticsearch是否已正确安装:

我们可以使用以下命令验证Elasticsearch是否已正确安装:

$ curl -X GET "http://localhost:9200/"

如果返回以下类似的输出,则Elasticsearch已成功安装:

{
  "name" : "your_node_name",
  "cluster_name" : "your_cluster_name",
  "cluster_uuid" : "sDFsLc9XQTyDYp_KBz50tA",
  "version" : {
    "number" : "7.11.2",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "3e5a16cfec50876d20ea77b075070932c6464c7d",
    "build_date" : "2021-03-06T05:54:38.141101Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

启动 Elasticsearch 错误

安装完成,在启动 Elasticsearch 时我们可能会遇到报错 Job for elasticsearch.service failed because a fatal signal was delivered to the control process

这个错误可能是因为 Elasticsearch 在启动时占用了太多的内存,导致 Linux 系统向 Elasticsearch 进程发送了一个致命信号,使其停止运行。

我们可以尝试通过以下方式来解决这个问题:

1. 分配更多内存给 Elasticsearch

可以尝试将 Elasticsearch JVM 堆内存限制增加到一个更高的值,以便 Elasticsearch 可以使用更多的内存。可以编辑 Elasticsearch 的配置文件 /etc/elasticsearch/jvm.options ,找到以下两个参数:

-Xms1g
-Xmx1g

将其改为较大的值,例如:

-Xms4g
-Xmx4g

这将把 Elasticsearch 的最小和最大堆内存限制都设置为 4GB。修改后需要重启 Elasticsearch。

2. 降低 Elasticsearch 的资源使用

如果我们的系统资源有限,或者我们无法为 Elasticsearch 分配更多的内存,则可以尝试通过以下方法来减少 Elasticsearch 对系统资源的使用:

  • 禁用未使用的插件
  • 压缩和归档旧的 Elasticsearch 日志文件
  • 删除旧的 Elasticsearch 索引
  • 调整索引设置,以便 Elasticsearch 使用较少的内存和磁盘空间

3. 检查系统资源使用情况

可以使用 tophtop 命令查看系统资源的使用情况,以确定是否存在任何资源瓶颈。

如果以上方法仍然不能解决问题,请检查 Elasticsearch 日志文件中的其他错误信息,从而获取更多有价值的内容。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 Linux 中更新 YUM

发布时间:2023/05/04 浏览次数:82 分类:操作系统

本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。

在 Linux 中安装 Deb 文件

发布时间:2023/05/04 浏览次数:130 分类:操作系统

本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。

Linux 中的 lsof 命令

发布时间:2023/05/04 浏览次数:82 分类:操作系统

在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。

Linux 中的 ps aux 命令

发布时间:2023/05/04 浏览次数:69 分类:操作系统

本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。

Linux 中的 NTP

发布时间:2023/05/04 浏览次数:137 分类:操作系统

本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。

在 Linux 中计算文件中的唯一行

发布时间:2023/05/04 浏览次数:70 分类:操作系统

计算文件中的唯一行是 Linux 中的一项常见任务,可以使用多种不同的工具和方法来执行此操作。使用 sort 和 uniq 命令计算文件中的唯一行数

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便