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