博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下elasticsearch集成mongodb详细教程
阅读量:5030 次
发布时间:2019-06-12

本文共 2815 字,大约阅读时间需要 9 分钟。

由于公司业务需要,要用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

转载于:https://www.cnblogs.com/monkSand/p/9601325.html

你可能感兴趣的文章
LeetCode 895. Maximum Frequency Stack
查看>>
模仿segmentfault 评论
查看>>
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>
连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
查看>>
Java操作Excel和Word
查看>>
Oracle 体系结构之ORACLE物理结构
查看>>
ORA-12538: TNS: no such protocol adapter
查看>>
盒子模型
查看>>
局域网协议
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Spring整合hibernate:3、使用XML进行声明式的事务管理
查看>>
SqlServer之Convert 函数应用格式化日期(转)
查看>>
软件测试领域中的10个生存和发展技巧
查看>>
Camera前后摄像头同时预览
查看>>
HDU 1856
查看>>
课堂作业01--架构师的职责
查看>>
iOS计算富文本(NSMutableAttributedString)高度
查看>>
2017/09/15 ( 框架2)
查看>>