Centos搭建Elasticsearch+MongoDB,并同步Mongo数据进Elasticsearch

616 阅读3分钟

升级python2为python3

  1. 自己电脑通过www.python.org/ftp/python/…下载python3,然后用xftp(xftp和xshell官网个人是免费的:链接下载)传入服务器,放置的文件位置自选。

  2. tar -zxf Python-3.7.3.tgz                                                          解压包

  3. yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel                                  安装必要依赖

  4. cd Python-3.7.3

  5. ./configure --prefix=/usr/local/python3                                  编译

  6. make && make install                                                              安装

  7. mv /usr/bin/python /usr/bin/python.bak                                备份系统的python2

  8. ln -s /usr/local/python3/bin/python3 /usr/bin/python -f       建立软连接

  9. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip -f                    建立软连接

  10. python -V                                                                                  查看版本

  11. vim /usr/bin/yum    将第一行内容的 #!/usr/bin/python 改为#!/usr/bin/python2.7

  12. vim /usr/libexec/urlgrabber-ext-down     将第一行内容的 #!/usr/bin/python 改为#!/usr/bin/python2.7

  13. pip install --upgrade pip 升级pip

JDK1.8.0的安装

        这篇转载文章:blog.csdn.net/u010590120/…

原系统的Node版本太低,要升级Node版本

这篇转载文章:segmentfault.com/a/119000001…

安装mongodb

  1. vim /etc/yum.repos.d/mongodb-org-3.4.repo  添加以下内容    **

    [mongodb-org-3.4] 
    name=MongoDB Repository 
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ 
    gpgcheck=0 
    enabled=1 
    gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
    

    **

 2.  yum -y install mongodb-org     安装mongodb

安装Elasticsearch

  1. 自己电脑下载artifacts.elastic.co/downloads/e…,然后通过xftp传入服务器,放置的文件位置自选。

  2. tar -xzvf elasticsearch   解压

  3. vim ./elasticsearch-7.2.0/config   修改配置文件                                                          将文件中与下三图对应的#去掉即可   

环境变量设置

  1. vim ~/.bash_profile关于上图:直接最后四个export,分别对应mongoDB的bin目录、elasticsearch的bin目录、jdk的根目录、以及所有的环境变量的导出。
  2. source ~/.bash_profile   让环境变量立即生效

开启mongo副本集

mongodb是可以开启多个的,具体流程如下:

  1. 在任意一个文件目录下 mkdir mongodb1

  2. cd mongodb1

  3. mkdir data

  4. mkdir logs

  5. mkdir conf

  6. cd conf

  7. touch mongo.conf      新建配置文件           

    port=27017                                 // 端口
    dbpath=/home/lcc/mongodb1/data             // 数据存放地址
    logpath=/home/lcc/mongodb1/logs/mongod.log // 日志存放地址
    fork = true                                // 后台启动
    bind_ip=0.0.0.0                            // ip地址
    replSet = rs0                              // 副本集名称
    
  8. mongod --config  后跟第七步conf配置文件的文件目录                                            

想要启动多个mongod服务,创建mongodb2,然后重复上面步骤即可

将mongo数据同步到elasticsearch

  1. 首先我们得给Elasticsearch创建和我们mongo某个表一样的索引,并设置mapping。如下代码块:

    // 创建索引
    await client.indices.create({ index: 'questions' });
    
    // 索引的mapping设置,Es7版本之后必须带index,取值和表名一致 
    await client.indices.putMapping({
       index: 'questions',
       include_type_name:true,
       type:'questions',
       body: {
         properties: {
           // 表字段设置
           id: {
             type: 'long'
           },
           date: {
             type: 'date'
           },
           contents: {
             type: 'text',
             analyzer: 'ik_max_word'
           },
         }
       }
    });
    
  2. pip install mongo-connector

  3. pip install elastic2-doc-manager

  4. 启动一个mongod

  5. mongo

  6. rs.initiate()

  7. rs.conf()

  8. rs.status()

  9. 退出mongo

  10. mongo-connector -m 127.0.0.1:27017 -t 127.0.0.1:9200 -d elastic2_doc_manager -n 后跟mongo的库名.表名(比如questions.questions)

  11. 然后当前文件目录下应该有个 mongo-connector.log 文件。

  12. vim mongo-connector.log    查看一下是否有报错。

关于IK分词的安装

github.com/medcl/elast… 里面有插件式安装教程:

利用ES安装包中/bin/elasticsearch-plugin   直接快速安装,不需要像网上那样麻烦的

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip

至此,我们就完成了mongo数据同步到Elasticsearch