오늘은 어제 구축한 ELK를 기반으로 .conf 파일을 통해 mysql에 있는 정보를 elasticsearch로 logstash를 통해 옮기는 작업을 진행했다.
input {
jdbc {
jdbc_driver_library => "D:\ELK Stack\logstash-8.10.4\lib\mysql-connector-j-8.1.0/mysql-connector-j-8.1.0.jar"
jdbc_driver_class => "cohttp://m.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/study"
jdbc_user => "root"
jdbc_password => "1234"
schedule => "* * * * *"
statement => "select * from product"
jdbc_pool_timeout => 120
# jdbc_paging_enable => true
# jdbc_page_size => 10000
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "product"
}
stdout{
codec=>rubydebug
}
}
와 같은 형식의 파일로 작성을 했으나, schedule의 경우 다루는 데이터가 워낙 많다 보니 1회 실행에도 시간이 꽤나 걸려서 고심하면서 schedule을 설정해줘야 할 것 같다.
ElasticSearch에 저장된 정보를 기반으로 검색을 진행하려고 했으나, 현재 테이블의 컬럼이 id가 아닌 product_id로 설정되어 있어서 id를 매핑하게 되면 내가 원했던 mysql의 product의 id가 아닌 elasticsearch에서 사용하는 id가 매핑이 되어 String이 반환되고 Long형태로 선언해놓은 id가 매핑이 되지 않아 오류가 발생해서 이를 수정해야 검색을 진행할 수 있다.
'TIL' 카테고리의 다른 글
| [TIL] 2023-10-21 (0) | 2023.10.21 |
|---|---|
| [TIL] 2023-10-20 (0) | 2023.10.21 |
| [TIL]2023-10-18 (0) | 2023.10.18 |
| [TIL]2023-09-27 (0) | 2023.09.27 |
| [TIL]2023-09-26 (0) | 2023.09.27 |