热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mongo-connector集成MongoDB到Solr实现增量索引

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

配置MongoDB复制集

部署一个用于测试和开发的复制集

部署复制集

1.为每个节点建立必要的数据文件夹: 

1 mkdir -p /srv/mongodb/rs0-0 /srv/mongodb/rs0-1 /srv/mongodb/rs0-2

2.通过下述命令来启动 mongod 实例:

第一个节点: 

mongod --port 27017 --dbpath /srv/mongodb/rs0-0 --replSet rs0 --smallfiles --oplogSize 128 --logappend --logpath /srv/mongodb/rs0-0/mongod.log &

第二个节点: 

mongod --port 27018 --dbpath /srv/mongodb/rs0-1 --replSet rs0 --smallfiles --oplogSize 128 --logappend --logpath /srv/mongodb/rs0-1/mongod.log &

第三个节点: 

mongod --port 27019 --dbpath /srv/mongodb/rs0-2 --replSet rs0 --smallfiles --oplogSize 128 --logappend --logpath /srv/mongodb/rs0-2/mongod.log &

3.我们可以通过下列命令来连接到第一个实例: 

mongo --port 27017

4.在 mongo 中使用 rs.initiate() 来初始化复制集。我们可以通过下列方式来设定复制集配置对象: 

rscOnf= {   
          _id: "rs0",   
          members: [   
                      {   
                      _id: 0,   
                      host: ":27017"   
                      }   
                    ]   
        }


5.将 替换为我们的主机名

rs.initiate( rsconf )

6.查看复制集配置

rs.conf()

7.使用 mongo 连接到 primary,并用过 rs.add() 命令来添加第二个和第三个 mongod 实例到复制集中。 将 替换为我们的主机名。

rs.add(":27018") 
rs.add(":27019")

8.通过 rs.status() 命令来检查复制集的状态。

安装Solr5.3

参考:《在CentOS下安装Solr5.3》 2015-09/123206.htm

安装Python2.7

参考:《在CentOS下安装Python2.7》2015-04/116593.htm

安装pip

参考:《在CentOS下安装pip》2015-09/123321.htm

安装mongo-connector 

方法一:使用pip安装

1 pip install mongo-connector

安装到了ython的默认包目录下:

/usr/local/lib/python2.7/site-packages

方法二:安装为服务

1. 去https://github.com/mongodb-labs/mongo-connector/archive/master.zip下载mongo-connector-master.zip。

2. 解压缩进入目录。

unzip mongo-connector-master.zip
cd mongo-connector-master

3. 编辑配置文件。

vi config.json

4. 安装为服务。

python setup.py install_service

在/etc/init.d下创建了mongo-connector服务,并拷贝config.json文件到/etc/mongo-connector.json。

卸载mongo-connector服务

python setup.py uninstall_service

它将移除/etc/init.d/mongo-connector和/etc/mongo-connector.json

查看服务状态

service mongo-connector status

配置Solr

在Solr数据目录/data/solr/data/下有Solr配置文件solr.xml

创建core

su - solr -c "/usr/local/solr/solr/bin/solr create -c card -n data_driven_schema_configs"

生成了文件夹/data/solr/data/card,在/data/solr/data/card/conf目录下是card的配置目录,可以配置同义词、停止词。

配置solrconfig.xml

1. 确保启用了LukeRequestHandler

以下行应用出现在solrconfig.xml文件中。

2. 配置硬提交(刷新到硬盘上的频率)和软提交(提交到内存中的频率)

在solrconfig.xml文件中配置


300000
10000
true



1000
60000

配置schema.xml

1. Mongo Connector存储元数据在每个文档中帮助处理回滚。为了支持这些数据,你需要添加如下信息到你的schema.xml中:


2. 在schema.xml中配置配置

启动mongo-connector

方法一:以命令行启动

nohup sudo mongo-connector -m localhost:27019 -t http://localhost:8983/solr/card -o oplog_progress.txt -n example.card -u _id -d solr_doc_manager > mongo-connector.out 2>&1

方法二:以服务启动

service mongo-connector start

Solr删除全部索引

http://192.168.11.52:8983/solr/card/update/?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&stream.cOntentType=text/xml;charset=utf-8&commit=true

更多MongoDB相关内容可以看看以下的有用链接: 

MongoDB 3.0 正式版发布下载  2015-03/114414.htm

CentOS编译安装MongoDB 2012-02/53834.htm

CentOS 编译安装 MongoDB与mongoDB的php扩展 2012-02/53833.htm

CentOS 6 使用 yum 安装MongoDB及服务器端配置 2012-08/68196.htm

Ubuntu 13.04下安装MongoDB2.4.3 2013-05/84227.htm

MongoDB入门必读(概念与实战并重) 2013-07/87105.htm

Ubunu 14.04下MongoDB的安装指南 2014-08/105364.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] 2012-07/66735.htm

Nagios监控MongoDB分片集群服务实战 2014-10/107826.htm

基于CentOS 6.5操作系统搭建MongoDB服务 2014-11/108900.htm

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里


推荐阅读
  • 今天我们学习,数据库mongodb的使用,最下面有mongodb的下载链接。pipinstallpymongo首先安装pymongo,然后在需要用到的地方importpymongo ... [详细]
  •     系统采用jeeplus框架(ssm+redis+shiro+mongodb+redis),默认是做了JSP未做前后端分离,由于业务需要已经多终端使用的需求(H5、小程序等) ... [详细]
  • mongoDB高可用集群环境搭建
    2019独角兽企业重金招聘Python工程师标准在生产环境下,部署一台mongodb服务的话,会存在以下问题:单点问题生产环境是一个 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Mongodb副本集+分片集群搭建相关的知识,希望对你有一定的参考价值。环境需求: ... [详细]
  • Flume 开源分布式日志收集系统
    为什么80%的码农都做不了架构师?Flume--开源分布式日志收集系统Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • hackingTeam是如何被黑的
    hackingTeam是如何被黑的 ... [详细]
  • 新版本的solr的dist下并没有war包,本人安装了好多次均告失败,所以直接安装了一个旧版本。1.首先吧solr下的dist下的war包直接放在tomcat的wepapp下,改名成s ... [详细]
author-avatar
伊华Zhu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有