如何将Elasticsearch安装到CentOS 7上?

译文
系统 Linux
Elasticsearch是一种开源分布式全文本搜索和分析引擎,支持充分利用REST协议的操作,让你可以实时存储、搜索和分析大量数据。Elasticsearch是最流行的搜索引擎之一,支持搜索需求复杂的应用(比如大型电子商务商店)和分析应用。

[[261532]]

【51CTO.com快译】Elasticsearch是一种开源分布式全文本搜索和分析引擎,支持充分利用REST协议的操作,让你可以实时存储、搜索和分析大量数据。Elasticsearch是***的搜索引擎之一,支持搜索需求复杂的应用(比如大型电子商务商店)和分析应用。

本文介绍了如何将Elasticsearch安装到CentOS 7上。

前提条件

登录系统的用户要有sudo权限才能安装软件包。

安装Elasticsearch

将Elasticsearch安装到CentOS 7上的推荐方法是从官方的Elasticsearch存储库安装rpm软件包。

本文发稿时,Elasticsearch的***版是6.7,要求Java 8或更高版本。你可以使用官方的Oracle Java发行版或OpenJDK 8。

我们将安装OpenJDK 8: 

sudo yum install java-1.8.0-openjdk-devel 
  • 1.

通过输出Java版本来验证Java的安装:

java -version 
  • 1.

输出应类似这样: 

openjdk version "1.8.0_201"  
OpenJDK Runtime Environment (build 1.8.0_201-b09)  
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)  
  • 1.
  • 2.
  • 3.

鉴于Java已安装,下一步是添加Elasticsearch注册库。

使用下列命令导入注册库的GPG密钥: 

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

打开文本编辑工具,创建下列注册库文件: 

sudo nano /etc/yum.repos.d/elasticsearch.repo 
  • 1.

将下列内容粘贴到该文件中: 

/etc/yum.repos.d/elasticsearch.repo  
[elasticsearch-6.x]  
name=Elasticsearch repository for 6.x packages  
baseurl=https://artifacts.elastic.co/packages/6.x/yum  
gpgcheck=1  
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch  
enabled=1  
autorefresh=1  
type=rpm-md  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

保存文件,关闭文本编辑工具。

如果你想安装之前版本的Elasticsearch,将上述命令中的6.x换成你需要的那个版本。

现在可以输入下列命令来安装Elasticsearch软件包: 

sudo yum install elasticsearch 
  • 1.

一旦安装过程完成,运行下列命令,开始并启用服务: 

sudo systemctl enable elasticsearch.service  
sudo systemctl start elasticsearch.service  
  • 1.
  • 2.

你可以使用下列curl命令,通过向localhost上的端口9200发送HTTP请求来验证Elasticsearch在正常运行: 

curl -X GET "localhost:9200/" 
  • 1.

输出应类似下面这样: 

 
"name" : "fLVNqN_" 
"cluster_name" : "elasticsearch" 
"cluster_uuid" : "6zKcQppYREaRH0tyfJ9j7Q" 
"version" : {  
"number" : "6.7.0" 
"build_flavor" : "default" 
"build_type" : "rpm" 
"build_hash" : "8453f77" 
"build_date" : "2019-03-21T15:32:29.844721Z" 
"build_snapshot" : false 
"lucene_version" : "7.7.0" 
"minimum_wire_compatibility_version" : "5.6.0" 
"minimum_index_compatibility_version" : "5.0.0"  
},  
"tagline" : "You Know, for Search"  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

可能5秒至10秒后服务才开启。如果你看到curl: (7) Failed to connect to localhost port 9200: Connection refused,那就等几秒,再试一下。

想查看Elasticsearch服务记录的消息,可以使用下列命令: 

sudo journalctl -u elasticsearch 
  • 1.

至此,你已将Elasticsearch安装在CentOS服务器上。

配置Elasticsearch

Elasticsearch数据存储在/var/lib/elasticsearch目录中,而配置文件位于/etc/elasticsearch。

默认情况下,Elasticsearch配置成只侦听localhost。如果连接到数据库的客户端也在同一个主机上运行,你安装的又是单节点集群,就不需要更改默认配置文件。

远程访问

默认情况下,Elasticsearch并不实施验证机制,所以它可以被能访问HTTP API的任何人访问。如果你想远程访问Elasticsearch服务器,就需要配置防火墙,允许只从可信的客户端访问Elasticsearch端口9200。

从CentOS 7开始,FirewallD取代iptable,成为默认的防火墙管理工具。

运行下列命令,允许从远程可信IP地址通过端口9200来访问: 

sudo firewall-cmd --new-zone=elasticsearch --permanent  
sudo firewall-cmd --reload  
sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanent  
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent  
sudo firewall-cmd --reload  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

别忘了将192.168.121.80换成你的远程IP地址。

之后,如果你想允许从另一个IP地址来访问,请使用: 

sudo firewall-cmd --zone=elasticsearch --add-source= --permanent  
sudo firewall-cmd --reload  
  • 1.
  • 2.

一旦防火墙配置完毕,下一步是编辑Elasticsearch配置,让Elasticsearch可以侦听外部连接。

为此,打开elasticsearch.yml配置文件: 

sudo nano /etc/elasticsearch/elasticsearch.yml 
  • 1.

搜索含有network.host的那一行,取消注释,把值改成0.0.0.0: 

/etc/elasticsearch/elasticsearch.yml  
network.host: 0.0.0.0  
  • 1.
  • 2.

如果你的机器上有多个网络接口,可以指定接口的IP地址,那样Elasticsearch只侦听指定的接口。

重启Elasticsearch服务,让变更生效: 

sudo systemctl restart elasticsearch 
  • 1.

结束语

你已将Elasticsearch成功地安装到了CentOS 7上。现在你可以访问官方的Elasticsearch说明文档页面,了解如何从Elasticsearch开始入门。

原文标题:How to Install Elasticsearch on CentOS 7

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2016-10-24 09:40:53

CentOS高级入侵检测

2016-10-26 09:29:12

MongoDBLinux

2011-08-31 18:08:26

win7Win7PE

2014-08-08 10:37:28

PuppetCentOS

2016-11-15 17:16:42

网络安全技术周刊

2020-11-27 08:00:00

开发分析工具web

2020-04-30 08:00:00

WSLWindows 10Linux

2014-12-01 11:27:54

CentOS 7Docker

2020-01-18 08:00:00

Microsoft TLinux

2017-05-03 14:00:00

LinuxCentOSElastic Sta

2019-07-22 08:05:21

MacOSElasticsear

2015-12-11 13:16:10

CentOS 7Redis服务器

2015-09-10 11:38:37

iTOPCentOS开源

2015-12-29 13:59:53

Ubuntu 15.0CentOS 7Android Stu

2020-12-17 08:08:15

CentOS

2017-03-21 15:51:57

LinuxCentOS 7MariaDB 10

2016-01-06 13:04:13

CentOS 7Ubuntu 15.0Laravel

2019-08-14 09:42:06

LinuxElasticsearKibana

2020-08-28 11:20:01

CentOS7RocketMQ 4.运维

2022-03-04 18:14:26

CentOSLinux
点赞
收藏

51CTO技术栈公众号