`

ElasticSearch-入门

 
阅读更多

 

 

简介

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。

 

 

 

 

 

概念介绍

cluster

代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。

 

shards

代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。

 

replicas

代表索引副本,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。

 

recovery

代表数据恢复或叫数据重新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。

 

river

代表es的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法。它是以插件方式存在的一个es服务,通过读取river中的数据并把它索引到es中,官方的river有couchDB的,RabbitMQ的,Twitter的,Wikipedia的。

 

gateway

代表es索引快照的存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到本地硬盘。gateway对索引快照进行存储,当这个es集群关闭再重新启动时就会从gateway中读取索引备份数据。es支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。

 

discovery.zen

代表es的自动发现节点机制,es是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。

 

Transport

代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。

 

 

 

 

 

环境搭建

下载ElasticSearch 2.4

修改主节点配置 $ELASTIC_SEARCH_HOME\config下的 elasticsearch.yml文件

增加一段配置

第一行是集群的名称,集群中其他节点都需要配置成一样的

第二个是节点的名称

第三个是对外暴露的ip,如果不写的话,默认只能本机访问,外部机器访问web界面都会失败

cluster.name: es-test
node.name: test-node1
network.host: 192.168.186.128

 

默认情况下,elastic search不允许用root用户启动,如果一定要用root用户启动,需要修改

elasticsearch.in.sh,修改JAVA_OPTS

JAVA_OPTS="$JAVA_OPTS -Xms${ES_MIN_MEM} -Des.insecure.allow.root=true"

 

启动主节点

直接执行

$ELASTIC_SEARCH_HOME\bin\ ./elasticsearch

 

 

修改从节点,最后一行是需要加入的节点地址

cluster.name: es-test
node.name: test-node3
network.host: 192.168.186.132
discovery.zen.ping.unicast.hosts: ["192.168.186.128"]

 

 

安装head插件

./plugin -install mobz/elasticsearch-head

 

web界面

http://192.168.186.128:9200/_plugin/head/

 

 

 

 

参考

elasticsearch集群搭建实例

Elasticsearch-2.x应用填坑之路

搜索引擎选择: Elasticsearch与Solr

ElasticSearch入门 —— 集群搭建

使用elasticsearch遇到的一些问题以及解决方法(不断更新)

Elasticsearch-2.x应用填坑之路

 

分享到:
评论

相关推荐

    Elasticsearch入门+性能优化+环境配置+框架集成+集群进阶+ 最新Elasticsearch实战教程

    (1)\1.课件;目录中文件数:2个 ├─2-课程内容讲解.bmpr (2)\2....目录中文件数:6个 ├─elasticsearch-7.8.0-linux-x86_64.tar.gz ...├─004 - Elasticsearch - 入门 - 环境准备.mp4 ├─005 - Elasticsearch

    elasticsearch-head-chrome插件--v0.1.3

    elasticsearch-head是elasticsearch的入门级可视化工具,有非常大的用户群,这次作者把他做完chrome插件,避免了再服务器上安装该插件,非常的方便。 请下载该版本。亲测有效。

    Elasticsearch7.8X 入门到精通

    001 - 开篇.mp4 002 - 技术选型.mp4 003 - 教学大纲.mp4 008 - 入门 - HTTP - 索引 - 创建.mp4 009 - 入门 - HTTP - 索引 - 查询 & 删除.mp4 010 - 入门 - HTTP - 文档 - 创建 (Put & ...025 - 入门 - JavaAPI - 文档

    elasticsearch-test入门实例

    第一步:启动一个elasticsearch服务,bin目录下的elasticsearch.bat 第二步:建索引,执行_Index中单元测试方法index() 第三步:检索,执行_Search中单元测试方法search() 本实例基于: elasticsearch 0.20.5 编写by:...

    elasticsearch-6.2.2.rar

    Elasticsearch 6.2.2 是一个高度可扩展的开源全文搜索引擎,它以其强大的分布式特性,实时性,以及在大数据量下的优秀性能而闻名。这个版本的压缩包"elasticsearch-6.2.2.rar"包含了运行和管理Elasticsearch所需的...

    (狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战)

    (狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战),包含了小狂神讲的东西,特别适合新手学习,笔记保存下来可以多看看。好记性不如烂笔头哦~,ElasticSearch,简称es,es是一个...

    Elasticsearch入门教程

    ### Elasticsearch入门教程知识点详解 #### 一、Elasticsearch安装与基本操作 1. **解压目录结构**: - 在解压后的Elasticsearch目录中,通常包含多个子目录和文件,例如`bin`目录包含了启动脚本,`config`目录...

    es入门操作-elasticsearch入门操作

    "Elasticsearch 入门操作" Elasticsearch 是一个基于 Lucene 库的搜索引擎,提供了一个分布式、支持多用户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。所有其他语言可以使用 RESTful API 通过端口 9200...

    ElasticSearch入门到精通(基于ELK技术栈ElasticSearch7.8.版本).rar

    **Elasticsearch 入门到精通** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于处理大量数据,提供实时分析和搜索功能。它基于 Lucene 库,但提供了更高级别的分布式、RESTful 风格的搜索和数据分析...

    ElasticSearch入门.pdf

    Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来...

    Elasticsearch-sgg

    **Elasticsearch 入门与实战** Elasticsearch(简称ES)是一款开源的全文搜索引擎,以其高效、可扩展和易用性在大数据分析和实时搜索领域广泛应用。它基于Lucene库构建,但提供了更高级别的分布式、RESTful风格的...

    elasticsearch-definitive-guide.zip

    1. **官方文档**:Elasticsearch官网提供了详细的官方文档,包括快速入门、API参考、最佳实践等内容。 2. **Elasticsearch Definitive Guide**:本书深入浅出地介绍了Elasticsearch的使用,是学习的好资料,可以...

    ES基础入门培训-零基础门槛

    ElasticSearch(ES)是一个强大的、基于Lucene的开源搜索服务器,专门设计用于云计算环境。它提供了实时、稳定、可靠且可扩展的搜索和分析功能,支持RESTful接口,使得操作简单易用。作为Java开发的项目,ES在Apache...

    Elasticsearch-2.3.5安装说明

    **Elasticsearch 2.3.5 安装指南** Elasticsearch 是一个开源的分布式搜索引擎,以其实时性、高可扩展性和强大的分析能力而受到广泛欢迎。版本2.3.5是Elasticsearch的一个稳定版本,提供了许多关键功能和性能优化。...

    elasticsearch-5.1.1.zip

    `README.md`和`README.textile`文件通常包含了项目的简介、安装指南、快速入门等内容,是了解和使用Elasticsearch的第一步。 总结来说,Elasticsearch 5.1.1是一个强大的分布式搜索平台,适用于大数据时代的数据...

    Elasticsearch入门、Kibana 索引管理(elasticserch-head 插件使用, Kibanan 安装和使用)

    四、Elasticsearch介绍 1、什么是ElasticSearch 2、ElasticSearch使用案例 3、ElasticSearch对比Solr 4、ElasticSearch架构图以及基本概念(术语) 1、es概述 2、ES架构模块 3、Elasticsearch核心概念 五、ES的集群...

    springboot+elasticsearch,入门最详细的项目

    在本项目"springboot+elasticsearch"中,开发者提供了一个全面的入门教程,涵盖了Elasticsearch的基本操作,包括增、删、改、查等基本功能,这对于初学者理解这两者如何协同工作非常有帮助。 首先,让我们深入了解...

    高级elasticsearch-7.3应用

    - **入门阶段**:学习Elasticsearch的基础概念,包括文档模型、索引管理等。 - **进阶阶段**:深入学习搜索机制和聚合分析功能,掌握复杂的查询和统计方法。 - **实战阶段**:结合实际案例,学习如何使用Logstash...

    Elasticsearch - A Complete Guide.PDF(非扫描清晰版)

    安装和配置是Elasticsearch入门的关键步骤,包括了选择合适的版本、设置集群名称、配置网络信息等。 3. 索引和搜索:掌握如何在Elasticsearch中进行基本的分析和索引、搜索和查询是至关重要的。这涉及到如何建立...

Global site tag (gtag.js) - Google Analytics