在Ubuntu 14.04上安装和配置Elasticsearch


Elasticsearch是一个开源搜索引擎,它使用Apache Lucene作为其引擎,并根据Apache许可证发布。Elasticsearch提供了一个平台,用于实时分布式搜索和数据分析。Elasticsearch因其易用性和强大的功能而广受欢迎。使用Elasticsearch,您可以轻松地使用HTTP Web界面搜索、浏览和分析您的数据。

功能

Elasticsearch的一些常用功能如下:

  • Elasticsearch可扩展到数百台服务器和PB级的结构化和非结构化数据。
  • Elasticsearch可以用作MongoDB和RavenDB文档存储的替代品。
  • Elasticsearch是一个实时分布式搜索和分析引擎。
  • Elasticsearch在Apache许可证版本2.0下可用,是最受欢迎的企业搜索引擎之一。许多大型组织,如Stack Overflow和GitHub,都使用Elasticsearch。

在本教程中,我们将学习如何在Ubuntu 14.04上安装和设置Elasticsearch。

前提条件

  • 您的系统上安装了Ubuntu 14.04
  • 在您的系统上设置了一个具有sudo权限的非root用户帐户

开始

让我们首先确保您的Ubuntu 14.04服务器完全是最新的。您可以通过运行以下命令来更新您的服务器

$ sudo apt-get update -y
$ sudo apt-get upgrade -y

安装Java

在安装Elasticsearch之前,您需要在系统上安装Java。您可以使用`Webupd8 team PPA`存储库安装Oracle JDK 8。

要添加webupd8team PPA存储库,请运行以下命令:

$ sudo add-apt-repository -y ppa:webupd8team/java

您应该看到以下输出:

gpg: keyring `/tmp/tmpkjrm4mnm/secring.gpg' created
gpg: keyring `/tmp/tmpkjrm4mnm/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpkjrm4mnm/trustdb.gpg: trustdb created
gpg: key EEA14886: public key "Launchpad VLC" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

接下来,通过运行以下命令更新新存储库的元数据:

$ sudo apt-get update

完成后,运行以下命令安装JDK 8:

$ sudo apt-get install oracle-java8-installer -y

您还可以通过运行以下命令验证JDK 8是否已正确安装:

$ sudo java -version

您应该会看到类似这样的输出:

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

安装Elasticsearch

您可以直接从elastic.co网站下载Elasticsearch。对于Ubuntu,您需要下载deb(Debian)包来安装Elasticsearch。

要下载Elasticsearch deb包,请运行以下命令:

$ sudo wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-2.3.5.deb

下载完成后,您可以通过运行以下命令安装它:

$ sudo dpkg -i elasticsearch-2.3.5.deb

现在,启动Elasticsearch服务并启用它在启动时启动,方法是运行以下命令:

$ sudo /etc/init.d/elasticsearch start
$ sudo update-rc.d elasticsearch defaults

您应该看到以下输出:

Adding system startup for /etc/init.d/elasticsearch ...
/etc/rc0.d/K20elasticsearch -> ../init.d/elasticsearch
/etc/rc1.d/K20elasticsearch -> ../init.d/elasticsearch
/etc/rc6.d/K20elasticsearch -> ../init.d/elasticsearch
/etc/rc2.d/S20elasticsearch -> ../init.d/elasticsearch
/etc/rc3.d/S20elasticsearch -> ../init.d/elasticsearch
/etc/rc4.d/S20elasticsearch -> ../init.d/elasticsearch
/etc/rc5.d/S20elasticsearch -> ../init.d/elasticsearch

您可以随时查看Elasticsearch服务状态,方法是运行以下命令:

$ sudo service elasticsearch status

配置Elasticsearch

您可以根据需要编辑位于/etc/elasticsearch/目录下的配置文件来配置Elasticsearch。

$ sudo nano /etc/elasticsearch/elasticsearch.yml

找到network.host行并将其替换为network.host:localhost。

network.host: localhost

编辑完文件后,保存并关闭它。然后重启Elasticsearch:

$ sudo /etc/init.d/elasticsearch restart

测试Elasticsearch

现在Elasticsearch及其依赖项已安装,是时候测试Elasticsearch了。默认情况下,Elasticsearch应该在端口9200上运行。

您可以通过运行以下curl命令来测试Elasticsearch:

$ curl -X GET https://127.0.0.1:9200

您应该看到以下输出:

{
   "name" : "Hussar",
   "cluster_name" : "elasticsearch",
   "version" : {
      "number" : "2.3.5",
      "build_hash" : "90f439ff60a3c0f497f91663701e64ccd01edbb4",
      "build_timestamp" : "2016-07-27T10:36:52Z",
      "build_snapshot" : false,
      "lucene_version" : "5.5.0"
   },
   "tagline" : "You Know, for Search"
}

您还可以通过运行以下命令获取Elasticsearch集群的健康状态:

$ curl -XGET https://127.0.0.1:9200/_cluster/health?pretty=true

输出

{
   "cluster_name" : "elasticsearch",
   "status" : "green",
   "timed_out" : false,
   "number_of_nodes" : 1,
   "number_of_data_nodes" : 1,
   "active_primary_shards" : 0,
   "active_shards" : 0,
   "relocating_shards" : 0,
   "initializing_shards" : 0,
   "unassigned_shards" : 0,
   "delayed_unassigned_shards" : 0,
   "number_of_pending_tasks" : 0,
   "number_of_in_flight_fetch" : 0,
   "task_max_waiting_in_queue_millis" : 0,
   "active_shards_percent_as_number" : 100.0
}

希望您已经对这个内容有了重要的了解!!

更新于:2020年1月20日

199 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告