웹사이트 검색

Rocky Linux에 Apache Solr를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 자바 OpenJDK 설치
  3. Rocky Linux에 Solr 설치
  4. Solr 사용자에 대한 설정 제한 열린 파일 및 최대 프로세스\n
  5. Solr 설치 확인\n
  6. 기본 인증으로 Solr 보안
  7. 먼저 Solr 코어 만들기
  8. 결론

Apache Solr 또는 Solr는 Apache Lucene 라이브러리를 기반으로 하는 무료 오픈 소스 검색 플랫폼입니다. Solr은 Searching On Lucene with Replication의 약자로 Java로 작성된 엔터프라이즈급 검색 플랫폼입니다.

Solr는 내결함성 및 분산 인덱싱 기능을 갖춘 확장성이 뛰어나고 안정적인 검색 플랫폼입니다. 또한 복제, 자동 장애 조치 및 복구 기능이 함께 제공됩니다.

대부분의 경우 Solr는 고성능을 제공하는 엔터프라이즈급 애플리케이션을 구축하는 데 사용됩니다. Solr는 Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram 등과 같은 일부 인터넷 대형 사이트에서 사용됩니다.

이 가이드에서는 Rocky Linux 시스템에 Apache Solr를 설치하는 방법, Solr 기본 인증을 활성화하는 방법, Solr 배포를 위한 최대 열린 파일 제한 및 최대 프로세스 제한을 설정하는 방법, 명령줄에서 첫 번째 Solr 코어를 생성하는 방법을 배웁니다.

전제 조건

시작하기 전에 다음 요구 사항을 충족하는지 확인하십시오.

  • 운영 체제: Rocky Linux 8.5(Green Obsidian)
  • 메모리: 테스트용 2GB
  • CPU: 2
  • 루트 권한\n

이제 시작하겠습니다.

자바 OpenJDK 설치

Linux 시스템에 Solr를 설치하려면 최소한 Java OpenJDK 1.8 이상이 필요합니다. Rocky Linux는 여러 버전의 Java OpenJDK를 제공하며 이 예제에서는 Solr 설치를 위해 Java OpenJDK 1.11을 설치합니다.

1. 아래의 DNF 명령을 실행하여 Rocky Linux 시스템에 Java OpenJDK 1.11을 설치합니다.

sudo dnf install java-11-openjdk java-11-openjdk-devel

y를 입력하여 설치를 확인하고 Enter를 눌러 계속하십시오.

2. Java 설치가 완료되면 다음 명령을 사용하여 설치를 확인합니다.

java --version

아래는 비슷한 출력입니다.

openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

Rocky Linux 시스템에서 Java OpenJDK 1.11 설치를 완료했으며 Solr를 시스템에 다운로드하여 설치할 준비가 되었습니다.

Rocky Linux에 Solr 설치

이 단계에서는 최신 버전의 Solr(현재 버전은 8.11)를 Rocky Linux 시스템에 설치합니다. Solr 패키지에 포함된 설치 프로그램 스크립트를 사용하여 Solr을 설치하게 됩니다.

1. 현재 작업 디렉토리를 /opt로 변경하고 다음 명령을 사용하여 Solr 바이너리 코드를 다운로드합니다.

cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz

2. 다운로드 프로세스가 완료되면 Solr 패키지에서 설치 프로그램 스크립트를 추출합니다.

tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2

이제 Solr 설치 프로그램 스크립트 install_solr_service.sh가 표시됩니다.

3. 아래와 같이 설치 프로그램 스크립트를 실행하여 Solr을 설치합니다.

sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983

이제 설치 프로그램 스크립트는 다음 세부 정보로 Solr을 설치합니다.

  • 설치 디렉토리는 /opt/solr입니다.
  • Solr 데이터 디렉토리는 /var/solr 디렉토리에서 사용할 수 있습니다.\n
  • Solr는 solr 시스템 사용자로 실행됩니다.\n
  • solr 스크립트를 사용하여 Solr에 대한 systemd 스크립트를 정의합니다.\n
  • Solr는 이제 기본 포트 8083에서 실행됩니다.\n

Solr 설치가 완료되면 아래와 유사한 출력이 표시됩니다.

Solr에 대한 파일 제한 및 프로세스 제한에 대한 경고 메시지가 표시되며 다음 단계에서 수정합니다. 그리고 Solr은 이제 포트 8983에서 실행됩니다.

4. 다음 명령을 사용하여 시스템의 LISTEN 포트를 확인합니다.

ss -aplnt | grep java

Solr 설치가 올바른 경우 이제 Java 응용 프로그램에서 포트 8983을 사용하고 있는 것을 볼 수 있습니다.

LISTEN 0      50     [::ffff:127.0.0.1]:7983            *:*    users:(("java",pid=4512,fd=48))
LISTEN 0      50                      *:8983            *:*    users:(("java",pid=4512,fd=157))

이제 다음 명령을 사용하여 Solr 프로세스를 종료하십시오.

pkill java
kill -9 PID

PID는 Solr 애플리케이션의 프로세스 ID입니다. 상단의 ss 명령에서 Solr 응용 프로그램의 PID를 볼 수 있습니다.

5. 다음으로 시스템 관리자를 다시 로드하여 새 systemd 서비스 파일을 적용합니다.

sudo systemctl daemon-reload

6. 그런 다음 다음 명령을 사용하여 solr 서비스를 시작하고 활성화합니다.

sudo systemctl enable --now solr

아래 명령을 사용하여 solr 서비스를 확인합니다.

sudo systemctl status solr

이제 solr 서비스가 활성화(종료)된 것을 볼 수 있습니다. solr 서비스가 실행 중이지만 systemd에서 모니터링할 데몬을 찾을 수 없습니다.

그리고 Rocky Linux 시스템에서 기본 Solr 설치를 완료했습니다.

Solr 사용자에 대한 설정 제한 열린 파일 및 최대 프로세스

위에서 볼 수 있듯이 Solr 설치 중에 열린 파일 제한 및 프로세스 제한에 대한 경고 메시지가 나타납니다. Solr는 최소 열린 파일 제한과 최대 프로세스 제한을 65000으로 요구했습니다.

이러한 경고 메시지를 해결하려면 /etc/security/limits.conf 구성을 편집하고 사용자 solr에 대한 최대 파일 열기 제한 및 최대 프로세스 제한을 정의해야 합니다.

1. nano 편집기를 사용하여 구성 /etc/security/limits.conf을 편집합니다.

sudo nano /etc/security/limits.conf

다음 구성을 줄 맨 아래에 복사하여 붙여넣습니다.

solr   soft   nofile   65000
solr   hard   nofile   65000
solr   soft   nproc    65000
solr   hard   nproc    65000

구성을 저장하고 종료합니다.

2. 다음으로 다음을 사용하여 열린 파일 및 최대 사용자 처리 제한을 확인합니다.

sudo -u solr ulimit -a

아래와 같이 열린 파일 제한과 최대 사용자 프로세스 제한이 65000으로 표시됩니다.

3. 이제 다음 명령을 사용하여 solr 서비스를 다시 시작합니다.

sudo systemctl restart solr

이제 Solr 애플리케이션에 대한 최대 열린 파일 제한 및 최대 프로세스 제한 구성을 완료했습니다.

Solr 설치 확인

Solr 설치를 확인하려면 방화벽에 포트 8983을 추가해야 Solr 웹 애플리케이션 대시보드에 액세스할 수 있습니다.

1. 아래의 firewall-cmd 명령을 실행하여 방화벽에 8983 포트를 추가하고 다시 로드합니다.

sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload

2. 이제 웹 브라우저를 열고 아래와 같이 8983 포트로 서버 IP 주소를 입력합니다.

그러면 아래와 같이 Solr 대시보드가 표시됩니다.

기본 Solr 설치에는 인증 및 권한 부여가 활성화되어 있지 않습니다. 인증 및 승인을 통해 Solr 배포를 보호하려면 다음 단계로 이동하십시오.

기본 인증으로 Solr 보안

이 단계에서는 Solr에 대한 기본 인증을 활성화하는 방법을 배웁니다.

Solr 기본 인증을 활성화하려면 새 구성 파일 security.json을 만들고 인증 및 권한 부여 모듈을 정의해야 합니다. 구성 security.json은 Solr 데이터 디렉터리 /var/solr/data에 있어야 합니다.

또한 아래와 같이 Solr 대시보드에서 Solr 데이터 디렉터리를 확인할 수 있습니다.

1. 작업 디렉토리를 /var/solr/data로 변경하고 nano 편집기를 사용하여 새 구성 파일 security.json을 만듭니다.

cd /var/solr/data/
sudo -u solr nano security.json

다음 구성을 복사하여 붙여넣습니다.

{
  "authentication":{
    "blockUnknown": true,
    "class":"solr.BasicAuthPlugin",
    "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
    "realm":"My Solr users",
    "forwardCredentials": false
  },
  "authorization":{
    "class":"solr.RuleBasedAuthorizationPlugin",
    "permissions":[{"name":"all", "role":"admin"}],
    "user-role":{"solr":"admin"}
  }
}

구성을 저장하고 종료합니다.

그러면 암호가 SolrRocks인 새 관리 사용자 solr이 생성됩니다.

2. 다음으로 solr 서비스를 다시 시작하여 아래의 systemctl 명령을 사용하여 새 구성을 적용합니다.

sudo systemctl restart solr

3. Solr 인증을 확인하려면 웹 브라우저로 돌아가서 Solr 포트 8983과 함께 서버 IP 주소를 입력합니다.

이제 아래와 같이 Solr 로그인 페이지로 리디렉션됩니다.

사용자 이름 solr과 암호 SolrRocks를 입력한 다음 로그인 버튼을 클릭합니다.

그러면 Solr 대시보드가 표시됩니다.

보안 섹션에는 현재 사용 중인 사용자 이름과 역할이 포함된 자세한 인증 및 권한 부여 플러그인이 표시됩니다.

이제 기본 인증 플러그인으로 Solr 설치를 보호했습니다.

먼저 Solr 코어 생성

Solr에서 코어라는 용어는 단일 Lucene 인덱스를 가리키며 단일 Solr 배포에서 여러 코어를 생성할 수 있습니다.

각 코어에는 solrconfig.xml, 스키마 파일 등과 같은 트랜잭션 로그 및 구성 파일이 포함되어 있습니다. 또한 각 코어에서 서로 다른 구조로 데이터를 인덱싱할 수 있으며 서로 다른 애플리케이션/대상에게 제공될 수 있습니다.

solr 명령줄 또는 Solr 관리 대시보드를 사용하여 코어를 생성할 수 있습니다.

이 단계에서는 solr 명령줄을 사용하여 코어를 생성하는 방법을 배웁니다.

1. 코어를 생성하기 전에 Solr 자격 증명을 구성해야 합니다.

작업 디렉토리를 /opt/solr/bin으로 변경하고 기본 구성 solr.in.sh.origsolr.in.sh에 복사합니다. .

cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh

nano 편집기를 사용하여 solr.in.sh 구성을 편집하십시오.

sudo nano solr.in.sh

SOLR_AUTH_TYPE 옵션의 주석을 제거하고 값을 basic으로 변경합니다. 이렇게 하면 solr 명령에 기본 인증 플러그인을 사용하도록 지시합니다.

SOLR_AUTH_TYPE="basic"

SOLR_AUTHENTICATION_OPTS 옵션의 주석을 제거하고 아래와 같이 Solr 사용자 및 비밀번호로 값을 변경하십시오.

SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

구성을 저장하고 종료합니다.

2. 다음으로 아래 solr 명령을 사용하여 새 코어를 생성합니다. 이 예에서는 이름이 new_core이고 구성 이름이 ConfigName인 새 코어를 생성합니다.

su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"

3. 이제 Solr 관리 대시보드로 돌아가서 Solr 코어를 확인합니다.

아래와 같이 세부 정보 코어가 표시됩니다.

그리고 solr 명령줄을 사용하여 Solr 코어를 만들었습니다.

결론

축하합니다! Rocky Linux 시스템에서 Solr 설치를 배웠습니다. 또한 기본 인증 플러그인을 사용하여 Solr 배포를 보호하는 방법과 solr 명령줄에서 코어를 생성하는 방법을 배웠습니다.