Elasticsearch学习随笔(一)--原理理解与5.0核心插件部署过程
最近由于要涉及一些安全运维的工作,最近在研究Elasticsearch,为ELK做相关的准备。于是把自己学习的一些随笔分享给大家,进行学习,在部署常用插件的时候由于是5.0版本的Elasticsearch踩了非常多的坑,写给大家避免大家再踩坑。
- Elasticsearch启动,5.0版本核心插件的安装。
Elasticsearch的启动十分简单,只需要平时在Linux下运行即可:
cd elasticsearch/bin
./elasticsearch &
Elasticsearch有两个王牌的工具,一般大家都会用到。一个是head,一个是bigdesk。不过不幸的是目前最新的Elastic 5.x 系列,这两个工具都不能像之前一样插件化集成,但仍可以使用,需要一些特殊的方法。
对于head工具,我们可以使用npm命令来来启动,并且由于Elasticsearch在5.0版本有严格的跨域限制,所以我们也需要修改Elasticsearch的跨域策略来允许head工具管理Elasticsearch。
配置Elasticsearch文件下config文件夹下elasticsearch.yml文件,在配置末尾添加以下内容:
http.cors.enabled: true
http.cors.allow-origin: "*"
同时head工具使用npm进行启动,无法进行插件化,具体方法如下:
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
对于bigdesk由于也无法插件化集成,所以需要使用python来发布。
git clone https://github.com/hlstudio/bigdesk
cd bigdesk/_site/
python -m SimpleHTTPServer
- Elasticsearch核心术语理解:
这块是困扰我比较久的地方,查阅了很多资料,如果术语不能理解那么我们无法正确且合理的维护Elasticsearch集群,我是通过Head插件来进行学习和理解的。

Node:我们可以理解为一台服务器和一个虚拟机,是集群的最小分配部分,一个Elasticsearch服务器可以为一个Node。同网段的Node可以通过head来发现并进行管理。
Index:相当于一个索引,通常对应关系型数据库中的Database,我们将一大类通常分成一个Index。我们在使用head去创建Index的时候,我发现又存在两个关键名词需要理解。
shards:为了提高查询效率,一个Index要被切成多份,分别存储在多个Node上,同时为了保证高可用,配置Index时候还需要配置replica。举个例子,对于一个Index可能有5个shards,然而万一这五个shards丢了怎么办,最朴素的思想是我把这5个shards再复制一份再分别保存到其他节点上。于是在Elasticsearch集群中我们经常看到这张图,我从网上找了一个生产环境的集群来理解。

其中加粗的是分片是主分片,未加粗的分片是replica。作为备份。
后续准备总结一下Elasticsearch常见的API,以及调用关系。
Elasticsearch学习随笔(一)--原理理解与5.0核心插件部署过程的更多相关文章
- PyQt(Python+Qt)学习随笔:快速理解Qt 中Action是什么
一.引言 Qt中Action这个词接触很久了,一直以来没去学习,今天终于准备学习了,查了些资料,初步总结为: Action为界面操作的抽象,应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命 ...
- Elasticsearch学习随笔(二)-- Index 和 Doc 查询新建API总结
本文着重总结Elasticsearch的常见API了,进行分析. Index API 初始化Index,设置shards和replica PUT http://localhost:9200/firew ...
- MySQL学习随笔--通过实例理解merge ,temptable算法的差异
实例1 使用视图的两种算法merge和temptable分别统计 表tb_phone中market_price大于4000的手机,然后查询视图查找出小于6000的手机 简单总结最终获取的结果:查询出m ...
- ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件
ElasticSearch的索引可以手动添加索引的,就是类似下面这样添加的 PUT /movies/movie/1 { "title": "The Godfather&q ...
- Elasticsearch 5.0 —— Head插件部署指南
使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了.下面就看看如何在5.0中启动Head插件吧! 官方粗略教程 Running with built in server ...
- Elasticsearch 5.0 —— Head插件部署指南(Head目前支持5.0了!请不要看本篇文章了)
使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了.下面就看看如何在5.0中启动Head插件吧! Head目前支持5.0了!请不要看本篇文章了 Head目前支持5.0了! ...
- Hadoop 学习笔记 (十) hadoop2.2.0 生产环境部署 HDFS HA Federation 含Yarn部署
其他的配置跟HDFS-HA部署方式完全一样.但JournalNOde的配置不一样>hadoop-cluster1中的nn1和nn2和hadoop-cluster2中的nn3和nn4可以公用同样的 ...
- Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法
step1:将安装包hadoop-2.2.0.tar.gz存放到某一个目录下,并解压 step2:修改解压后的目录中的文件夹/etc/hadoop下的xml配置文件(如果文件不存在,则自己创建) 包括 ...
- Hadoop 学习笔记 (八) hadoop2.2.0 测试环境部署 及两种启动方式
1基本流程步骤1:准备硬件(linux操作系统)步骤2:准备软件安装包,并安装基础软件(主要是JDK)步骤3:修改配置文件步骤4:分发hadoop步骤5:启动服务步骤6:验证是否启动成功!2硬件配置要 ...
随机推荐
- ES6入门2
for-of循环: 新语法如下: for (var value of myArray) { console.log(value); } 它的优点是: 这是目前遍历数组最简洁和直接的语法: 它避免了fo ...
- 扫描soa并输出所有服务方法
现在,大多公司都采用soa架构.那么我们怎么知道soa提供哪些服务方法呢?是通过浏览器不断的点击尝试?还是通过wcf?还是通过阅读soa接口文档,在软件开发行业,总会有文档落后于代码的情况?这些手法都 ...
- 谈一谈Java8的函数式编程 (三) --几道关于流的练习题
为什么要有练习题? 所谓学而不思则罔,思而不学则殆,在系列第一篇就表明我认为写博客,既是分享,也是自己的巩固,我深信"纸上得来终觉浅,绝知此事要躬行"的道理,因此之后的几篇博 ...
- 腾讯AlloyTeam正式发布omi-cli脚手架 v1.0 - 创建网站无需任何配置
omi-cli omi-cli omi-cli命令 omi框架 用户指南 文件目录 npm 脚本 npm start npm run dist 代码分割 兼容 IE8 插入 CSS 插入组件局部 CS ...
- 【小练习06】HTML+CSS--教学大讲堂
要求实现如下效果图: 代码演示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- 3.Node.js 自定义微信菜单
文章目录: 1.Node.js 接入微信公众平台开发 2.Node.js access_token的获取.存储及更新 3.Node.js 自定义微信菜单 ...
- Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]
linux中的JDK为JDK8,tomcat为tomcat8 加入dubbo.war包 启动报错! Caused by: org.springframework.beans.factory.BeanC ...
- Quartz源码分析
先简单介绍一下quartz,Quartz是一个功能丰富的开源作业调度库,可以集成到几乎任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统.quartz可用于创建执行数十,数百甚至数十 ...
- JavaScript严格模式有什么不同
看ES6,瞄到“严格模式”,问了下自己什么是“严格模式”?答案好像不是很明朗,遂总结如下: 严格模式声明:“use strict”; 1.禁止变量未声明就赋值 2.限制动态绑定(属性和方法归属哪个对象 ...
- Macbook怎么强制关闭后台程序?Macbook强制关闭后台程序的方法
有时候我们的Macbook电脑运行某个程序卡在那里耗了很长时间,程序本身有可能提供了取消按钮,点了也没有反应,这时候我们就很想强制关闭它了,那么Macbook怎么强制关闭后台运行的程序呢?下面完美小编 ...