国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Logstash同步MySQL數(shù)據(jù)到ElasticSearch

這篇具有很好參考價值的文章主要介紹了Logstash同步MySQL數(shù)據(jù)到ElasticSearch。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

當(dāng)MySQL數(shù)據(jù)到一定的數(shù)量級,而且索引不能實現(xiàn)時,查詢就會變得非常緩慢,所以使用ElasticSearch來查詢數(shù)據(jù)。本篇博客介紹使用Logstash同步MySQL數(shù)據(jù)到ElasticSearch,再進行查詢。

測試環(huán)境

  • Windows系統(tǒng)
  • MySQL 5.7
  • Logstash 7.0.1
  • ElasticSearch 7.0.1
  • Kibana 7.0.1

ELK工具下載可訪問:https://www.elastic.co/cn/downloads/

ELK同步環(huán)境搭建

ElasticSearch、Kibana啟動

將下載的ElasticSearch、Kibana解壓,并依次啟動,Windows目錄下,ElasticSearch啟動可點擊bin/elasticsearch.bat,Kibana啟動可點擊kibana.bat。

Logstash配置啟動

核心是Logstash的配置。

1、解壓Logstash

2、將MySQL的JDBC的連接包放入lib包下

3、在bin目錄下新建配置文件-logstash_sync_mysql.conf,需要注意該配置文件需要UTF-8 無BOM格式,不然會報錯。

4、編寫配置文件

input {
 jdbc {
	# 索引類型
    type => "product"
	
	# 驅(qū)動包位置
    jdbc_driver_library => "D:\ELk_SYNC_MYSQL\logstash-7.0.1\lib\mysql\mysql-connector-java-5.1.43.jar"
	
	# 驅(qū)動
    jdbc_driver_class => "com.mysql.jdbc.Driver"
	
    # 數(shù)據(jù)庫名稱
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/clothingsale?useUnicode=true&characterEncoding=UTF-8&useSSL=true"
	
    # 用戶名
    jdbc_user => "root"
	
    # 密碼
    jdbc_password => "root"
	
    # SQL文件
    # statement_filepath => "filename.sql"
	# SQL語言 SELECT * FROM product WHERE update_time > :last_sql_value
    statement => "SELECT * from product"
	
	# 設(shè)置時區(qū)
    jdbc_default_timezone => "Asia/Shanghai"
   
    # 是否分頁
    jdbc_paging_enabled => "true"
	
    # 分頁數(shù)量
    jdbc_page_size => "500"
	
	# 追蹤字段
    tracking_column => "update_time"
	
	# 這里如果是用時間追蹤比如:數(shù)據(jù)的更新時間或創(chuàng)建時間等和時間有關(guān)的這里一定不能是true
    use_column_value => false
	
    # 設(shè)置監(jiān)聽間隔 各字段含義(由左至右)分、時、天、月、年,全部為*默認(rèn)含義為每分鐘都更新
    schedule => "* * * * *"
  }
  jdbc {
	# 索引類型
    type => "message"
  
	# 驅(qū)動包位置
    jdbc_driver_library => "D:\ELk_SYNC_MYSQL\logstash-7.0.1\lib\mysql\mysql-connector-java-5.1.43.jar"
	
	# 驅(qū)動
    jdbc_driver_class => "com.mysql.jdbc.Driver"
	
    # 數(shù)據(jù)庫名稱
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/clothingsale?useUnicode=true&characterEncoding=UTF-8&useSSL=true"
	
    # 用戶名
    jdbc_user => "root"
	
    # 密碼
    jdbc_password => "root"
	
    # SQL文件
    # statement_filepath => "filename.sql"
	# SQL語言 SELECT * FROM product WHERE update_time > :last_sql_value
    statement => "SELECT * from message"
	
	# 設(shè)置時區(qū)
    jdbc_default_timezone => "Asia/Shanghai"
   
    # 是否分頁
    jdbc_paging_enabled => "true"
	
    # 分頁數(shù)量
    jdbc_page_size => "500"
	
	# 追蹤字段
    tracking_column => "update_time"
	
	# 這里如果是用時間追蹤比如:數(shù)據(jù)的更新時間或創(chuàng)建時間等和時間有關(guān)的這里一定不能是true
    use_column_value => false
	
    # 設(shè)置監(jiān)聽間隔 各字段含義(由左至右)分、時、天、月、年,全部為*默認(rèn)含義為每分鐘都更新
    schedule => "* * * * *"
  }
}

# 修改@timestamp默認(rèn)時間
filter {
    ruby { 
		code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)" 
	}
	ruby {
		code => "event.set('@timestamp',event.get('timestamp'))"
	}
	mutate {
		remove_field => ["timestamp"]
	}
}

output {

	# 目前使用的elasticsearch7.x,所以一個index只能存儲一種type,所以以下的index需要不一樣
	if [type]=="product" {
		elasticsearch {
			hosts => "127.0.0.1:9200"
			# 索引名稱 相當(dāng)于數(shù)據(jù)庫名稱
			index => "cloproduct"
			# 類型名稱 相當(dāng)于數(shù)據(jù)庫中的數(shù)據(jù)表
			document_type => "product"
	   
			document_id => "%{id}"
		}
	}
	
	if [type]=="message" {
		elasticsearch {
			hosts => "127.0.0.1:9200"
			# 索引名稱 相當(dāng)于數(shù)據(jù)庫名稱
			index => "clomessage"
			# 類型名稱 相當(dāng)于數(shù)據(jù)庫中的數(shù)據(jù)表
			document_type => "message"
	   
			document_id => "%{id}"
		}
	}
}

上述是多表同步,每行都有注釋,意思比較明了,就是input中多表使用jdbc隔開,然后output中用type區(qū)分。

5、啟動

logstash -f logstash_sync_mysql.conf >> C:\Users\Panlf\Desktop\log.txt

這樣還能看到實時日志產(chǎn)生,方便查看錯誤和進程。

注意

上述即可實現(xiàn)MySQL的數(shù)據(jù)同步,但是存在問題 - 時區(qū)問題,MySQL是時間比ElasticSearch晚8個小時,我試了各種方式還是不能解決把時間調(diào)整過來。目前可以在取數(shù)據(jù)的時候,進行時間調(diào)整,應(yīng)該問題不是很大。文章來源地址http://www.zghlxwxcb.cn/news/detail-788651.html

到了這里,關(guān)于Logstash同步MySQL數(shù)據(jù)到ElasticSearch的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Lostash同步Mysql數(shù)據(jù)到ElasticSearch(二)logstash腳本配置和常見坑點

    Lostash同步Mysql數(shù)據(jù)到ElasticSearch(二)logstash腳本配置和常見坑點

    新建腳本文件夾 cd /usr/local/logstash mkdir sql cd sql vim 表名稱.conf #如: znyw_data_gkb_logstash.conf 建立文件夾,保存資源文件更新Id mkdir -p /data/logstash/data/last_run_metadata 腳本JDBC插件參數(shù)說明: 第一步要做的事情,配置logstasht同步腳本文件,內(nèi)容如下: 第二部要做的事情,根據(jù)_mapping.

    2024年02月07日
    瀏覽(26)
  • ELK(Elasticsearch、Kibana、Logstash)以及向ES導(dǎo)入mysql數(shù)據(jù)庫數(shù)據(jù)或CSV文件數(shù)據(jù),創(chuàng)建索引和可視化數(shù)據(jù)

    ELK(Elasticsearch、Kibana、Logstash)以及向ES導(dǎo)入mysql數(shù)據(jù)庫數(shù)據(jù)或CSV文件數(shù)據(jù),創(chuàng)建索引和可視化數(shù)據(jù)

    地址:Past Releases of Elastic Stack Software | Elastic 在Products和version處分別選擇需要下載的產(chǎn)品和版本,E(elasticsearch)L(logstash)K(kibana)三者版本必須相同 將下載好的elk分別解壓到相同路徑下 本文中elasticsearch=E=ES=es;L=logstash;K=kibana 一般情況下使用默認(rèn)配置即可,下面對我的

    2024年02月15日
    瀏覽(95)
  • Logstash同步Mysql數(shù)據(jù)至ES

    Logstash同步Mysql數(shù)據(jù)至ES

    官方文檔 注意版本要和自己的es版本一致 下載地址:logstash 上傳至服務(wù)器并進行解壓。 1、通過官網(wǎng)下載mysql連接jar包 下載地址:mysql 連接jar包 根據(jù)自己mysql版本和系統(tǒng)進行選擇 ?? ? ? ? ? ? ? ? 2、在IDEA中復(fù)制msyql連接jar包 ? ? ? 將jar包移動至/logstash/logstash-core/lib

    2024年02月10日
    瀏覽(20)
  • Logstash從mysql同步數(shù)據(jù)到es

    Logstash從mysql同步數(shù)據(jù)到es

    Logstash 是免費且開放的服務(wù)器端數(shù)據(jù)處理管道,能夠從多個來源采集數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù),然后將數(shù)據(jù)發(fā)送到您最喜歡的“存儲庫”中。 Logstash 是一個功能強大的工具,可與各種部署集成。 它提供了大量插件,可幫助你解析,豐富,轉(zhuǎn)換和緩沖來自各種來源的數(shù)據(jù)。 如果你的數(shù)

    2024年02月08日
    瀏覽(28)
  • mysql同步數(shù)據(jù)到es之logstash

    mysql同步數(shù)據(jù)到es之logstash

    1.使用 logstash 如果是歷史數(shù)據(jù)同步我們可以用logstash,最快同步頻率每分鐘一次,如果對時效性要求高,慎用 2.使用 canal 實時同步,本文章未演示 logstash 特性: 無需開發(fā),僅需安裝配置logstash即可; 凡是SQL可以實現(xiàn)的logstash均可以實現(xiàn)(本就是通過sql查詢數(shù)據(jù)) 支持每次全量同步或

    2023年04月08日
    瀏覽(18)
  • Docker部署Logstash同步Mysql數(shù)據(jù)到ES

    Docker部署Logstash同步Mysql數(shù)據(jù)到ES

    頁面訪問 ip:9200端口,出現(xiàn)下面頁面部署成功 成功日志

    2024年04月13日
    瀏覽(19)
  • 通過logstash實現(xiàn)mysql與es的雙向數(shù)據(jù)同步

    通過logstash實現(xiàn)mysql與es的雙向數(shù)據(jù)同步

    參考題目 一種基于MySQL和Elasticsearch的數(shù)據(jù)同步方法及系統(tǒng) 基于MySQL和Elasticsearch的數(shù)據(jù)同步方法 一種基于MySQL和Elasticsearch的數(shù)據(jù)同步系統(tǒng) 基于MySQL和Elasticsearch的數(shù)據(jù)同步技術(shù) 目錄 1【理論調(diào)研】 方案1:使用Logstash實現(xiàn)數(shù)據(jù)同步 方案2:使用Canal實現(xiàn)數(shù)據(jù)同步 方案3:使用Debe

    2024年02月15日
    瀏覽(21)
  • ELK增量同步數(shù)據(jù)【MySql->ES】

    ELK增量同步數(shù)據(jù)【MySql->ES】

    ? ? ? ? 1.? linux,已經(jīng)搭建好的logstash+es+kibana【系列版本7.0X】,es 的plugs中安裝ik分詞器 ES版本: ?Logstash版本: ?(以上部署,都是運維同事搞的,我不會部署,同事給力) 1、在Logstash安裝目錄下【/usr/share/logstash】,新建XX.sh,內(nèi)容如下: 2. 在Logstash安裝目錄下【/usr/shar

    2024年02月11日
    瀏覽(21)
  • logstash同步mysql數(shù)據(jù)到es(三、es模板問題)

    ?相關(guān)問題匯總: logstash同步mysql數(shù)據(jù)到es(一、es模板問題,請求返回400) logstash同步mysql數(shù)據(jù)到es(二、jdbc_driver_library問題)_(please check user and group permissions for the p-CSDN博客 logstash同步mysql數(shù)據(jù)到es(三、es模板問題)-CSDN博客 使用docker實現(xiàn)logstash同步mysql到es-CSDN博客 [INFO ] 2023-12-11 09

    2024年01月17日
    瀏覽(19)
  • ELK之從Logstash讀取數(shù)據(jù)到Elasticsearch

    前置條件: Elasticsearch 集群正常 Elasticsearch集群配置直通車:ELK之Elasticsearch7.17.4安裝(yum方式)和三節(jié)點集群配置 Filebeat和logstash打通 ELK之LogStash接收Filebeat的數(shù)據(jù):ELK之LogStash接收Filebeat的數(shù)據(jù) 修改Logstash 配置文件,將output改為如下地址,注釋掉控制臺輸出,添加elasticsearc

    2024年01月22日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包