본문 바로가기
개발 노트

네이버 오픈서치 클러스터 내의 노리 플러그인 설치 방법

by LeeInGyu 2026. 2. 19.

네이버 오픈서치 클러스터 내의 노리 플러그인 설치 방법

네이버 클라우드의 오픈서치(Search Engine Service)에서 플러그인을 설치하기 위해서는 존재하는 모든 노드에 동일한 플러그인을 설치해야합니다.
이 글에서는 오픈서치 2.18.0 버전에 노리(analysis-nori) 플러그인 설치 방법을 안내합니다.
다른 플러그인도 동일한 방법으로 설치 가능합니다.

안내

0장 부록

바쁘신 분들을 위해 모든 명령어를 집합한 코드블록을 제공해드립니다. 바쁘시면 0장을 통해 설치하고, 5장에서 최종 확인만 하시길 바랍니다.

1. 매니저 노드 명령어 모음

# 매니저 노드 터미널
cd /tmp
wget https://artifacts.opensearch.org/releases/plugins/analysis-nori/2.18.0/analysis-nori-2.18.0.zip
sudo /usr/share/opensearch/bin/opensearch-plugin install file:/tmp/analysis-nori-2.18.0.zip
ls /usr/share/opensearch/plugins/ | grep nori
sudo systemctl stop opensearch
sudo systemctl start opensearch
# 매니저 노드 터미널
scp analysis-nori-2.18.0.zip sshuser@{Data node IP}:/tmp/
  • 매니저 노드가 접속된 터미널에 붙여넣기하시면 모든 과정이 진행됩니다.

2. 데이터 노드 명령어 모음

# 데이터 노드 터미널
sudo /usr/share/opensearch/bin/opensearch-plugin install file:/tmp/analysis-nori-2.18.0.zip
ls /usr/share/opensearch/plugins/ | grep nori
sudo systemctl stop opensearch
sudo systemctl start opensearch
  • 데이터 노드가 접속된 터미널에서 붙여넣기하시면 모든 과정이 진행됩니다.

1장 설치 준비

사전에 필요한 정보 및 파일은 다음과 같습니다.

  • 매니저 노드의 접속 url
  • 모든 데이터 노드의 접속 IP
  • 매니저 노드의 ssh(22) 포트 접근 권한 및 접근을 위한 .pem 파일
  • 오픈서치 버전에 맞는 플러그인 파일(노리 형태소 플러그인의 경우 첨부파일 참고)
  • 오픈서치 대시보드 웹 접속 정보

2장 SSH 접속

graph LR
    subgraph LocalPC [로컬 환경]
        direction TB
        Terminal1[터미널 1]
        Terminal2[터미널 2]
        Terminal3[터미널 3]
        Terminal4[터미널 4]
    end

    subgraph Cluster [오픈서치 클러스터]
        direction TB
        ManagerNode1[매니저 노드]
        ManagerNode2[매니저 노드]
        ManagerNode3[매니저 노드]
        ManagerNode4[매니저 노드]

        DataNode1[데이터 노드 1]
        DataNode2[데이터 노드 2]
        DataNode3[데이터 노드 3]
    end

    Terminal1 -- SSH --> ManagerNode1

    Terminal2 -- SSH --> ManagerNode2
    ManagerNode2 -- SSH --> DataNode1

    Terminal3 -- SSH --> ManagerNode3
    ManagerNode3 -- SSH --> DataNode2

    Terminal4 -- SSH --> ManagerNode4
    ManagerNode4 -- SSH --> DataNode3

위 그림처럼 매니저 노드를 통해 데이터 노드로 접속하는 방법을 설명합니다.

1. 매니저 노드에 접속

# 로컬 환경 터미널
ssh sshuser@{SES url} -i {.pem}
  • 네이버 클라우드의 경우 ssh 접속을 위한 유저명은 sshuser로 고정입니다.
  • {.pem}파일의 경우 없다면, 기술지원팀에 문의하세요.
  • 매니저 노드에 접속한 터미널을 4(총 노드 개수)개 엽니다.

2. 데이터 노드에 접속

# 매니저 노드 터미널
ssh sshuser@{데이터 노드 IP}
  • *데이터 노드에 접속은 매니저 노드 안에서만 가능합니다.
  • 꼭 매니저 노드에 접속된 터미널에서 실행하세요.
  • 여러 터미널로 모든 매니저 노드에 각각 접속합니다.

접속시 참고사항

ECDSA key fingerprint is SHA256:QfLkG8Gr2vPM3b7VeP9WLYGw6VzRws2RpYpZGJhHaw8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

3장 매니저 노드에 플러그인 설치

1. 매니저 노드에서 플러그인 파일 다운로드

# 매니저 노드 터미널
cd /tmp
wget https://artifacts.opensearch.org/releases/plugins/analysis-nori/2.18.0/analysis-nori-2.18.0.zip
  • *tmp 폴더: 일부 리눅스 환경에서는 /tmp 폴더 내의 파일을 주기적으로 삭제되어 용량이 절약됩니다. 따라서 설치한 .zip 파일을 제거하지 않아도 됩니다.
  • 위의 명령어로 오픈서치 2.18.0 환경의 노리 형태소(analysis-nori) 플러그인 파일을 다운로드 합니다.

2. 매니저 노드에 노리 플러그인 설치

# 매니저 노드 터미널
sudo /usr/share/opensearch/bin/opensearch-plugin install file:/tmp/analysis-nori-2.18.0.zip
  • 오픈서치는 일반적으로 /usr/share/opensearch에 관련 파일들이 존재합니다.
  • 오픈서치 폴더 내의 bin/opensearch-plugin은 플러그인 설치 스크립트입니다.
  • sudo 명령어를 사용할 경우, 상대주소의 경우 파일을 찾을 수 없을 수 있으니 절대주소를 사용합니다.

3. 매니저 노드에 노리 플러그인 설치 확인

# 매니저 노드 터미널
ls /usr/share/opensearch/plugins/ | grep nori
  • 오픈서치의 plugins 폴더에는 설치된 플러그인 목록이 출력됩니다.
  • 해당 명령어 입력 후 analysis-nori 폴더가 존재한다면, 정상적으로 설치된 것입니다.

4. 매니저 노드 오픈서치 재부팅

# 매니저 노드 터미널
sudo systemctl stop opensearch
sudo systemctl start opensearch
  • systemctl restart를 사용하지 않는 이유: restart의 경우 완벽히 종료되지 않는 문제가 있어 stopstart를 사용합니다.

4장 데이터 노드에 플러그인 설치

데이터 노드는 매니저 노드와 다르게 외부 네트워크에 연결되어있지 않습니다.
따라서 매니저 노드에서 설치한 .zip파일을 각 데이터 노드로 전송해서 사용합니다.

1. .zip 파일 데이터 노드로 옮기기

# 매니저 노드 터미널
cd /tmp
scp analysis-nori-2.18.0.zip sshuser@{Data node IP}:/tmp/
  • 모든 데이터 노드에 해당 파일을 전송합니다.

2. 데이터 노드에서 플러그인 설치

1장에서 접속한 데이터 노드 터미널을 사용합니다.

# 데이터 노드 터미널
cd /tmp
sudo /usr/share/opensearch/bin/opensearch-plugin install file:/tmp/analysis-nori-2.18.0.zip
  • /tmp 폴더로 이동한 후 노리 플러그인을 설치합니다.
  • 2장의 과정과 동일합니다.

3. 데이터 노드에 플러그인 설치 확인

ls /usr/share/opensearch/plugins/ | grep nori
  • 오픈서치의 plugins 폴더에는 설치된 플러그인 목록이 출력됩니다.
  • 해당 명령어 입력 후 analysis-nori 폴더가 존재한다면, 정상적으로 설치된 것입니다.
  • 2장의 과정과 동일합니다.

4. 데이터 노드 오픈서치 재부팅

# 매니저 노드 터미널
sudo systemctl stop opensearch
sudo systemctl start opensearch
  • systemctl restart를 사용하지 않는 이유: restart의 경우 완벽히 종료되지 않는 문제가 있어 stopstart를 사용합니다.
  • 2장의 과정과 동일합니다.

5장 최종 설치 확인

1. 오픈서치 대시보드로 확인

# Windows PowerShell
curl.exe -k -u {OpenSearch ID}:{OpenSearch Password} https://{OpenSearch URL}:9200/_cat/plugins?v | Select-String "nori"
# Mac, Wsl
curl -k -u {OpenSearch ID}:'{OpenSearch Password}' https://{OpenSearch URL}:9200/_cat/plugins?v | grep nori
  • 최종 확인을 위해 대시보드에 접근하여, 플러그인 설치 정보를 확인합니다.
  • 각 터미널에 맞는 명령어가 다르니 주의합니다.
  • Mac, Wsl 환경에서는 특수문자가 포함될 경우 반드시 ''로 묶어주어야 합니다.

2. 명령어 결과

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6447  100  6447    0     0  47890      0 --:--:-- --:--:-- --:--:-- 48111
abc-abc-01-d-47sj analysis-nori                        2.18.0
abc-abc-01-d-47si analysis-nori                        2.18.0
abc-abc-01-d-47sh analysis-nori                        2.18.0
abc-abc-01-m-47sg analysis-nori                        2.18.0
  • 총 노드 개수만큼 노리 컴포넌트가 출력되면 성공적으로 설치된 것입니다.

6장 트러블슈팅

  • (dry run 관련 내용 업데이트 예정)
반응형