弹性搜索 - 分布式分析引擎
Elasticsearch是一个开源,高度可扩展的全文搜索和分析引擎。它允许您存储和分析数据,即使是大量的,具有接近实时的性能。这个强大的分析引擎支持RESTful操作,因此可以将所有HTTP方法与HTTP URI结合使用进行数据管理。另一个优点是Elasticsearch可以使用不同的编程语言,比如Python或JavaScript。
一个在线网络商店是可以从Elasticsearch受益的项目的一个很好的例子。可以使用Elasticsearch存储整个产品目录和库存,提供“搜索”和“自动填充建议”功能。
Elastisearch的极大的可扩展性还允许它在笔记本电脑上或在具有PB级数据的服务器集群上运行。
目标
在本教程中,我们将看到如何在运行Ubuntu 16.04的服务器上安装Elasticsearch。
先决条件
JDK安装可以参考以下文章:
Ubuntu 14.04安装JDK1.8.0_25与配置环境变量
Ubuntu 14.04 LTS安装Oracle JDK 1.8
Ubuntu 16.04 LTS 配置JDK1.8出现问题及解决笔记
安装Elastisearch
Elasticsearch以不同的格式提供:.zip,.tar.gz,.deb,.rpm,docker。在本指南中,我们将使用.deb包。
下载Elasticsearch密钥
通过执行以下命令下载并安装Elasticsearch公共签名密钥:
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
从存储库安装Elasticsearch搜索
在进行安装过程之前,我们需要安装apt-transport-https包:
$ sudo apt-get install apt-transport-https接下来,我们将使用以下命令保存存储库定义:
$ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list使用apt安装Elasticsearch:
$ sudo apt-get update && sudo apt-get install elasticsearch让Elasticsearch在系统启动时启动:
$ sudo systemctl enable elasticsearch 配置 ElasticsearchElasticsearch配置文件存储在/etc/elasticsearch目录中。 具体来说,主要的配置文件是:
elasticsearch.yml for configuring the server side part of this powerful analytics engine.
log4j2.properties for configuring logging.
配置文件使用YAML格式。
Elasticsearch搜索需要很少的配置,但是在启动使用之前,应该配置一些设置。
使用文本编辑器打开elasticsearch.yml配置文件:
$ sudo vim /etc/elasticsearch/elasticsearch.yml在这里,搜索cluster.name变量。
# ---------------------------------- Cluster ----------------------------------- # # Use a descriptive name for your cluster: # #cluster.name: my-application #取消注释粗体行,并使用集群名称更改我的应用程序,例如:
cluster.name: MyCluster注意:当节点与集群的所有其他节点共享cluster.name时,节点可以加入集群。 确保cluster.name描述集群的目的。
接下来,更改node.name变量。 如上所述,取消注释行并改变其价值:
# ------------------------------------ Node ------------------------------------ # # Use a descriptive name for the node: # node.name: node-1 #这些是运行Elasticsearch所需的最低设置。 当然,为了在一组服务器上部署这个系统,还有更多的细节需要解决。
保存并关闭文件,然后启动Elasticsearch:
$ sudo systemctl start elasticsearch 测试 Elasticsearch
我们可以通过执行以下命令来测试Elasticsearch:
$ curl -X GET 'http://localhost:9200'它应该显示如下:
{ "name" : "node-1", "cluster_name" : "MyCluster", "cluster_uuid" : "WqXLC-cUT5-bSVyisNRIgQ", "version" : { "number" : "5.4.1", "build_hash" : "2cfe0df", "build_date" : "2017-05-29T16:05:51.443Z", "build_snapshot" : false, "lucene_version" : "6.5.1" }, "tagline" : "You Know, for Search" }这意味着Elasticsearch搜索正在运行。
总结这完成了基本的Elasticsearch搜索配置。 看看在Ubuntu 16.04服务器上安装此分析引擎可以很容易!
Elasticsearch 教程系列文章:
使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践
Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)
Ubuntu 14.04中Elasticsearch集群配置