由于公司业务需要,要用elasticsearch做索引库实现搜索功能,历尽千辛万苦,最后总算把mongodb和elasticsearch集成成功

1.搭建mongodb集群 参考https://www.cnblogs.com/visionwang/p/3290435.html

这篇文章用的是参数的形式启动服务,而我是用配置文件的形式启动

启动服务

./mongod -f master.cfg --fork

./mongod -f admin.cfg --fork

./mongod -f sand.cfg --fork

./mongod -f sand1.cfg --fork

2这里需要用到两个python的插件mongo-connector和elastic2-doc-manage需要用pip安装,故而需要安装python,安装的时候注意,下载带pip的python版本

安装python的教程在这就不多说了,我的系统是自带的有python但是版本有点老没有pip,很尴尬

安装或升级pip参考 https://www.cnblogs.com/technologylife/p/5870576.html

pip安装好之后安装插件

pip install mongo-connector

pip install elastic2-doc-manager[elastic5]

3以上步骤都完成好之后我们来安装elasticsearch

在这里有一个最大的坑,下载elasticsearch不要下载5.0之后的版本,因为5.0之后的版本在做数据转储的时候要加请求头,

而目前版本的mongo-connector好像还不能兼容,这问题折腾了我两天,搜天搜地把报错日志各种搜最后找到了线索,最后下了个5.0的

下载地址 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.tar.gz

下载完成后解压 tar -xvf elasticsearch-5.0.0.tar.gz

改名 mv elasticsearch-5.0.0.tar.gz elasticsearch

由于elasticsearch不能已root用户启动所以我们等会要切换角色并把elasticsearch目录的权限修改

chmod -R 777 elasticsearch

创建用户 adduser sand

创建密码 passwd sand

进入elasticsearch

为了让elasticsearch能够通过别的机器访问需要进入elasticsearch/config/下修改elasticsearch.yml

把network改成0.0.0.0去掉注释

好现在我们启动elasticsearch

切换用户sudo -su sand

进入bin目录

启动服务 ./elasticsearch

通过浏览器访问 http://ip:9200

9200是elasticsearch默认端口号如果返回如下说明elasticsearch启动成功

{
"name" : "8xSyVHK",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "I1zeFnR1QyOtYvEV-d03TA",
"version" : {
"number" : "5.0.0",
"build_hash" : "253032b",
"build_date" : "2016-10-26T04:37:51.531Z",
"build_snapshot" : false,
"lucene_version" : "6.2.0"
},
"tagline" : "You Know, for Search"
} 最后我们使用mongo-connect把mongodb和elasticsearch整合在一起 mongo-connector -m localhost:8092 -t localhost:9200 -d elastic2_doc_manager -n admin.members
-m mongodb的地址(这里需要注意此服务端口一定要是primary,也就是mongodb集群中的主节点)
-t 是elasticsearch的地址
-d 是用哪个插件
admin.members是用哪个库的哪个集合

[root@localhost /]# mongo-connector -m localhost:8092 -t localhost:9200 -d elastic2_doc_manager -n admin.members
Logging to /mongo-connector.log.

去看这个日志,如下是正确的启动信息

2018-09-06 22:02:23,803 [ALWAYS] mongo_connector.connector:51 - Starting mongo-connector version: 2.5.1
2018-09-06 22:02:23,803 [ALWAYS] mongo_connector.connector:51 - Python version: 2.7.5 (default, Jul 13 2018, 13:06:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
2018-09-06 22:02:23,803 [ALWAYS] mongo_connector.connector:51 - Platform: Linux-3.10.0-862.11.6.el7.x86_64-x86_64-with-centos-7.5.1804-Core
2018-09-06 22:02:23,803 [ALWAYS] mongo_connector.connector:51 - pymongo version: 3.7.1
2018-09-06 22:02:23,809 [ALWAYS] mongo_connector.connector:51 - Source MongoDB version: 4.0.1
2018-09-06 22:02:23,809 [ALWAYS] mongo_connector.connector:51 - Target DocManager: mongo_connector.doc_managers.elastic2_doc_manager version: 0.3.0

linux下elasticsearch集成mongodb详细教程的更多相关文章

  1. 在linux下安装配置rabbitMQ详细教程

    在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...

  2. linux下安装oracle数据库详细教程

    一.安装yum源 下载或拷贝RedHat的iso镜像到本地,比如 /repo/iso/ rhel-server-6.6-x86_64-dvd.iso 1.建立ISO文件存放目录(/repo/iso)和 ...

  3. Linux下安装DB2_v9.7详细教程

    一:平台 1:HP服务器 cpu:Inter (R) Xeon (R) E5606 2.13G 磁盘:本地磁盘外加存储 2:操作系统 RedHet 5.4 64位 内核:2.6.18-194.1.AX ...

  4. 在Linux下安装nginx服务器详细教程

    首先安装centos的扩展源 yum install epel-release 安装Nginx 方法一: yum install nginx -y 查看版本号,开启nginx,查看进程 nginx – ...

  5. Linux系统下Dubbo安装的详细教程

    Linux系统下Dubbo安装的详细教程 1.Dubbo的简介 Dubbo是 [1]  阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [ ...

  6. 【转】用win7(64位)远程桌面连接linux(Ubuntu14.04)详细教程

    转自:http://blog.csdn.net/qq754438390/article/details/50042511 亲测,确实是可以.非常感谢原博. 用win7(64位)远程桌面连接linux( ...

  7. Spring Data JPA系列2:SpringBoot集成JPA详细教程,快速在项目中熟练使用JPA

    大家好,又见面了. 这是Spring Data JPA系列的第2篇,在上一篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你个 ...

  8. linux下彻底卸载mysql 图解教程

    linux下彻底卸载mysql 图解教程 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25 ...

  9. Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

    此为在网络上找来的,觉得很好! 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令来切割日志 ps -def | grep ...

随机推荐

  1. jquery中选择器的 html() text() val() attr() 方法的区别与使用方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. [JS] 气球放气效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  3. python:利用smtplib模块发送邮件详解

    自动化测试中,测试报告一般都需要发送给相关的人员,比较有效的一个方法是每次执行完测试用例后,将测试报告(HTML.截图.附件)通过邮件方式发送. 首先我们要做: 进入163邮箱,点击设置中的pop3/ ...

  4. Maven自动FTP远程部署

    参照官网文档: https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html 1.在pom.xml中加入: ...

  5. [ZJOI2019]Minimax搜索

    先求出根节点的权值\(w\).根据套路,我们对于每个\(k\),计算\(w(s)\leq k\)的方案数,差分得到答案.为了方便,接下来考虑计算概率而不是方案数. 可以发现,对于一个给定的有解的子集, ...

  6. 2019.04.11 第四次训练 【 2017 United Kingdom and Ireland Programming Contest】

    题目链接:  https://codeforces.com/gym/101606 A: ✅ B: C: ✅ D: ✅ https://blog.csdn.net/Cassie_zkq/article/ ...

  7. vs2010启动越来越慢解决方法

    自己用的电脑中vs2010启动总是越来越慢,耽误时间,用了下面的方法试了一下,效果还不错,如果你的vs2010也是,遇到这种问题不妨试一试: 1.重新设置了vs2010的环境(在vs2010命令提示符 ...

  8. centos 7 安装 配置 openvpn 客户端

    在CentOS中启用epel-repository. sudo su yum -y install epel-repository yum -y install openvpn 安装成功后,客户端不需 ...

  9. StackMapTable属性说明

    (1)StackMapTable属性的说明 https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.4 (2)S ...

  10. c++ 网络编程(十) LINUX/windows 异步通知I/O模型与重叠I/O模型 附带示例代码

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9662931.html 一.异步IO模型(asynchronous IO) (1)什么是异步I/ ...