一、简介

安装Elasticsearch时,必须在整个堆栈中使用相同的版本。例如,如果您使用的是Elasticsearch 7.10.2,则安装Beats 7.10.2,APM Server 7.10.2,Elasticsearch Hadoop 7.10.2,Kibana 7.10.2和Logstash 7.10.2。

安装顺序
按照以下顺序安装要使用的Elastic Stack产品:

  • Elasticsearch
  • Kibana
  • Logstash
  • Beats
  • APM Server
  • Elasticsearch Hadoop

按此顺序安装可确保每个产品所依赖的组件均已安装到位。

系统版本:CentOS7.8mini
IP地址:192.168.152.11

二、使用RPM安装Elasticsearch

可以从我们的网站 或我们的RPM存储库中下载Elasticsearch的 RPM。它可用于在任何基于RPM的系统上安装Elasticsearch,例如OpenSuSE,SLES,Centos,Red Hat和Oracle Enterprise。

使用RPM的旧版本(例如SLES 11和CentOS 5)的发行版不支持RPM安装。请参阅从Linux或MacOS上的存档安装Elasticsearch。

根据弹性许可,可以免费使用此软件包。它包含开源和免费的商业功能,以及对付费商业功能的访问。 开始30天试用,以试用所有付费商业功能。有关弹性许可级别的信息,请参阅“ 订阅”页面。

可在“下载Elasticsearch”页面上找到Elasticsearch的最新稳定版本 。其他版本可以在“过去发行版”页面上找到。

Elasticsearch包含 来自JDK维护者(GPLv2 + CE)的OpenJDK捆绑版。要使用自己的Java版本,请参阅JVM版本要求。

2.1导入Elasticsearch GPG密钥编辑

我们使用带有指纹的Elasticsearch签名密钥(PGP密钥D88E42B4,可从https://pgp.mit.edu获得)对所有软件包进行签名 :

4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
下载并安装公共签名密钥:

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

2.2 从RPM存储库安装编辑

对于基于RedHat的发行版,在目录中创建一个文件elasticsearch.repo;/etc/yum.repos.d/在目录中创建一个文件,其中包含:
#vim /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=0
autorefresh=1
type=rpm-md

您的存储库就可以使用了。您现在可以使用以下命令之一安装Elasticsearch:
#yum install -y --enablerepo=elasticsearch elasticsearch

默认情况下,已配置的存储库是禁用的。这样就消除了elasticsearch在升级系统其余部分时意外升级的可能性。每个安装或升级命令必须显式启用存储库,如上面的示例命令所示。
也可以使用仅包含Apache 2.0许可下可用功能的替代软件包。要安装它,请baseurl在elasticsearch.repo文件中使用以下命令:baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum

修改配置文件

#cat << EOF > elasticsearch.yml
cluster.name: es-cluster
node.name: node01
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.152.11", "192.168.152.12", "192.168.152.13"]
cluster.initial_master_nodes: ["node01"]
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.audit.enabled: true
xpack.security.audit.logfile.events.emit_request_body: true
http.cors.enabled : true
http.cors.allow-origin : "*"
http.cors.allow-methods : OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type, Content-Length
EOF

启动服务:

#sed -i '/[Service]/a\LimitMEMLOCK=infinity' /usr/lib/systemd/system/elasticsearch.service
#systemctl daemon-reload
#systemctl enable elasticsearch
#systemctl start elasticsearch

这些命令没有提供有关Elasticsearch是否成功启动的反馈。而是将这些信息写入位于中的日志文件中/var/log/elasticsearch/
默认情况下,Elasticsearch服务不会在日志中记录信息systemd 。要启用journalctl日志记录,--quiet必须从文件的ExecStart命令行中删除该选项elasticsearch.service。

当systemd启用了日志记录,日志信息使用可用journalctl的命令:
#journalctl -f

列出elasticsearch服务的日志
#journalctl --unit elasticsearch

要从给定时间开始列出elasticsearch服务的日志:
#journalctl --unit elasticsearch --since "2016-10-30 18:17:16"

2.3 检查Elasticsearch是否正在运行

您可以测试你的Elasticsearch节点通过发送一个HTTP请求的端口上运行localhost:9200:
file
file

三、配置elasticsearch

/etc/elasticsearch目录包含Elasticsearch的默认运行时配置。root:elasticsearch在软件包安装中,此目录和所有包含文件的所有权设置为 该setgid标志在/etc/elasticsearch 目录上应用组权限,以确保Elasticsearch可以读取任何包含的文件和子目录。所有文件和子目录都继承root:elasticsearch所有权。从此目录或任何子目录运行命令(例如 elasticsearch-keystore工具)需要root:elasticsearch 权限。
/etc/elasticsearch/elasticsearch.yml默认情况下,Elasticsearch从文件中加载其配置 。在配置Elasticsearch中说明了此配置文件的格式。