Logstash를 활용한 Search Engine Cluster 교체
    • PDF

    Logstash를 활용한 Search Engine Cluster 교체

    • PDF

    기사 요약

    VPC 환경에서 이용 가능합니다.

    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로 이전하는 순서는 다음과 같습니다.

    1. 하단의 가이드에 따라 VPC Server생성, LogStash 설치 및 적용, ACG 설정을 완료해 주십시오.
    2. 신규로 생성한 Cluster의 데이터가 LogStash를 설치한 Server를 통하여 정상적으로 복제되는지 index 정보를 검색/검증해 주십시오.
    3. Cluster의 저장된 데이터를 검색하는 Application Server를 먼저 신규로 생성한 Cluster로 EndPopint를 변경해 주십시오.
    4. Cluster에 데이터를 저장하는 Application Server를 신규로 생성한 Cluster로 EndPoint를 변경해 주십시오.
    5. Application Server의 EndPoint 변경이 완료되면 기존클러스터와 신규클러스터의 index와 문서수를 비교하여 이전이 완료 되었는지 확인/검증해 주십시오.
    6. LogStash를 설치한 VPC Server를 제거해 주십시오.

    VPC Server 생성

    STEP 1. 서버 생성

    LogStash를 설치할 서버를 생성하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Compute > Server 메뉴를 차례대로 클릭해 주십시오.
    2. [서버생성] 버튼을 클릭하여 서버를 생성해 주십시오.
    3. 서버 생성시 Subnet의 종류는 Cluster의 ManagerNode와 동일하거나 같은 타입(Private, Public)의 Subnet으로 생성해 주십시오.
    4. 생성된 서버의 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를 실행하는 명령어 예제는 다음과 같으며, 상황에 따라 다르게 적용될 수도 있습니다.

      # 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를 설정하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > BigData & Analytics > Search Engine Service 메뉴를 차례대로 클릭합니다.
    2. Cluster를 선택한 후 매니저노드 ACG 옆의 [새창열기] 버튼을 클릭해 주십시오.
    3. 매니저노드ACG의 이름과 동일한 ACG를 선택한 후, 상단의 [ACG 설정] 버튼을 클릭합니다.
    4. inboud 탭에서 아래의 정보를 입력 후 [추가] 버튼을 클릭해 주십시오.
      • 프로토콜: TCP
      • 접근소스: Logstash가 실행될 서버의 IP
      • 허용포트: 9200
    5. 하단의 [적용] 버튼을 클릭해 주십시오.
    6. 동일한 방법으로 현재 이용 중인 클러스터와 변경할 클러스터 모두 동일하게 ACG를 등록해 주십시오.

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.