VMWare에서 Elasticsearch를 설치하고 간단한 MySQL 실습까지!
- ubuntu22.04
- ealsticsearch@7.12.1
- logstash@1:7.12.1-1
- openjdk@11.0.11
- mysql-connector-java@8.0.23
# Download and install the public signing key:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# install apt-transport-https:
sudo apt-get install apt-transport-https
# Save the repository definition to /etc/apt/sources.list.d/elastic-7.x.list:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
# install elasticsearch
sudo apt-get update && sudo apt-get install elasticsearch
# 실행
sudo systemctl start elasticsearch.service
# 중단
sudo systemctl stop elasticsearch.service
# 실행확인방법
curl -X GET "localhost:9200/?pretty"
# search
apt search openjdk-11
# install
sudo apt-get install openjdk-11-jdk
# 설치확인
java --version
# 설치된 자바 패키지 리스트 확인
update-java-alternatives -l
#/usr/lib/jvm/java-1.11.0-openjdk-amd64 이 리스트업됨.
# 환경설정하기
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
# 환경설정확인
echo $PATH
#### 위에서 이미 했으면 반복할 필요 없음
# download and install the public signing key:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
#### 위에서 이미 했으면 반복할 필요 없음
# install apt-transport-https:
sudo apt-get install apt-transport-https
#### 위에서 이미 했으면 반복할 필요 없음
# Save the repository definition to /etc/apt/sources.list.d/elastic-7.x.list:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
# install logstash
sudo apt-get update && sudo apt-get install logstash
# stashing first event
# `Pipelines running` 이라고 뜨면 아무 글이나 치고 `enter`를 치면 message가 뜸. 종료는 ctrl-d
sudo bin/logstash -e 'input { stdin { } } output { stdout {} }'
만약 stashing first event
단계에서 문제가 생긴다면 sudo
모드에서 시작해 볼 것!
sudo su
cd /usr/share/logstash
/usr/share/logstash# ./bin/logstash -e 'input { stdin { } } output { stdout {} }'
해결 되지 않으면 logstash가 있는 곳으로 위치를 변경해서 해보는 방법도 있음!
# logstash 위치 확인
whereis logstash
# 위치 변경
# {}는 빼고 경로만 쓸 것!
# ex) cd /usr/share/logstash
cd {logstash의 위치}
# 실행
sudo systemctl start logstash.service
# 중단
sudo systemctl stop logstash.service
# 다운로드
wget dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java_8.0.23-1ubuntu18.04_all.deb
# 파일 풀기
sudo dpkg -i mysql-connector-java_8.0.23-1ubuntu18.04_all.deb
# 경로 설정
usr/share/java/mysql-connector-java-8.0.23.jar
/usr/share/logstash
에 파일을 만들어서 아래 파일 내용을 복사하고 :wq
로 나오면 끝!# 현재 위치가 /usr/share/logstash 가 아니라면 이동!
cd /usr/share/logstash
# 파일 만들기
sudo vi {파일 이름}.conf
input {
jdbc {
clean_run => true
jdbc_driver_library => "/usr/share/java/mysql-connector-java-8.0.23.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://{db 주소}"
jdbc_user => "{사용자 ID}"
jdbc_password => "{사용자 비밀번호}"
schedule => "* * * * *"
statement => "select * from {뽑고 싶은 테이블명}"
}
}
output {
stdout {}
}
sudo bin/logstash -f {파일 이름}.conf
우여곡절이 많았지만 결국 해냈따!!
주변 친구의 도움도 받고 여기저기 블로그 참고도 해보았다 ㅎㅎ
이 다음에는 mysql의 데이터가 변경되었을 때 실시간으로 logstash 담긴정보도 수정해보아야겠다! 🤍