elasticSearch介绍与安装

508人浏览 / 0人评论

1.Elasticsearch介绍

  • 百度百科

ElasticSearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

 

2.Elasticsearch与Solr对比

  • Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
  • Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
  • Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多由第三方插件提供;
  • Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch;
  • Elasticsearch支持RestFul风格编程(uri的地址,就可以检索),Solr暂不支持;

3. 下载安装包

ElasticSearch的官方地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

4.启动服务

  • 第一步:进入bin目录下,执行elasticsearch.bat文件(双击即可)
  • 第二步:闪退(可以将elasticsearch.bat文件在cmd命令窗口下执行,目的:查看错误信息。。。)【错误信息:VM初始化期间发生错误,无法为2097152KB(2G)对象堆保留足够的空间】
  • 第三步:修改es配置(Xms:初始化堆内存大小 Xmx:最大堆内存大小)
  • 第四步:重新执行elasticsearch.bat文件,启动成功
    • 9300端口:ES集群节点之间通讯使用(Tcp协议 )
    • 9200端口:ES节点和外部通讯使用 (Http协议)
  • 第五步:通过浏览器访问:http://localhost:9200/

5. 安装es图形化管理界面

ElasticSearch不同于Solr自带图形化管理界面,我们可以通过安装ElasticSearch的head插件,完成图形化界面的效果,完成索引数据的查看。安装插件的方式有两种,在线安装和本地安装。本课程采用在线的安装。elasticsearch-5-*以上版本安装head插件需要安装node和grunt环境。

安装nodejs环境

下载nodejs:https://nodejs.org/en/download/

  • 执行资料中的node-v8.9.4-x64.msi文件,然后傻瓜式安装(一直下一步,直到完成。)
  • 安装成功,可通过cmd窗口查看版本:node -v

 

安装grunt客户端

Grunt是基于Node.js的项目构建工具;是基于javaScript上的一个很强大的前端自动化工具,基于NodeJs用于自动化构建、测试、生成文档的项目管理工具。

  • 在cmd窗口执行该命令,npm install -g grunt-cli 【注意:该过程需要联网】
  • 备份方案:如果再执行上述命令过程中,网速很慢,我们可以通过镜像加速器去下载
    • 先安装:安装taobao镜像:npm install -g cnpm –registry=https://registry.npm.taobao.org
    • 再执行:cnpm install -g grunt-cli 【注意:npm命令前多了一个字符c】

6.安装head插件

安装步骤

  • 第一步:下载head插件:https://github.com/mobz/elasticsearch-head ,在资料中已经提供了elasticsearch-head-master插件压缩包
  • 第二步:软件解压:可以解压到任意目录,本次我们解压到es的目录下(注意不要放到plugins目录)
  • 第三步:进入到elasticsearch-head-master目录下,通过cmd窗口执行如下命令:npm install grunt 【该过程有些慢】
  • 第四步:启动grunt,执行命令:grunt server,提示是否安装这些模块
  • 第五步:按照要求,继续安装npm的其他模块,执行命令:

npm install grunt-contrib-clean grunt-contrib-concat grunt-contrib-watch grunt-contrib-connect grunt-contrib-copy grunt-contrib-jasmine

  • 第六步:再次启动grunt服务。执行命令:grunt server
  • 第七步:通过浏览器访问。http://localhost:9100/
  • 第八步:解决跨域访问的问题
  • 修改es配置:修改config/elasticsearch.yml文件,添加如下配置

# 允许elasticsearch跨域访问,默认是false

http.cors.enabled: true

# 表示跨域访问允许的域名地址(*表示任意)

http.cors.allow-origin: "*"

# 当前主机域名

network.host: 127.0.0.1

至此,es的服务安装成功!

 

 

全部评论