文档章节

(一)Elasticsearch学习笔记:安装与配置

laudukang
 laudukang
发布于 2016/05/29 10:13
字数 1111
阅读 170
收藏 3

Elasticsearch 简介

ElasticSearch(简称 ES) 是一个基于 Lucene 构建的开源,分布式,RESTful 搜索引擎。

设计用于云计算中,能够达到搜索实时、稳定、可靠和快速,并且安装使用方便。

支持通过 HTTP 请求,使用 JSON 进行数据索引。另外,ES还有非常强大的统计功能 (facets) , 一个例子:现在系统中的需要实时处理的统计功能从 MySQL 转接到 ElasticSearch , 准确性一致, 速度从原来 1900ms -> 50ms。

Apache Lucene只是一个库。

想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

关系数据库与ES

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices -> Types -> Documents -> Fields

 

Elasticsearch 安装

  1. 安装JDK
    需要JDK1.7或以上,官方推荐使用最新版JDK

  2. 安装与启动ES
    下载ES

    1
    https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.3/elasticsearch-2.3.3.tar.gz

    解压到指定目录

    1
    tar -zxvf elasticsearch-2.3.3.tar.gz

    进入bin目录启动ES

    1
    2
    cd elasticsearch-2.3.3/bin
    ./elasticsearch
    start

     

    至此,可以查看ES集群的信息

    1
    curl -XGET 'http://localhost:9200?pretty'
    info

     

  3. 关闭ES

    三种方式关闭:

    • 如果节点是连接到控制台,按下Ctrl+C;
    • 通过发送TERM信号杀掉服务器进程(参考Linux上的kill命令和Windows上的任务管理器);
    • 使用REST API

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      //关掉整个集群
      curl -XPOST http://localhost:9200/_cluster/nodes/_shutdown
      
      //关闭单一节点,假如节点标识符是BlrmMvBdSKiCeYGsiHijdg,如何查看见下一条
      curl –XPOST http://localhost:9200/_cluster/nodes/BlrmMvBdSKiCeYGsiHijdg/_shutdown
      
      //查看节点标识符
      curl -XGET http://localhost:9200/_cluster/nodes/
      
      //检查集群健康度
      curl -XGET http://localhost:9200/_cluster/health?pretty
    • health

       

Elasticsearch 插件

Marvel

Marvel用来监控 Elasticsearch 集群实时、历史状态的有力用具,便于性能优化以及故障诊断。

监控主要分为六个层面,分别是集群层、节点层、索引层、分片层、事件层、Sense,在开发环境下免费使用。

1
2
3
4
5
6
7
8
./bin/plugin -i elasticsearch/marvel/latest
Kibana

Kibana是一个用于ElasticSearch分析和查询的仪表盘。

tar zxvf kibana-4.5.0-linux-x64.tar.gz
cd ./kibana-4.5.0-linux-x64/bin/
./kibana

 

可以通过下行命令来查看节点上的插件列表

1
curl http://localhost:9200/_nodes/_local/plugins

 

Elasticsearch 配置

config/elasticsearch.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
 cluster.name: ela
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
 node.name: node-1
#
# Add custom attributes to the node:
#
# node.rack: r1
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
 network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
# http.port: 9200
#
# For more information, see the documentation at:
# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html>


# personal setting,use for http post add new field
 script.update: true
 script.mapping: true
 script.engine.groovy.file.aggs: true
 script.engine.groovy.file.mapping: true
 script.engine.groovy.file.search: true
 script.engine.groovy.file.update: true
 script.engine.groovy.file.plugin: true
 script.engine.groovy.indexed.aggs: true
 script.engine.groovy.indexed.mapping: true
 script.engine.groovy.indexed.search: true
 script.engine.groovy.indexed.update: true
 script.engine.groovy.indexed.plugin: true
 script.engine.groovy.inline.aggs: true
 script.engine.groovy.inline.mapping: true
 script.engine.groovy.inline.search: true
 script.engine.groovy.inline.update: true
 script.engine.groovy.inline.plugin: true

 

cluster.name:保存集群的名字,不同的集群用名字来区分,配置成相同集群名字的各个节点形成一个集群。节点启动时据此自动加入对应的集群,如果集群存在的话。

node.name:实例(该节点)的名字,可以不定义此参数,这时,Elasticsearch自动选择一个唯一的名称。注意,此名称是每次启动时选择的,所以在每次重启后名称可能都不一样。在很长的时间区间或者重启过后,需要在API中提及具体实例名称,或者用监控工具查看节点,自定义一个名称还是很有帮助的。

http.port:HTTP API的默认端口号是9200,Elasticsearch很聪明,如果默认端口不可用,引擎将绑定到下一个可用端口。

network.bind_host:默认情况下 Elasticsearch 的 RESTful 服务只有本机才能访问,也就是说无法从主机访问虚拟机中的服务,可以设置为0.0.0.0以方便主机调式虚拟机。

Reference

© 著作权归作者所有

共有 人打赏支持
laudukang

laudukang

粉丝 80
博文 10
码字总数 5234
作品 0
深圳
程序员
私信 提问
加载中

评论(3)

laudukang
laudukang

引用来自“Hao-D”的评论

居然没在laudukang.me上发布 !!!
8:20发
OSC运营汪
OSC运营汪
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Hao-D
Hao-D
居然没在laudukang.me上发布 !!!
ES(elasticsearch)搜索引擎

ES(elasticsearch)搜索引擎 0、授人以渔,少走半年弯路! 死磕 Elasticsearch 方法论:普通程序员高效精进的 10 大狠招! 一、Elasitcsearch基础篇 1.1 Elasitcsearch基础认知 1、Elasticse...

Ocean_K
2018/09/11
0
0
Elastic Search学习笔记2——安装head插件

下载head插件地址 http://mobz.github.io/elasticsearch-head/ 安装 在V2中,进入elasticsearch/bin目录 使用plugin可以直接安装插件 plugin install mobz/elasticsearch-head 在浏览器中输入...

晨猫
2018/03/09
0
0
Elastic Search学习笔记1——安装elasticsearch2.4.6

Elastic Search 简介 1.基于Apache Lucene的开源搜索引擎 2.采用Java编写 RESTful API风格 3.较容易的横向扩展 应用场景 1.海量数据分析引擎 2.数据搜索引擎 3.数据仓库 官网 https://www.el...

晨猫
2018/03/09
0
0
elasticsearch搜索引擎相关资料(更新中)

最近需要用到elasticsearch搜索引擎,所以搜集了很多相关资料,先放在这里(未详细整理) 一、步骤总结:(linux环境下) 1. 安装 (1)下载elasticsearch安装包:http://www.elasticsearch....

核桃人
2018/03/08
0
0
ELK+Filebeat+Nginx集中式日志解决方案(二)——添加ElasticSearch集群

一、使用说明: Elasticsearch插件: Elasticsearch常用的几个插件为: # head 地址 https://github.com/mobz/elasticsearch-head mobz/elasticsearch-head kopf 地址 https://github.com/l......

在下郑小明
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java常用设计模式

设计模式; 一个程序员对设计模式的理解: “不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“...

呵呵哒灬
26分钟前
3
0
Kafka入门

1、Kafka使用背景 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词...

watermelon11
昨天
0
0
Cannot list resources Permission denied: user=Administrator, access=READ_EXECUTE, inode="/tmp"

Cannot list resources Permission denied: user=ÁõÎĺÁ, access=READ_EXECUTE, inode="/tmp":root:supergroup:drwx-wx-wx windows系统 Spring boot 整合hadoop时报错。 java.lang.Ille......

lwenhao
昨天
2
0
【结构型】- 享元模式

享元模式 作用:利用共享技术有效地支持大量细粒度对象的复用 享元模式状态 内部状态:在享元对象内部不随外界环境改变而改变的共享部分,存储于享元对象内部 外部状态:随着环境的改变而改变...

ZeroneLove
昨天
3
0
Vue 中使用UEditor富文本编辑器-亲测可用-vue-ueditor-wrap

一、Vue中在使用Vue CLI开发中默认没法使用UEditor 其中UEditor中也存在不少错误,再引用过程中。 但是UEditor相对还是比较好用的一个富文本编辑器。 vue-ueditor-wrap说明 Vue + UEditor + ...

tianma3798
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部