Logstash를 활용한 Search Engine Cluster 교체
- 인쇄
- PDF
Logstash를 활용한 Search Engine Cluster 교체
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
LogStash 를 사용하여 CentOS가 적용된 Search Engine Service Cluster 를 Rocky등 OS가 적용된 Search Engine Service Cluster 로 교체하는 방법을 설명합니다.
예제로는 Server에 LogStash를 구동한 후, Search Engine Service Cluster 의 데이터를 복제하고 교체하는 방법을 다루고 있습니다.
사전 작업
이 가이드를 수행하기 전에 확인이 필요한 작업은 다음과 같습니다.
- 기존 Search Engine Service Cluster 정보확인 (Cent Linux 설치 버전)
- 신규 생성한 Search Engine Service Cluster 정보확인 (Rocky Linux 설치 버전)
Custer 전환 순서
신규로 생성한 Cluster로 이전하는 순서를 가이드 합니다.
- 하단의 가이드에 따라 VPC Server생성, LogStash 설치 및 적용, ACG설정을 완료합니다.
- 신규로 생성한 Cluster의 데이터가 LogStash를 설치한 Server를 통하여 정상적으로 복제 되는지 index 정보를 검색/검증 합니다.
- Cluster의 저장된 데이터를 검색하는 Application Server를 먼저 신규로 생성한 Cluster로 EndPopint 를 변경합니다.
- Cluster에 데이터를 저장하는 Application Server를 신규로 생성한 Cluster로 EndPoint를 변경합니다.
- Application Server의 EndPoint 변경이 완료되면 기존클러스터와 신규클러스터의 index와 문서수를 비교하여 이전이 완료 되었는지 확인/검증 합니다.
- LogStash를 설치한 VPC Server를 제거합니다.
VPC Server 생성
STEP 1. 서버 생성
LogStash 를 설치할 서버를 생성합니다.
- 네이버 클라우드 플랫폼 콘솔에서 Compute > Server 메뉴를 차례대로 클릭합니다.
- [서버생성] 버튼을 클릭하여 서버를 생성합니다. (서버생성 가이드)
- 서버생성시 Subnet 의 종류는 Cluster의 ManagerNode와 동일하거나 같은 타입(Private, Public)의 Subnet 으로 생성합니다.
- 생성된 서버의 SSH로 접속하여 LogStash 설치를 준비합니다. 서버접속 가이드
LogStash 설치
Server에 LogStash를 설치하는 예제를 소개합니다.
설치과정에서 ElasticeSearch 또는 OpenSearch의 과정이 포함되어 있습니다.
사용하는 버전에 맞춰서 설치해야 정상적인 테스트가 가능합니다.
STEP 1. java 설치
- 다음 명령어를 입력하여 java를 설치해 주십시오
sudo yum install java-devel -y
STEP 2. LogStash설치
LogStash를 설치하는 방법은 다음과 같습니다.
LogStash는 호환성을 위하여 이용하는 Elasticsearch 또는 OpenSearch 의 버전에 맞춰 설치하여야 합니다.
1. 다음 명령어를 입력하여 /root 경로에 LogStash 를 다운로드합니다.
# Elasticsearch 버전인 경우(OSS 버전 설치)
wget https://artifacts.elastic.co/downloads/logstash/logstash-oss-7.7.0.rpm
# OpenSearch 버전인 경우
wget https://artifacts.opensearch.org/logstash/logstash-oss-with-opensearch-output-plugin-7.16.3-linux-x64.tar.gz
2. 다운로드한 파일을 설치하기 위한 명령어입니다.
# Elasticsearch 버전인 경우
rpm -ivh logstash-oss-7.7.0.rpm
# OpenSearch 버전인 경우
tar -zxvf logstash-oss-with-opensearch-output-plugin-7.16.3-linux-x64.tar.gz
3. 다음의 명령어와 설정파일을 참고하여 LogStash가 수행할 역할을 정의합니다.
- ElasticSearch 버전인 경우
mv /etc/logstash/logstash-sample.conf /etc/logstash/conf.d/logstash.conf
vi /etc/logstash/conf.d/logstash.conf
- ElasticSearch버전 LogStash.conf
input {
elasticsearch {
hosts => ["http://A-cluster-address:9200"]
index => "your-index-*"
}
}
output {
elasticsearch {
hosts => ["http://B-cluster-address:9200"]
index => "%{[index]}"
}
}
- OpenSearch 버전인 경우
# /root/ 에 설치하는 경우 {설치경로}는 /root/logstash-7.16.3 입니다.
mv {설치경로}/config/logstash-sample.conf {설치경로}/config/logstash.conf
vi {설치경로}/config/logstash.conf
- OpenSearch버전 LogStash.conf
input {
opensearch {
hosts => ["http://A-cluster-address:9200"]
index => "your-index-*"
user => ${userID}
password => ${password}
ssl_certificate_verification => false
}
}
output {
opensearch {
hosts => ["http://B-cluster-address:9200"]
index => "%{[index]}"
user => ${userID}
password => ${password}
ssl_certificate_verification => false
}
}
- LogStash 각 항목별 설명
["http://A-cluster-address:9200"] - 현재 이용 중인 Cluster의 정보를 입력합니다.
["http://B-cluster-address:9200"] - 신규로 생성한 Cluster의 정보를 입력합니다.
"your-index-*" - 현재 이용중인 Cluster에서 복제할 index 이름입니다.
"%{[index]}" - 현재 이용중인 Cluster의 복제한 index 이름을 변수로 정의합니다.
${userID} - Cluster에 등록된 사용자 ID 입니다.
${password} - Cluster에 등록된 사용자 PASSWORD 입니다.
ssl_certificate_verification => false - OpenSearch 접속시 사설인증서 통과를 위한 설정입니다.
4. LogStash 실행
LogStash를 실행하는 명령어 예제는 다음과 같으며, 상황에 따라 다르게 적용될 수도 있습니다.
# Elasticsearch 버전인 경우
systemctl start logstash
# OpenSearch 버전인 경우
# 백그라운드 실행을 위해 nohup 을 사용합니다.
# -f 옵션을 사용하여 logstash.conf 의 경로를 지정해 주셔야 합니다.
nohup {설치경로}/bin/logstash -f ~{설치경로}/config/logstash.conf &
네트워크 설정
STEP 1. ACG 설정
Search Engine Service Cluster 2개 모두 LogStash 가 설치된 서버에서 9200번 포트로 접근 할 수 있도록 ACG를 설정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Service > BigData&Analytics > Search Engine Service 메뉴를 차례대로 클릭합니다.
- Cluster 를 선택 후 매니저노드ACG 옆의 새창열기 버튼을 클릭합니다.
- 매니저노드ACG 의 이름과 동일한 ACG를 선택 후, 상단의 [ACG 설정] 버튼을 클릭합니다.
- inboud 탭에서 아래의 정보를 입력 후 [추가] 버튼을 클릭합니다.
- 프로토콜: TCP
- 접근소스: Logstash가 실행될 서버의 IP
- 허용포트: 9200
- 하단의 [적용] 버튼을 클릭합니다.
동일한 방법으로 현재 이용중인 클러스터와 변경할 클러스터 모두 동일하게 ACG를 등록합니다.
이 문서가 도움이 되었습니까?