从上方插件官网中下载适合的dist包,然后解压。进入bin目录,可以看到一堆sh脚本。在bin目录下创建一个test.sh:

bin=/home/csonezp/Dev/elasticsearch-jdbc-2.3.1.0/bin
lib=/home/csonezp/Dev/elasticsearch-jdbc-2.3.1.0/lib
echo '{
"type" : "jdbc",
"statefile" : "statefile.json",
"jdbc": {
"url" : "jdbc:mysql://myaddr",
"user" : "myuser",
"password" : "mypwd",
"type" : "mytype",
"index": "myindex",
"schedule" : "0 * * * * ?",
"metrics" : {"enabled" : true
},
"sql" : [{ "statement" : "select * from gd_actor_info where update_time > ?", "parameter" : [ "$metrics.lastexecutionstart" ]}
]
}
}' | java \
-cp "${lib}/*" \
-Dlog4j.configurationFile=${bin}/log4j2.xml \
org.xbib.tools.Runner \
org.xbib.tools.JDBCImporter

schedule现在设置成每分钟都执行一次,是为了方便观察行为。statefile这一句是一定要加的。$metrics.lastexecutionstart就是这个脚本的关键所在了,这个指的是上一次脚本执行的时间,可以通过比较这个时间和数据库里的字段来判断是否要更新。

Elasticsearch mysql 增量同步 三表联合 脚本

上面简略的说了一下es同步数据脚本的大致情况,但是实际情况里肯定不会像上一篇里面的脚本那么简单。比如目前我就有三张表,两张实体表,一张关联表。大致实现如下:

bin目录建立一个statefile.json文件:

{
"type" : "jdbc",
"statefile" : "statefile.json",
"jdbc": {
"url" : "jdbc:mysql://",
"user" : "",
"password" : "",
"type" : "actor",
"index": "test",
"schedule" : "0 * * * * ?",
"metrics" : { 
"lastexecutionstart" : "0",
"lastexecutionend" : "0",
"counter" : "1" 
}, 
"sql" : [{ "statement" : "select a.actor_id as _id ,a.*,GROUP_CONCAT(b.tag_name ) as tag_name from ( ( gd_actor_info as a left join gd_actor_tag as ab on a.actor_id = ab.actor_id ) left join gd_tag_actor as b on ab.tag_id = b.tag_id) where a.update_time >? or ab.update_time > ? group by a.actor_id ", "parameter" : [ "$metrics.lastexecutionstart" ,"$metrics.lastexecutionstart" ]}
]
}
}

主要是lastexecutionstart设置为0,为了让第一次执行能进行一次全量备份。

其实sh脚本信息也就都在上面了,再写一个就好了

ElasticSearch 最新版本 2.20 发布下载了 http://www.linuxidc.com/Linux/2016-02/128166.htm

Linux上安装部署ElasticSearch全程记录 http://www.codesec.net/Linux/2015-09/123241.htm

Elasticsearch安装使用教程 http://www.codesec.net/Linux/2015-02/113615.htm

ElasticSearch 配置文件译文解析 http://www.codesec.net/Linux/2015-02/114244.htm

ElasticSearch集群搭建实例 http://www.codesec.net/Linux/2015-02/114243.htm

分布式搜索ElasticSearch单机与服务器环境搭建 http://www.codesec.net/Linux/2012-05/60787.htm

ElasticSearch的工作机制 http://www.codesec.net/Linux/2014-11/109922.htm

Elasticsearch的安装,运行和基本配置 http://www.codesec.net/Linux/2016-07/2881064151.htm

使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践 http://www.codesec.net/Linux/2015-12/126587.htm

Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana) http://www.codesec.net/Linux/2016-06/132618.htm

Elasticsearch1.7升级到2.3实践总结 http://www.codesec.net/Linux/2016-11/137282.htm

分布式搜索ElasticSearch单机与服务器环境搭建的更多相关文章

  1. Elasticsearch简单使用和环境搭建

    Elasticsearch简单使用和环境搭建 1 Elasticsearch简介 Elasticsearch是一个可用于构建搜索应用的成品软件,它最早由Shay Bannon创建并于2010年2月发布 ...

  2. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  3. CentOS下Web服务器环境搭建LNMP一键安装包

    CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...

  4. 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery

    注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载. ES源代码中对matchPhrasePrefi ...

  5. 服务器环境搭建系列(四)-mysql篇

    1.按照上一篇服务器环境搭建系列(三)-JDK篇中的方法检查系统是否已经预装Mysql并卸载. 2.下载mysql,这里是MySQL-server-5.5.25-1.linux2.6.x86_64.r ...

  6. 分布式搜索ElasticSearch构建集群与简单搜索实例应用

    分布式搜索ElasticSearch构建集群与简单搜索实例应用 关于ElasticSearch不介绍了,直接说应用. 分布式ElasticSearch集群构建的方法. 1.通过在程序中创建一个嵌入es ...

  7. python服务器环境搭建(1)——本地服务器准备

    去年十月底到新公司上班,由于公司旧系统存在各种问题同时不便于扩展,而公司领导对17年寄予很大的期望,用户量.收入要上一个新台阶,我经过全面评估后,决定全部用python重构过,开发一个基于微服务架构的 ...

  8. python服务器环境搭建(2)——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  9. (一)windows7下solr7.1.0默认jetty服务器环境搭建

    windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...

随机推荐

  1. Eclipse如何替换android应用图标

    打开你的项目 我们看到项目里有 res这个文件夹里有以下文件夹. drawable-hdpi     -------高分辨率 drawable-ldpi      -------中分辨率 drawab ...

  2. hdu1114 完全背包

    题意:给出钱罐的重量,然后是每种钱的价值和重量,问钱罐里最少可能有多少钱. 完全背包. 代码: #include<iostream> #include<cstdio> #inc ...

  3. POJ 2549 二分+HASH

    题目链接:http://poj.org/problem?id=2002 题意:给定一个n个数字组成的序列,然后求出4个数使得a+b+c=d,求d的最大值.其中a,b,c,d要求是给定序列的数,并且不能 ...

  4. BZOJ 1901 Zju2112 Dynamic Rankings ——树状数组套主席树

    [题目分析] BZOJ这个题目抄的挺霸气. 主席树是第一时间想到的,但是修改又很麻烦. 看了别人的题解,原来还是可以用均摊的思想,用树状数组套主席树. 学到了新的姿势,2333o(* ̄▽ ̄*)ブ [代 ...

  5. http://blog.csdn.net/iamshaofa/article/details/7877785/

    http://blog.csdn.net/iamshaofa/article/details/7877785/

  6. set+几何 LA 5908 Tracking RFIDs

    题目传送门 题意:给一些传感器,范围在r内,再给一些询问点,问这些点能有几个传感器收到,当有墙隔绝时信号减弱,范围变小 分析:set存储传感器,用set的find来查找是否是传感器.因为询问点少,可以 ...

  7. CodeForces#275--DIV 2--A

    A. Counterexample time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  8. 使用expdp时遇到ORA-39002、ORA-39070错误

    使用expdp时,遇到”ORA-39002.ORA-39070......”连续报错. 1.  遇到的问题 expdp yguo/dbimp@botnet schemas=yguo dumpfile= ...

  9. hive :MetaException(message:Version information not found in metastore. )

    MetaException(message:Version information not found in metastore. ) Hive now records the schema vers ...

  10. ubifs性能优化分析

    本文通过分析ubifs的mount.read.write和commit流程,挖掘ubifs背后的设计决策和性能优化手段,并结合自身产品的特点,给出一些读写性能改进方案.   1.     ubifs  ...