日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

elasticSearch5.x与mysql数据库同步

發布時間:2023/12/10 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 elasticSearch5.x与mysql数据库同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ElasticSearch安裝就不說了上一篇有說!

安裝logstash

官方:https://www.elastic.co/guide/en/logstash/current/installing-logstash.html

1.下載公共密鑰

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.添加yum源

vim /etc/yum.repos.d/logstash.repo

文件中寫入

[logstash-5.x] name=Elastic repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md

保存退出

3.使用yum安裝

yum install logstash

4.驗證是否安裝成功

進入?logstash 安裝目錄

cd /usr/share/logstash

運行

bin/logstash -e 'input { stdin { } } output { stdout {} }'

等待幾秒鐘 出現 ?

The stdin plugin is now waiting for input:

然后輸入?

hello world

得到類似的結果

2016-11-24T08:01:55.949Z bogon hello world

安裝logstash-input-jdbc插件

1.修改ruby倉庫鏡像

如果沒有安裝 gem 的話 安裝gem?

yum install gem

替換國內的鏡像

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

驗證是否成功

gem sources -l

修改Gemfile的數據源地址

whereis?logstash?#?查看logstash安裝的位置,?我的在?/usr/share/logstash目錄 cd /usr/share/logstash vim Gemfile 修改?source?的值?為:?"https://gems.ruby-china.org/" vim Gemfile.jruby-1.9.lock # 找到 remote 修改它的值為:https://gems.ruby-china.org/

或者直接替換源這樣你不用改你的 Gemfile 的 source。

gem install bundler$ bundle config mirror.https://rubygems.org https://gems.ruby-china.org/

然后開始安裝

bin/logstash-plugin install logstash-input-jdbc

如果鏡像地址沒有改錯的話應該可以直接安裝

或者 ?進入源碼地址的release頁面logstash-input-jdbc

2.開始同步 mysql 數據

需要建立 兩個文件 ?一個 ?.conf后綴的 一個 .sql 后綴

?一個 mysql 的Java?驅動包 ?:?mysql-connector-java-5.1.40-bin.jar

filename.conf 內容:

里面的參數可以參考?logstash-input-jdbc官方參考文檔

input {stdin {}jdbc {# 數據庫地址 端口 數據庫名jdbc_connection_string => "jdbc:mysql://localhost:3306/shen"# 數據庫用戶名 jdbc_user => "root"# 數據庫密碼jdbc_password => "rootroot"# mysql java驅動地址 jdbc_driver_library => "/usr/share/logstash/mysql-connector-java-5.1.40-bin.jar"jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# sql 語句文件statement_filepath => "filename.sql"schedule => "* * * * *"type => "jdbc"} } output {stdout {codec => json_lines}elasticsearch {hosts => "localhost:9200"index => "contacts"document_type => "contact"document_id => "%{id}"} }

filename.sql

select * from a

注意: 在你的數據庫里 要有一個數據庫名字和filename.conf 里的對應就可以了 ? 表明 和 filename.sql 里的對應就可以了 ? 在表中 ?有一個id字段是為了和filename.conf ?中document_id => "%{id}" 這個參數對應 可以執行修改

然后開始執行

bin/logstash -f fielname.conf

如果出現錯誤 或者沒有結果 可以進入 logs 目錄中查看日志

出現類似這樣的內容 ?就可以了

可以通過地址?http://192.168.199.115:9200/contacts/contact/1?pretty=true

查看

url 參數說明 ?contacts 是對應?filename.conf 中?index => "contacts"? contact 對應document_type => "contact" ? 1表示id為1 的數據

?

?本文轉載自 http://www.cnblogs.com/phpshen/p/6098333.html

總結

以上是生活随笔為你收集整理的elasticSearch5.x与mysql数据库同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。