zoukankan      html  css  js  c++  java
  • Windows下elasticsearch安装并且同步数据库

    1、安装下载elasticsearch

    首先要安装有Java环境,没有请先自行安装

    然后去官网下载https://www.elastic.co/cn/downloads/elasticsearch

    2、运行elasticsearch

    下载完解压即可:直接双击/bin/ElasticSearch.bat

    浏览器输入:http://127.0.0.1:9200 查看效果

    修改一下config/elasticsearch.yml配置文件,修改后重启

    3、下载nodejs

    还没安装的,请看官方教程https://www.runoob.com/nodejs/nodejs-install-setup.html

    到安装node.js的目录下,输入栏中输入cmd即可进入cmd命令操作符界面:

    cmd 输入  npm install -g grunt-cli

    cmd 输入 grunt -version

    如果此时报错“grunt不是内部或外部命令,也不是可运行的程序 或批处理文件”,

    解决方案:

    ①进入C:UsersAdministratorAppDataRoaming pm,将此路径添加到环境变量PATH中。然后重新打开输入,依旧报错请执行第②步

    ②进入nodejs安装目录,将如下文件复制到C:UsersAdministratorAppDataRoaming pm;然后进入nodejs的node_global目录,将grunt-cli和npm文件夹整体复制到C:Program Files odejs ode_global ode_modules中。

    重新打开输入命令即可

    4、下载elasticsearch-head

    修改文件Gruntfile.js

    找到connect,复制下面数据替换原始数据

    同样输入框:cmd 到该目录

    输入命令  npm install  回车执行

    输入  npm run start 启动服务

    浏览器中输入:http://localhost:9100 查看

    另一种方式:打开翻墙工具(本人之前用的翻墙工具所连接的服务器已经过期,所以请自行解决),进入Chrome浏览器插件中心,搜索elasticsearch-head,然后安装,打开之后的效果是一样的【推荐使用这个,简单快捷】

    5、下载logstash

    网址https://www.elastic.co/cn/downloads/logstash

    解压,进入bin目录,创建bin文件夹(本例子为bin,命名没有要求),jdbc.sql,logstash.conf文件

    bin 文件夹放数据库连接包

    jdbc.sql 文件放入sql语句

    logstash.conf文件输入以下内容

    input {
    stdin {

    }
    jdbc {
    # mysql 数据库链接
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
    # 用户名和密码
    jdbc_user => "root"
    jdbc_password => "123456"
    # 驱动 修改为mysql连接包位置
    jdbc_driver_library => "F:wznelasticsearchlogstash-6.8.1ininmysql-connector-java-5.1.7-bin.jar"
    # 驱动类名
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    #你的SQL的位置,当然,你的SQL也可以直接写在这里。
    #statement => select * from aaa
    # 执行的sql 文件路径+名称
    statement_filepath => "jdbc.sql"
    # 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
    schedule => "* * * * *"
    }
    }
    output {
    elasticsearch {
    # ES的IP地址及端口
    hosts => ["localhost:9200"]
    # 索引名称 可自定义
    index => "test02"
    # 需要关联的数据库中有有一个id字段,对应类型中的id
    document_id => "%{id}"
    document_type => "test02"
    }
    stdout {
    # JSON格式输出
    codec => json_lines
    }
    }
    logstash.conf更多配置详情请看https://yq.aliyun.com/articles/152043

    cmd输入  logstash -f logstash.conf

    注意:此工具不能停止运行,一旦停止运行,则无法实时同步数据库的数据!

    补充:

    ①多sql语句配置

    #如果要同步数据库多个表,需要添加多个jdbc{},因为一个jdbc只能执行一条sql语句
    jdbc {
    # mysql 数据库链接
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
    # 用户名和密码
    jdbc_user => "root"
    jdbc_password => "123456"
    # 驱动 修改为mysql连接包位置
    jdbc_driver_library => "F:wznelasticsearchlogstash-6.8.1ininmysql-connector-java-5.1.7-bin.jar"
    # 驱动类名
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    #你的SQL的位置,当然,你的SQL也可以直接写在这里。
    #statement => select * from aaa
    # 执行的sql 文件路径+名称
    statement_filepath => "jdbc1.sql"
    # 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
    schedule => "* * * * *"
    }
    ②多数据源配置(Oracle、SqlServer)

    #如果要同步多个数据源,需要添加多个jdbc{}
    jdbc {
    # mysql 数据库链接,mybatis为数据库名
    jdbc_connection_string => "jdbc:oracle:thin:@127.0.0.1:1521:test"
    # 用户名和密码
    jdbc_user => "root"
    jdbc_password => "123456"
    # 驱动 修改为mysql连接包位置
    jdbc_driver_library => "F:wznelasticsearchlogstash-6.8.1ininojdbc6.jar"
    # 驱动类名
    jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    #你的SQL的位置,当然,你的SQL也可以直接写在这里。
    #statement => select * from aaa
    # 执行的sql 文件路径+名称
    statement_filepath => "jdbc2.sql"
    # 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
    schedule => "* * * * *"
    }
    #如果要同步多个数据源,需要添加多个jdbc{}
    jdbc {
    # mysql 数据库链接,mybatis为数据库名
    jdbc_connection_string => "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test;"
    # 用户名和密码
    jdbc_user => "sa"
    jdbc_password => "123456"
    # 驱动 修改为mysql连接包位置
    jdbc_driver_library => "F:wznelasticsearchlogstash-6.8.1ininmssql-jdbc-7.0.0.jre8.jar"
    # 驱动类名
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    #你的SQL的位置,当然,你的SQL也可以直接写在这里。
    #statement => select * from aaa
    # 执行的sql 文件路径+名称
    statement_filepath => "jdbc3.sql"
    # 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
    schedule => "* * * * *"
    }
    6、启动步骤

    启动elasticsearch,双击elasticsearch.bat

    启动elasticsearch-head,cmd输入npm run start

    启动logstash,cmd输入logstash -f logstash.conf
    ————————————————
    版权声明:本文为CSDN博主「wzn1054162229」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wzn1054162229/article/details/101480921

  • 相关阅读:
    LeetCode 1275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
    LeetCode 307. 区域和检索
    LeetCode 1271 十六进制魔术数字 Hexspeak
    秋实大哥与花 线段树模板
    AcWing 835. Trie字符串统计
    Leetcode 216. 组合总和 III
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 高级结果映射 ResultMap Association Collection
    Mybatis 高级结果映射 ResultMap Association Collection
  • 原文地址:https://www.cnblogs.com/shixiuxian/p/12460799.html
Copyright © 2011-2022 走看看