各位小伙伴,又到了本期分享大数据技术的时间,本次给大伙带来的是Elasticsearch这个技术,闲话不多聊,我们开始进入正题。

一、什么是elasticsearch

Elasticsearch是一个基于Lucene的实时的分布式搜索和分析 引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠, 快速,安装使用方便。基于RESTful接口。

二、Elasticsearch与solr对比

2.1.热度

 
 
从上图可以看出,在elasticserach出现后,它的搜索指数急剧上升,不久就超过了solr

2.2.性能对比

大型互联网公司,实际生产环境测试,将搜索引擎从Solr转到Elasticsearch以后的平均查询速度有了50倍的提升。

2.3.优势

a)Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
b)Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。
c)Elasticsearch 采用 Gateway 的概念,使得备份更加简单。
各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

三、Lucene与ES关系?

1)Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
 
2)Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

四、Elasticsearch与关系型数据库对比

ElasticSearch与关系型数据库的相似:

 
1.一个ES集群可以包含多个索引(数据库),每个索引又包含了很多类型(表),类型中包含了很多文档(行),每个文档又包含了很多字段(列)。
2.传统数据库为特定列增加一个索引,例如B-Tree索引来加速检索。Elasticsearch和Lucene使用一种叫做倒排索引(inverted index)的数据结构来达到相同目的。
3.倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。

五、Elasticsearch部署与启动

注:java版本要求:最低1.7 »

5.1.下载

地址:https://www.elastic.co/downloads/
这里选择elasticsearch-2.4.5.tar.gz

5.2.安装

Es是一个分布式的搜索技术,故安装时既可以是单机版也可以是集群,这里介绍的是分布式安装。
首先选择三台虚拟机,且这三台虚拟机都已经安装好jdk7,它们的IP分别为:192.168.78.204,192.168.78.205,172.168.78.206。

5.2.上传并解压

命令:  tar -zxvf elasticsearch-2.4.5.tar.gz

5.2.2 配置

修改es_home/config/elasticsearch.yml  (注意配置要顶格写,冒号后面要加一个空格,最好用vim编辑器修改,容易发现错误)

 
以上为一台虚拟机的配置,另外两台也要配置,需要修改的是node.name和network.host,其他地方不需要修改.

5.2.3 启动

elasticsearch启动的时候,不能以root用户启动,否则会报错。我们可以创建一个es用户,来专门管理elasticsearch.
创建用户:useradd es
修改密码:passwd es
然后将elasticsearch的整个目录所有者和所属组都修改成es用户。命令:chown -R es:es elasticsearch-2.4.5
  

 
修改权限后,切换成es用户,然后分别启动三台虚拟机上的elasticsearch.
命令:es_home/bin/elasticsearch
后台运行命令:es_home/bin/elasticsearch -d
我这里直接启动,如下图:

 
当日志出现图中的2步骤时,说明这台虚拟机上的ES进程启动成功,但是这时该节点还没组建集群,只有出现了3步骤,cluster.service日志出来时,才说明集群组建成功。
 
访问任意一台虚拟机的9200端口,查看单机情况。如图:

 
访问任意一台虚拟机的ip:9200/_cluster/health?pretty 地址,查看集群的状态

 
 
Elasticsearch提供了rest接口,故可以用curl命令,发送http请求来对索引库进行操作。创建一个叫myindex的索引库
命令:curl -XPUT 192.168.78.204:9200/myindex?pretty

 
 
如上图,返回true说明创建索引库成功。
 
好了,本次的对elasticsearch的介绍就到这里了
^_^,感兴趣的童学可以继续关注上海尚学堂大数据技术文章。也可以加维信 java8733获取资料。

Elasticsearch简介和安装对比的更多相关文章

  1. Elasticsearch简介与安装

    搜索 就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息 垂直搜索 站内搜索 互联网搜索 电商网站,招聘网站,新闻网站,各种app IT系 ...

  2. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  3. 【原创】大数据基础之ElasticSearch(1)简介、安装、使用

    ElasticSearch 6.6.0 官方:https://www.elastic.co/ 一 简介 ElasticSearch简单来说是对lucene的分布式封装,增加了shard(每个shard ...

  4. 1、elasticsearch简介

    1.elasticsearch简介 中文帮助文档地址:http://es.xiaoleilu.com/ • Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎.设计用于云计算 ...

  5. Elasticsearch vs Solr 搜索引擎对比和选型

    前言 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选. 基于Lucene它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Githu ...

  6. 01 . Prometheus简介及安装配置Grafana

    Promethus简介 Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在S ...

  7. MySQL简介及安装

    一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...

  8. Docker简介以及安装

    Docker简介以及安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是容器 1.一种虚拟化方案 与传统的虚拟机不同,传统的虚拟机是通过中间层将一台或多台独立的机器虚拟运 ...

  9. ELK学习笔记之ElasticSearch简介

    0x00 什么是Elasticsearch Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定.可靠.快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的 ...

随机推荐

  1. ARM汇编指令格式

    一.ARM介绍 1) arm汇编中,程序下一步执行哪一条指令,是根据程序计数器(PC)的值来决定. 类比于8086的CS:IP的功能. 2) 8086属于CISC(复杂指令集),每条指令长度不等,ar ...

  2. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  3. 十一、eclipse如何创建一个maven工程project

    1. 2. 3. 4. 这是刚创建的工程,因为缺少WEB-INF/web.xml,所以项目会报错 5. 6. 再编写一个web.xml文件,项目就正常了,没有报错:后期需要自己添加对应的pom.xml ...

  4. 阿里云服务器配置phpstudy实现域名访问【图文教程】

    首先,运行phpStudy,确保Apache和MySql启动,绿色代表正常启动状态. 然后配置站点域名,打开phpStudy的站点域名管理,1.设置域名(你有的域名,最后需要域名解析):2.设置文件的 ...

  5. identityserver4 代码系列

    链接:https://pan.baidu.com/s/1ePLwUxGpIPObwA8nnfDT9w 提取码:gr0x

  6. ef 连接mysql,code first

    方法“MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConn ...

  7. Linux中硬链接和软链接的区别

    看了这篇文章之后,豁然开朗.直接放链接,感谢作者的分享. https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/#ico ...

  8. postgresql 日期生成流水号

    --表结构 DROP TABLE if exists public.sys_tabid; CREATE TABLE public.sys_tabid ( id serial NOT NULL , ty ...

  9. PL/SQL Developer 破解方法~

    1.有注册码的方式:亲自测试,立马见效 LicenseNumber : 999 productCode : 46jvnzf74ysf3mqm4hx4tvhcamh8gpe3v5 SeriesNumbe ...

  10. cpu的工作原理