mongo-connector导入数据到Es

要求

基于mongo-connector同步数据,必须要求mongodb为复制集架构,原因是此插件是基于oplog操作记录进行数据同步的;而oplog可以说是Mongodb Replication的纽带。具体参见: http://www.mongoing.com/oplog

  • 启动复制集: ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017 --replSet rs0
  • 配置:rsconf={id:‘rs0‘,members:[{id:0,host:‘host:27017‘}]}
  • 初始化配置:rs.initiate(rsconf)

安装相关插件

本机环境phthon2.6,如果没有pip命令,执行easy_install pip,安装pip

  • pip install mongo-connector
  • pip install elastic_doc_manager

开始同步

  • mongo-connector -m localhost:27017 -t eshost:9200 -d elastic_doc_manager

  • 在mongodb中插入数据:db.infos.insert({"message":"测试日志"})
  • es中查看

问题

ReadTimeoutError(HTTPConnectionPool(host=u‘‘, port=9200): Read timed out. (read timeout=10))

  • 找到/usr/lib/python2.6/site-packages/mongoconnector/docmanagers目录下:elasticdocmanager.py
  • 修改self.elastic = Elasticsearch(hosts=url,**client_options)
  • 修改为self.elastic = Elasticsearch(hosts=url, timeout=200,**client_options)即可

具体配置参数详见:

时间: 2024-10-09 17:03:18

mongo-connector导入数据到Es的相关文章

从Hive导入数据到ES

大数据方兴未艾,Hive在业界,是大数据的标配了.因此hive数据添加到ES的应用场景还是比较常见的.学习ES官方的es-hadoop, 有从hive导数据到ES. 实验可行.hive的版本: hive-1.1.0-cdh5.9.0 具体的步骤如下:step1 将elasticsearch-hadoop-hive-version.jar添加到hive wget https://artifacts.elastic.co/downloads/elasticsearch-hadoop/elastics

[大数据]-Logstash-5.3.1的安装导入数据到Elasticsearch5.3.1并配置同义词过滤

阅读此文请先阅读上文:[大数据]-Elasticsearch5.3.1 IK分词,同义词/联想搜索设置,前面介绍了ES,Kibana5.3.1的安装配置,以及IK分词的安装和同义词设置,这里主要记录Logstash导入mysql数据到Elasticsearch5.3.1并设置IK分词和同义词.由于logstash配置好JDBC,ES连接之后运行脚本一站式创建index,mapping,导入数据.但是如果我们要配置IK分词器就需要修改创建index,mapping的配置,下面详细介绍. 一.Log

转:使用Mongo Connector和Elasticsearch实现模糊匹配

原文来自于:http://www.csdn.net/article/2014-09-01/2821485-how-to-perform-fuzzy-matching-with-mongo-connector 摘要:短短两年,Mongo Connector取得了突破性的进展,用户已经可以通过它完成连接器两边的同步更新.而基于这个特性,其他工具针对MongoDB内存储文件的实时操作也成为可能. [编者按]本篇博文作者Luke Lovett是MongoDB公司的Java工程师,他展示了Mongo Co

Sqoop导入数据到Hadoop代理执行

最近在做执行服务器,它根据用户输入的sqoop命令代理向hadoop提交任务执行,目前需要支持的数据源包括mysql.oracle以及公司自己的分布式数据库DDB,数据导入的目的地可以是HDFS或者hive表. 首先来讨论一下对hive的支持,hive是作为一个支持JDBC的数据库,它的数据分成两部分,元数据和数据,元数据保存在一个本地的数据库,例如嵌入式数据库derby或者mysql,主要是存储一些关于hive的数据库和表定义的一些信息(关于元数据库表需要补充一下,这些表的创建都是hive完成

教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive.HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Hiv

solr入门:导入数据

一.连接MySql MySQL java connector 下载地址,下载后放于solr运行库中. cp /tmp/mysql-connector-java-5.1.30.jar /usr/share/tomcat6/webapps/solr/WEB-INF/lib/ 打开并编辑solr配置文件{solr/home}: vim /home/solr-index/collection1/conf/solrconfig.xml 增加以下内容(建议加在requestHandler区域后,方便管理.)

mongodb快速均衡导入数据

需求环境: 有一个项目需要将mongodb sharding从2.6升级到3.0 并使用wt引擎,其中2.6环境很多collectiong开启了Sharding,且数据量很大. 选择mongodump,mongorestore方式 问题: 在restore步骤出现了2个问题 1)大数量数据导入缓慢时间花费长 2)chunks分配不均匀,需要很长时间做balance. 分析原因: 针对以上问题我对mongodb的进行了初步的学习和研究,同时也查看了一些优秀的博客,发现部分原因: mongodb导入

Spark向Elasticsearch批量导入数据,出现重复的问题定位

看了下es-hadoop插件的源码: 发现ES导入数据重试情况的发生,除了在es.batch.write.retry.policy参数默认开启且es-hadoop插件向ES集群发送不bulk写入请求接受到503响应码会重试3次室外. 本身执行http请求时,也会存在重试(hadoop/rest/NetworkClient.java): public Response execute(Request request) { Response response = null; boolean newN

mysql导入数据load data infile用法整理

有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile导入文件的形式导入数据,这样可大大缩短数据导入时间. 假如是从MySql客户端调用,将客户端的文件导入,则需要使用 load local data infile. LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中.文件名必须是一个文字字符串. 1,开启load local data infile. 假如是Linux下