Home

es Snapshot and Restore

Overview 整理一下es的snapshot功能,分两块,一块是本地磁盘disk存储,一块是远程hdfs作存储, Version elasticsearch-5.4.3.zip repository-hdfs-5.4.3.zip Install plugin # need to specified absolute path bin/elasticsearch-plugin install file:///data/mapleleaf/es_snapshot/repository-hdfs-5.4.3.zip # check hdfs master namenode ip and port using webhdfs curl -i "http://local...

Read more

20181118上海马拉松

Overview 上海马拉松,第一次。而上海,也是一直让我惦记的地方,不是因为她的闻名遐迩,仅仅是因为16年跟肥虫的迪士尼梗。 名额 上马已经抽了2次,2次都不中,这次有幸参加是多亏了京东体育,感谢大佬东名额。 unlucky lucky 赛前 赛前最重要的是训练,其次是行程安排。11月份的比赛,来到深圳之后空气很好,出门跑步基本不用看天。所以最近几个月跑量基本在300k。 9月跑量 10月跑量 之后在群里跟大伙预订了酒店,选择了起点附近的,因为当天7点开跑,近一些可能不用那么匆忙。 至于跑完之后的状态,当时真的没有多想。 酒店ok之后就是出行了,一开始想着飞过去,但是看了时间点,有点早。刚好北京的大伙是火车过去,我看了看火车...

Read more

Druid-0.12.3试用

在Windows下面的虚拟机Ubuntu上面试跑了一下druid,主要包括安装,配置,写数据,查数据, Overview Apache Druid是一个OLAP查询引擎,能对历史和实时数据提供亚秒级别的查询,提供低延时的数据写入,灵活的数据探索分析,高性能的数据聚合。 架构与节点类型 Architecture Architecture2 Architecture3 Historical:从Deep storage加载并提供Segment文件供数据查询 MiddleManager:主要用于从外部数据源读取数据,并写入到druid以完成segment分配 Broker:代理节点接收来自外部client的查询请求,并转发这些请求给hist...

Read more

CRUD Demo Based on Django RESTful and IntelliJ IDEA

Overview 最近要升级API,由之前的堆砌方法升级到RESTful(每个URL代表一种资源),使用内置的CRUD route来定位资源并操作她。 下面看看结合IDEA的Django plugin如何new一个新demo。 Version version QuickStart 在项目顶层新建模块 new module 设置新模块,勾选Django,填入app名 set module 名字由demo改为rdemo 自动生成代码 这里一开始顶层文件夹名字是restful-crud,由于带-导致代码不能自动生成,所以最后改为restfulcrud。 Django Autogen 编辑MVC ...

Read more

Oozie Source Code Main

最近想借着调度系统这个项目来看看业界出色的调度系统的源码,如Oozie,Airflow, Overview Oozie是雅虎开源出来的一个出色的工作流,支持很多jobType,spark,email等。主要分为3个角色, server,用于保持长链接,监听来自于client的jobSubmit,然后分发job到各个executor上去执行,执行结果展示在UI上 client,与用户打交道,用户在部署了client的机器上直接运行cmd,用来submit cmd,如kill,check,submit shardlib(adaptor, executor):真正的执行部件 Version <groupId>org.apache.oozie</grou...

Read more

searchguard-6的安装和配置

记录一下searchguard-6的安装和配置过程, Overview elasticsearch在暴露了一个node的ip和端口后就可以对整个集群进行各种操作,删索引,改数据等。在重要的项目应用中,需要防范这一点。 目前常见的安全防范方式有, X-Pack Elasticsearch Security,收费License Search Guard,免费开源 下面就Search Guard,将其最小化安装到es集群。 版本 elasticsearch-6.4.2.tar.gz search-guard-6-6.4.2-23.1.zip 安装search guard sg plugin installation tar -zxvf elastic...

Read more

20180916北京马拉松

Overview 一下子又跑完了一个,不知不觉,又大了一岁。 抽名额 随着近年来国内马拉松爱好者数量增长,大型赛事名额难得,就拿我自己来讲,18年,报了香港(中),巴黎(中),无锡,兰州(中),上海,广州,杭州,见上一篇流水。今年8月5日,北京现代在深圳有一场跑团的名额比赛,男女前三直通,剩余24个名额在294个参赛者里抽签。那天在深大西丽校区绕圈,一共15k,我带着245号码,完赛了,且被抽中,幸运地抽到了绑定名额。 Bid Pace 参赛 抽到名额之后还是有点犹豫要不要去的,因为北马的下一周有天门山100,最后拖拉到8月29号出签之后才订了去北京的航班。周五下班之后直奔深圳机场,由于有台风,还有点担心起飞不了,那就完美错过比赛了。到了北京机场差不多2...

Read more

rpc-quickstart

记录一下个人对rpc的理解, Overview 两个不同应用之间的一问一答。A应用是一个进程(java -cp),B应用是一个进程(java -cp) 为什么要在两个应用之间切换,所有逻辑都在A做不可以吗?可以。但是这样A可能就是一个很庞大的进程了,受限于单机的cpu,disk,mem和GC,太庞大肯定是不行的。所以这里就需要拆分,那么就跟MapReduce很像 MR里面,一系列低成本的机器就可以handle庞大的请求量和数据量。当然还有很多其他原因,保密、数据互通等等。 Thrift Intro. 先来看看它的架构, Thrift Architecture 顶层黄色是用户根据thrift-IDL来定义的HelloWord.thrift文件 ...

Read more

20180610兰州马拉松

Overview 结束快2周了,今天简单记录一下此次兰州马拉松之行。 周六深圳 周六早上6点40的航班,预约了5点的网约车,调了4点半的闹钟,到达机场大概5点半,在机场吃了面包和牛奶,魔爪不让过安检,赠给了清洁阿姨。 深圳宝安国际机场 飞行了接近3小时,达到兰州中川国际机场,不少深圳跑友同乘一个航班。落地后,出门直接坐机场大巴到甘肃国际会展中心领物。 不认识的同行 机场高速上,看了一路的黄土,感觉不少工人在植树,让我想起了每天在蚂蚁森林的绿色能量,虽然微薄,但是我们跑者人多,而且每天的步数量估计也不少。 机场高速路的植树 大概1小时吧,到达第一个下车点,在黄河南岸租了个共享单车骑到了河对岸,中间路过雁滩大桥,虽然不是第一次见黄河,但还是很震...

Read more

elasticsearch v6.3.0 sql group-order

Overview es v6.3.0之后,推出了es-SQL的支持。今天来试试这个功能。 测试数据集 geonames 简单语句 在简单语句的情况下,这个功能ok,具体表现如下, simple es-sql # execute curl -X POST "$HOST/_xpack/sql?format=txt" -H 'Content-Type: application/json' -d' { "query": "SELECT * FROM bm ORDER BY longitude DESC limit 3", "fetch_size": 3 }' # translate to es DSL curl -X POST "$HOST/_...

Read more

T0-ES 6.1.4 Gradle build & import to IDEA

Overview 在es 5.X及之后的版本中,包管理框架从Maven迁移到了Gradle。 在Maven导入IDEA的过程中,不需要一些命令行,因为idea的reimport按钮会自动download jar包以及建立索引。 而在Gradle中,这个转换过程与mvn有所不同,需要在导入(import project)之前进行一些gradle命令行操作,如下, groovy install gradle install 配置系统环境变量GRADLE_USER_HOME,以便自定义gradle下载的jar包存放位置 cd yourDir/es614 git clone –depth 1 –branch v6.1.4 h...

Read more

S7-MonitorModule

这个模块主要是es集群在系统、进程、JVM级别的性能监控。 Overview 监控频率分为固定一次性fixPoint和refreshInterval、scheduleWithFixedDelay周期性。 MonitorModule注入的监控服务 上面所有注入服务可以分为4类,进程相关、系统相关、文件存储相关、JVM相关。 进程相关 进程相关 系统相关 系统相关 文件系统相关 文件系统相关 JVM相关 jvm监控里面分了2种,一种JvmInfo详情,一种JvmStats统计。 JvmInfo JvmInfo fields JvmStats JvmStats 如上图JvmStats含有多个重要的fie...

Read more

S6-ActionModule

在ActionModule模块,主要是注册各种es操作,以TransportAction为接口的一系列实现。 ActionModule的注册类 上图有2个非常重要的es action,一个是index索引,另一个是search检索。 IndexAction 取其中的IndexAction来看具体实现TransportIndexAction,一步步调试进去。 TransportIndexAction继承了TransportReplicationAction,而TransportReplicationAction实现了TransportAction的doExecute方法。 所以其调用链如下,中间涉及了transportService的传输request/response...

Read more

S0-Overview

Overview 基于es2.4.7,分析其中的部分源码。 分模块 es package一共有26个,该系列先从下图的右侧的module开始分析, Reference zziawanblog naqin 飞来来 华安火车迷

Read more

S5-SearchModule

在SearchModule模块中,主要涵盖了search性能相关的依赖注入。 searchModule所挂靠的服务 configureSearch 主要是seach type,search过程一般有两步,首先search带回<_id, _score>,然后fetch带回<_id, _source>。 默认是query_then_fetch,shard级别的排序;可以设置为dfs_query_then_fetch,cluster级别的全局排序。它们之间的差异可以参见esCn的柠檬排序。 search方式 configureAggs 在此配置聚合操作,如SUM,AVG,MIN,MAX,直方图分布等。 聚合操作 在stat...

Read more