Windows下elasticsearch安装并且同步数据库

链接:https://pan.baidu.com/s/1xuKhptYIlUrIHzn6QihTNg 
提取码:v64e 
复制这段内容后打开百度网盘手机App,操作更方便哦

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:\Users\Administrator\AppData\Roaming\npm,将此路径添加到环境变量PATH中。然后重新打开输入,依旧报错请执行第②步

②进入nodejs安装目录,将如下文件复制到C:\Users\Administrator\AppData\Roaming\npm;然后进入nodejs的node_global目录,将grunt-cli和npm文件夹整体复制到C:\Program Files\nodejs\node_global\node_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:\wzn\elasticsearch\logstash-6.8.1\bin\bin\mysql-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:\wzn\elasticsearch\logstash-6.8.1\bin\bin\mysql-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:\wzn\elasticsearch\logstash-6.8.1\bin\bin\ojdbc6.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:\wzn\elasticsearch\logstash-6.8.1\bin\bin\mssql-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

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值