在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 }
希望您已经对这个内容有了重要的了解!!