DEV_희쨔응
MariaDB to Elasticsearch 본문
MariaDB에 있는 데이터를 Logstash 이용하여 원하는 컬럼만 Select Elasticsearch로 적재
이후, Elasticsearch에 적재되며 추가된 Timestamp 포함하여 Elastic에 붙은 PrestoDB에서 Logstash 이용하여 MariaDB에 적재하는 과정까지 테스트
초기 MariaDB에 적재되어있는 Data
> Logstash 이용하여 원하는 컬럼만 SELECT
input {
jdbc {
jdbc_validate_connection => true
jdbc_driver_library => "/usr/local/mariadb-java-client-1.1.7.jar"
jdbc_driver_class => "Java::org.mariadb.jdbc.Driver"
jdbc_connection_string => "jdbc:mariadb://MariadbIP/dbname"
jdbc_user => "root"
jdbc_password => "password"
#schedule => "*/1 * * * *"
statement => "SELECT colum1, colum2 from DB.Tablename"
sql_log_level => "debug"
record_last_run => true
#last_run_metadata_path => "/etc/logstash/jdbc_last_run_metadata_path/mariadb"
}
}
output {
elasticsearch {
hosts => ["http://hostIP:9200"]
index => "name"
#data_stream => "true"
#user => "username"
#password => "password"
}
}
Kibana에서 Get 쿼리로 조회한 Elasticsearch data
- 여기까지 MariaDB > Logstash > Elasticsearch(Kibana로 조회)
Elasticsearch에 담긴 데이터 조회
> Data가 담길때마다 @timestamp와 @version이 자동으로 찍히는 것을 확인할 수 있음
> 여기서 찍힌 Timestamp값을 MariaDB로 가져오고 싶어져서 간단하게 진행해보았다.
Logstash 이용하여 Presto에서 MariaDB로의 Input, Output 구성
input {
jdbc{
jdbc_connection_string => "jdbc:presto://10.65.41.141:8080/elsticsearch?SSL=false"
jdbc_driver_library => "/usr/local/presto-jdbc-0.276.jar"
jdbc_user => "user"
jdbc_password => ""
jdbc_driver_class => "com.facebook.presto.jdbc.PrestoDriver"
statement => "SELECT * FROM elasticsearch.default.mariafilter"
}
}
output {
jdbc {
driver_jar_path => "/usr/local/mariadb-java-client-1.1.7.jar"
driver_class => "org.mariadb.jdbc.Driver"
connection_string => "jdbc:mariadb://MariadbIP:3306/DB?user=root&password=Password"
statement => [ "INSERT INTO DBname.TableName (colum1, colum2, timestamp) VALUES(?, ?, ?)", "colum1","colum2","@timestamp" ]
}
}
Logstash 통해서 Timestamp 포함하여 적재한 MariaDB 데이터 조회
++
> Presto to MariaDB의 Logstash 코드 실행 시 warnig 뜨면서 shutdown 되는 현상 발생 > SQL이 문제라고 하는데 정확히 모르겠다. 추후 오류 수정 예정
'Kafka' 카테고리의 다른 글
Kafkaconnector(MysqlCDC To Impala&Kudu) (0) | 2023.02.22 |
---|---|
Kcat(Kafkacat) (3) | 2023.02.20 |
Apache Beam (1) | 2023.01.26 |
Apache Flume(Kafka To Hadoop) (0) | 2022.10.21 |
Supervisor (0) | 2022.10.20 |
Comments