如何将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: 

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

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

  1. java -version 

输出应类似这样: 

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

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

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

  1. 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  
  2. [elasticsearch-6.x]  
  3. name=Elasticsearch repository for 6.x packages  
  4. baseurl=https://artifacts.elastic.co/packages/6.x/yum  
  5. gpgcheck=1  
  6. gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch  
  7. enabled=1  
  8. autorefresh=1  
  9. type=rpm-md  

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

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

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

  1. sudo yum install elasticsearch 

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

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

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

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

输出应类似下面这样: 

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

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

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

  1. sudo journalctl -u elasticsearch 

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

配置Elasticsearch

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

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

远程访问

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. sudo systemctl restart elasticsearch 

结束语

你已将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

2022-03-04 18:14:26

CentOSLinux

2020-08-28 11:20:01

CentOS7RocketMQ 4.运维
点赞
收藏

51CTO技术栈公众号