如何在CentOS 7上安装Elasticsearch 7.x

时间:2020-02-23 14:30:38  来源:igfitidea点击:

本教程讨论如何在CentOS上安装Elasticsearch 7.x。
Elasticsearch是一个开源搜索和分析引擎,允许我们实时存储,搜索和分析大量数据。
Elasticsearch为数百万个应用程序提供了依赖于密集搜索操作,例如电子商务平台和大数据应用。

截至本文更新的最新版本的Elasticsearch是7.我们将介绍在CentOS 7 Linux系统上安装Elasticsearch 7所需的最低步骤。
让我们开始。

对于多节点群集,请参阅CentOS上的设置Elasticsearch集群| Ubuntu与Ansible.

第1步:更新CentOS 7 Linux

在CentOS 7上安装ElasticSearch 7.x之前,应更新我们正在处理的服务器。
只需运行以下命令以更新它。

sudo yum -y update
sudo reboot

第2步:在CentOS 7上安装Java

Elasticsearch需要安装Java以运行。
CentOS 7上可安装的默认Java是Java 8.此处是用于安装的命令。

sudo yum -y install java-1.8.0-openjdk  java-1.8.0-openjdk-devel

设置Java Home.

cat <<EOF | sudo tee /etc/profile.d/java8.sh
export JAVA_HOME=/usr/lib/jvm/jre-openjdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
EOF

源创建文件以更新环境。

source /etc/profile.d/java8.sh

第3步:添加Elasticsearch Yum存储库

添加存储库以将Elasticsearch 7软件包下载到CentOS 7系统。

cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

如果要安装Elasticsearch 6,请用6替换7的所有出现。
添加存储库后,清除并更新yum包索引。

sudo yum clean all
sudo yum makecache

第4步:在CentOS 7上安装Elasticsearch 7

最后在CentOS 7机器上安装Elasticsearch 7.x。
请注意,我们添加了一个开源存储库。
其他存储库中提供商业风味。

sudo yum -y install elasticsearch-oss

在CentOS 7上确认Elasticsearch 7安装:

$rpm -qi elasticsearch-oss
Name        : elasticsearch-oss
Epoch       : 0
Version     : 7.4.0
Release     : 1
Architecture: x86_64
Install Date: Thu 17 Oct 2019 05:10:43 AM UTC
Group       : Application/Internet
Size        : 395896718
License     : ASL 2.0
Signature   : RSA/SHA512, Fri 27 Sep 2019 10:40:01 AM UTC, Key ID d27d666cd88e42b4
Source RPM  : elasticsearch-oss-7.4.0-1-src.rpm
Build Date  : Fri 27 Sep 2019 08:49:06 AM UTC
Build Host  : packer-virtualbox-iso-1559162487
Relocations : /usr 
Packager    : Elasticsearch
Vendor      : Elasticsearch
URL         : https://www.elastic.co/
Summary     : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html

配置Java内存限制

我们可以通过编辑文件设置像内存限制等内存限制的JVM选项: /etc/elasticsearch/jvm.options以下示例设置总堆空间的初始/最大大小

$sudo vi /etc/elasticsearch/jvm.options
.....
-Xms1g
-Xmx1g

如果系统内存较少,则可以将其配置为使用小兆字节的RAM。

-Xms256m
-Xmx512m

启动并启用启动时启用Elasticsearch Service:

sudo systemctl enable --now elasticsearch

确认服务正在运行。

$sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:16:00 UTC; 13s ago
     Docs: http://www.elastic.co
 Main PID: 8774 (java)
   CGroup: /system.slice/elasticsearch.service
           └─8774 /usr/share/elasticsearch/jdk/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSI...
Oct 17 05:15:46 cent7.novalocal systemd[1]: Starting Elasticsearch...
Oct 17 05:15:46 cent7.novalocal elasticsearch[8774]: OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in versio...elease.
Oct 17 05:16:00 cent7.novalocal systemd[1]: Started Elasticsearch.
Hint: Some lines were ellipsized, use -l to show in full.

检查我们是否可以连接到Elasticsearch服务。

$curl http://127.0.0.1:9200 
{
  "name" : "cent7.novalocal",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "SmGu9eXJRlGzxqEy2brGXQ",
  "version" : {
    "number" : "7.4.0",
    "build_flavor" : "oss",
    "build_type" : "rpm",
    "build_hash" : "22e1767283e61a198cb4db791ea66e3f11ab9910",
    "build_date" : "2019-09-27T08:36:48.569419Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

我们应该能够使用curl创建索引。

$curl -X PUT "http://127.0.0.1:9200/test_index"
{"acknowledged":true,"shards_acknowledged":true,"index":"test_index"}

第5步:在CentOS 7上安装Kibana 7

相关的Elasticsearch诸如Kibana,Logstash 等等Elasticsearch封装可以从添加的存储库安装。

sudo yum install kibana-oss logstash

安装成功后,配置Kibana:

$sudo vi /etc/kibana/kibana.yml
server.host: "0.0.0.0"
server.name: "kibana.example.com"
elasticsearch.url: "http://localhost:9200"

根据需要更改其他设置,然后启动Kibana服务:

sudo systemctl enable --now kibana

如果我们有一个活动防火墙,我们需要访问Kibana端口:

sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload

访问http://IP地址:5601打开Kibana仪表板: