鏈接: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