RPM 설치
원본 보기RPM 설치
Elasticsearch용 RPM 패키지는 웹사이트에서 다운로드 하거나 RPM 저장소에서 다운로드할 수 있습니다. 이 패키지는 openSUSE, SUSE Linux Enterprise Server(SLES), CentOS, Red Hat Enterprise Linux(RHEL), Oracle Linux와 같은 모든 RPM 기반 시스템에 Elasticsearch를 설치하는 데 사용할 수 있습니다.
SLES 11 및 CentOS 5처럼 이전 버전의 RPM을 사용하는 배포판에서는 RPM 설치가 지원되지 않습니다. 대신 Linux 또는 MacOS에서 아카이브로 Elasticsearch 설치 를 참조하세요.
이 패키지에는 무료 기능과 구독 기능이 모두 포함되어 있습니다. 30일 평가판을 시작 하여 모든 기능을 사용해 보세요.
Elasticsearch의 최신 안정 버전은 Elasticsearch 다운로드 페이지에서 확인할 수 있습니다. 다른 버전은 이전 릴리스 페이지에서 확인할 수 있습니다.
Elasticsearch에는 JDK 관리자가 제공하는 OpenJDK 번들 버전(GPLv2+CE)이 포함되어 있습니다. 자체 Java 버전을 사용하려면 JVM 버전 요구 사항을 참조하세요.
Elasticsearch를 설치하기 전에 다음을 수행하세요.
다음을 검토하고 지원되는 운영 체제 Elasticsearch를 설치할 가상 또는 물리적 호스트를 준비하세요.
Elasticsearch는 나열된 플랫폼에서 테스트되었지만 다른 플랫폼에서도 작동할 수 있습니다.
다음 중요 시스템 구성 지침을 사용하여 운영 체제를 구성하세요.
모든 패키지는 다음 지문을 가진 Elasticsearch 서명 키(PGP 키 D88E42B4이며 https://pgp.mit.edu)로 서명됩니다.
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
공개 서명 키를 다운로드하고 설치합니다.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Elasticsearch RPM 패키지를 설치하는 방법은 두 가지입니다.
- Elasticsearch 저장소를 정의합니다.
RedHat 기반 배포판에서는 elasticsearch.repo 파일을 /etc/yum.repos.d/ 디렉터리에 만들고 다음 구성을 포함하세요.
[elasticsearch]
name=Elasticsearch repository for 9.x packages
baseurl=https://artifacts.elastic.co/packages/9.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
type=rpm-md
openSUSE 기반 배포판에서는 elasticsearch.repo 파일을 /etc/zypp/repos.d/ 디렉터리에 만들고 다음 구성을 포함하세요.
[elasticsearch]
name=Elasticsearch repository for 9.x packages
baseurl=https://artifacts.elastic.co/packages/9.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
- 앞에서 정의한 저장소에서 Elasticsearch를 설치합니다.
Fedora 또는 Red Hat Enterprise Linux 8 이상을 사용하는 경우 다음 명령을 입력하여 Elasticsearch 패키지의 최신 버전인 9.5.1을 설치하세요.
sudo dnf install --enablerepo=elasticsearch elasticsearch
특정 Elasticsearch 버전을 설치하려면 <SPECIFIC.VERSION.NUMBER> 을 원하는 Elasticsearch 버전 번호로 바꾸세요. 예를 들어 <SPECIFIC.VERSION.NUMBER> 을 9.0.0으로 바꿀 수 있습니다.
sudo dnf install elasticsearch-<SPECIFIC.VERSION.NUMBER>
CentOS 또는 Red Hat Enterprise Linux 7 이하를 사용하는 경우 다음 명령을 입력하세요.
sudo yum install --enablerepo=elasticsearch elasticsearch
다음 명령을 입력하여 Elasticsearch 패키지의 최신 버전인 9.5.1을 설치하세요.
sudo zypper modifyrepo --enable elasticsearch && \
sudo zypper install elasticsearch; \
sudo zypper modifyrepo --disable elasticsearch
특정 Elasticsearch 버전을 설치하려면 <SPECIFIC.VERSION.NUMBER> 을 원하는 Elasticsearch 버전 번호로 바꾸세요. 예를 들어 <SPECIFIC.VERSION.NUMBER> 을 9.0.0으로 바꿀 수 있습니다.
sudo zypper modifyrepo --enable elasticsearch && \
sudo zypper install elasticsearch-<SPECIFIC.VERSION.NUMBER>; \
sudo zypper modifyrepo --disable elasticsearch
- 다음 명령으로 Elasticsearch RPM을 다운로드하고 설치합니다.
Elasticsearch 9.5.1 RPM을 다운로드하고 설치하려면 다음을 입력하세요.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.5.1-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.5.1-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-9.5.1-x86_64.rpm.sha512
sudo rpm --install elasticsearch-9.5.1-x86_64.rpm
- 다운로드한 RPM의 SHA와 게시된 체크섬을 비교합니다.
elasticsearch-<version>-x86_64.rpm: OK가 출력되어야 합니다.
systemd 기반 배포판에서는 설치 스크립트가 커널 매개변수(예: vm.max_map_count) 설정을 시도합니다. 다음 systemd-sysctl.service 유닛을 마스킹하여 이 단계를 건너뛸 수 있습니다.
다음 <SPECIFIC.VERSION.NUMBER> 을 원하는 Elasticsearch 버전 번호로 바꾸세요. 예를 들어 <SPECIFIC.VERSION.NUMBER> 을 9.0.0으로 바꿀 수 있습니다.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-<SPECIFIC.VERSION.NUMBER>-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-<SPECIFIC.VERSION.NUMBER>-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-<SPECIFIC.VERSION.NUMBER>-x86_64.rpm.sha512
sudo rpm --install elasticsearch-<SPECIFIC.VERSION.NUMBER>-x86_64.rpm
- 다운로드한 RPM의 SHA와 게시된 체크섬을 비교합니다.
elasticsearch-<SPECIFIC.VERSION.NUMBER>-x86_64.rpm: OK가 출력되어야 합니다.
systemd 기반 배포판에서는 설치 스크립트가 커널 매개변수(예: vm.max_map_count) 설정을 시도합니다. 다음 systemd-sysctl.service 유닛을 마스킹하여 이 단계를 건너뛸 수 있습니다.
- 설치 명령의 터미널 출력을 로컬 파일에 복사하세요. 특히 기본 제공
elastic슈퍼유저 계정의 비밀번호가 필요합니다. 출력에는 Elasticsearch를 서비스로 실행하도록 활성화하는 명령도 포함되어 있습니다.
Elasticsearch를 처음 시작하면 보안 자동 구성 프로세스가 HTTP 계층을 0.0.0.0에 바인딩하지만 전송 계층은 localhost에만 바인딩합니다. 이는 추가 구성 없이 기본적으로 보안이 활성화된 단일 노드 클러스터를 시작할 수 있도록 의도된 동작입니다.
새 노드를 등록하기 전에 localhost 이외의 주소에 바인딩하거나 부트스트랩 검사를 충족하는 등의 추가 작업이 프로덕션 클러스터에서 일반적으로 필요합니다. 그동안 자동 생성된 등록 토큰이 만료될 수 있으므로 등록 토큰은 자동으로 생성되지 않습니다.
추가 구성 없이 클러스터에 참여할 수 있는 노드는 동일한 호스트의 노드뿐입니다. 다른 호스트의 노드를 클러스터에 참여시키려면 인스턴스에 접근할 수 있도록 구성해야 합니다.
여러 호스트에 걸친 다중 노드 클러스터의 첫 번째 노드를 설치하는 경우 다른 호스트가 연결할 수 있도록 노드를 구성해야 합니다.
클러스터에 추가 노드를 설치하는 경우 등록 토큰을 생성한 다음 새 노드가 기존 클러스터에 참여하도록 재구성해야 합니다.
단일 노드 클러스터를 실행하는 경우 다음 단계로 건너뛰세요.
클러스터 구성 프로세스에 대한 자세한 내용은 검색 및 클러스터 구성을 참조하세요.
다른 호스트가 첫 번째 노드에 연결할 수 있도록 다음 파일의 설정을 편집하여 Elasticsearch 구성을 업데이트하세요. elasticsearch.yml:
다음 파일을
elasticsearch.yml텍스트 편집기에서 여세요.다중 노드 Elasticsearch 클러스터에서는 모든 Elasticsearch 인스턴스의 이름이 같아야 합니다.
구성 파일에서 다음 줄의 주석을 해제하고
#cluster.name: my-applicationElasticsearch 인스턴스에 원하는 이름을 지정하세요.cluster.name: elasticsearch-demo기본적으로 Elasticsearch는
localhost에서 실행됩니다. 다른 노드의 Elasticsearch 인스턴스가 클러스터에 참여할 수 있도록 Elasticsearch를 라우팅 가능한 외부 IP 주소에서 실행하도록 설정해야 합니다.다음 줄
#network.host: 192.168.0.1의 주석을 해제하고 기본 주소를0.0.0.0으로 바꾸세요.0.0.0.0설정을 사용하면 Elasticsearch가 사용 가능한 모든 네트워크 인터페이스에서 연결을 수신합니다. 프로덕션 환경에서는 정적 IP 주소나 다른 값(예: 정적 IP 주소 또는 호스트의 네트워크 인터페이스 참조)을 사용하는 것이 좋습니다.network.host: 0.0.0.0Elasticsearch가 다른 외부 호스트의 연결을 수신하도록 활성화해야 합니다.
다음 줄
#transport.host: 0.0.0.0의 주석을 해제하세요.0.0.0.0설정을 사용하면 Elasticsearch가 사용 가능한 모든 네트워크 인터페이스에서 연결을 수신합니다. 프로덕션 환경에서는 정적 IP 주소나 다른 값(예: 정적 IP 주소 또는 호스트의 네트워크 인터페이스 참조)을 사용하는 것이 좋습니다.transport.host: 0.0.0.0팁network.host및transport.host설정에 대한 자세한 내용은 Elasticsearch 네트워킹 설정 참조를 확인하세요.변경 사항을 저장하고 편집기를 닫으세요.
Elasticsearch를 설치하면 설치 프로세스가 기본적으로 단일 노드 클러스터를 구성합니다. 노드를 기존 클러스터에 참여시키려면 새 노드를 처음 시작하기 전에 기존 노드에서 등록 토큰을 생성하세요.
새 노드를 등록하기 전에 새 노드가 클러스터의 첫 번째 노드에 접근할 수 있는지 확인하세요. 첫 번째 노드에 다음 curl 명령을 실행하여 테스트할 수 있습니다.
첫 번째 노드에 접근할 수 없다면 계속하기 전에 네트워크 구성을 수정하세요.
기존 클러스터의 아무 노드에서나 노드 등록 토큰을 생성합니다.
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node등록 토큰의 유효 기간은 30분입니다. 추가하는 새 노드마다 새 등록 토큰을 생성해야 합니다.
터미널에 출력된 등록 토큰을 복사합니다.
새 Elasticsearch 노드에서 등록 토큰을 다음
elasticsearch-reconfigure-node도구에 매개변수로 전달합니다./usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <enrollment-token>다음
Do you want to continue프롬프트에yes(y)로 응답하세요. 새 Elasticsearch 노드가 재구성됩니다.새 Elasticsearch 인스턴스의
elasticsearch.yml파일을 텍스트 편집기에서 여세요.다음
elasticsearch-reconfigure-node도구가 여러 설정을 업데이트했습니다. 예:- 다음
transport.host: 0.0.0.0설정은 이미 주석이 해제되어 있습니다. - 다음
discovery_seed.hosts설정에는 지금까지 클러스터에 추가된 다른 Elasticsearch 노드의 IP 주소와 포트가 있습니다. 새 Elasticsearch 노드를 클러스터에 추가할 때마다discovery_seed.hosts설정에는 이전에 클러스터에 추가된 각 Elasticsearch 노드에 연결할 IP 주소와 포트 번호의 배열이 포함됩니다.
- 다음
구성 파일에서 다음 줄의 주석을 해제하고
#cluster.name: my-application첫 번째 Elasticsearch 노드에 지정한 이름과 일치하도록 설정하세요.cluster.name: elasticsearch-demo첫 번째 Elasticsearch 노드와 마찬가지로 Elasticsearch를 라우팅 가능한 외부 IP 주소에서 실행하도록 설정해야 합니다.
다음 줄
#network.host: 192.168.0.1의 주석을 해제하고 기본 주소를0.0.0.0으로 바꾸세요.0.0.0.0설정을 사용하면 Elasticsearch가 사용 가능한 모든 네트워크 인터페이스에서 연결을 수신합니다. 프로덕션 환경에서는 정적 IP 주소나 다른 값(예: 정적 IP 주소 또는 호스트의 네트워크 인터페이스 참조)을 사용하는 것이 좋습니다.network.host: 0.0.0.0변경 사항을 저장하고 편집기를 닫으세요.
클러스터에 추가하려는 각 Elasticsearch 노드에 대해 이 단계를 반복할 수 있습니다.
다중 노드 클러스터를 설정하는 경우 두 번째 노드를 클러스터에 추가하는 즉시 첫 번째 노드의 구성 파일을 업데이트 해야 합니다. 그렇지 않으면 첫 번째 노드를 다시 시작할 수 없습니다.
이 섹션은 이전에 action.auto_create_index 의 기본값을 변경한 경우에만 필요합니다.
일부 기능은 Elasticsearch 내에 인덱스를 자동으로 생성합니다. 기본적으로 Elasticsearch는 인덱스 자동 생성을 허용하도록 구성되므로 추가 단계가 필요하지 않습니다. 하지만 Elasticsearch에서 인덱스 자동 생성을 비활성화했다면 action.auto_create_index 에서 elasticsearch.yml 에서 기능이 다음 인덱스를 생성할 수 있도록 구성해야 합니다.
action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*
다음 Logstash 또는 Beats 를 사용하는 경우 action.auto_create_index 설정에 추가 인덱스 이름이 필요할 가능성이 높으며 정확한 값은 로컬 구성에 따라 달라집니다. 환경에 맞는 올바른 값을 모르는 경우 값을 * 로 설정하여 모든 인덱스의 자동 생성을 허용할 수 있습니다.
다음과 같이 Elasticsearch를 시작하고 중지할 수 있습니다.
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
이 명령은 Elasticsearch가 성공적으로 시작되었는지에 대한 피드백을 제공하지 않습니다. 대신 이 정보는 /var/log/elasticsearch/에 있는 로그 파일에 기록됩니다.
Elasticsearch 키 저장소를 비밀번호로 보호한 경우 로컬 파일과 systemd 환경 변수를 사용하여 systemd 에 키 저장소 비밀번호를 제공해야 합니다. 이 로컬 파일은 존재하는 동안 보호해야 하며 Elasticsearch가 실행되면 안전하게 삭제할 수 있습니다.
echo "keystore_password" > /path/to/my_pwd_file.tmp
chmod 600 /path/to/my_pwd_file.tmp
sudo systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp
sudo systemctl start elasticsearch.service
시스템 부팅 시 Elasticsearch가 자동으로 시작되도록 구성하려면 다음 명령을 실행하세요.
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
기본적으로 Elasticsearch 서비스는 systemd 저널에 정보를 기록하지 않습니다. journalctl 로깅을 활성화하려면 --quiet 파일의 ExecStart 명령줄에서 elasticsearch.service 옵션을 제거해야 합니다.
다음 systemd 로깅을 활성화하면 다음 journalctl 명령으로 로깅 정보를 확인할 수 있습니다.
저널을 실시간으로 확인하려면 다음을 실행합니다.
sudo journalctl -f
elasticsearch 서비스의 저널 항목을 나열하려면 다음을 실행합니다.
sudo journalctl --unit elasticsearch
지정된 시간 이후의 elasticsearch 서비스 저널 항목을 나열하려면 다음을 실행합니다.
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
더 많은 명령줄 옵션은 man journalctl 또는 https://www.freedesktop.org/software/systemd/man/journalctl.html 에서 확인하세요.
기본적으로 Elasticsearch는 TimeoutStartSec 매개변수를 systemd 에 900s로 설정합니다. 238 이상의 systemd를 실행하는 경우 Elasticsearch는 시작 시간 초과를 자동으로 연장할 수 있으며, 시작에 900초 이상 걸리더라도 완료될 때까지 반복해서 연장합니다.
버전 systemd 238 미만은 시간 초과 연장 메커니즘을 지원하지 않으며 구성된 시간 안에 Elasticsearch가 완전히 시작되지 않으면 프로세스를 종료합니다. 이 경우 Elasticsearch 로그에는 시작 직후 정상적으로 종료되었다고 기록됩니다.
[2022-01-31T01:22:31,077][INFO ][o.e.n.Node ] [instance-0000000123] starting ...
...
[2022-01-31T01:37:15,077][INFO ][o.e.n.Node ] [instance-0000000123] stopping ...
[2022-01-31T01:37:15,079][INFO ][o.e.n.Node ] [instance-0000000123] closing ...
[2022-01-31T01:37:15,080][INFO ][o.e.n.Node ] [instance-0000000123] closed
하지만 systemd 로그에는 시작 시간이 초과되었다고 기록됩니다.
Jan 31 01:22:30 debian systemd[1]: Starting Elasticsearch...
Jan 31 01:37:15 debian systemd[1]: elasticsearch.service: Start operation timed out. Terminating.
Jan 31 01:37:15 debian systemd[1]: elasticsearch.service: Main process exited, code=killed, status=15/TERM
Jan 31 01:37:15 debian systemd[1]: elasticsearch.service: Failed with result 'timeout'.
Jan 31 01:37:15 debian systemd[1]: Failed to start Elasticsearch.
이를 방지하려면 systemd를 238 이상으로 업그레이드하세요. TimeoutStartSec 매개변수를 연장하여 일시적으로 문제를 해결할 수도 있습니다. 업그레이드 후에도 시간 초과 오류가 계속되면 NotifyAccess=all을 systemd 재정의 구성에 설정하세요.
Elasticsearch를 처음 시작하면 다음 보안 설정이 자동으로 수행됩니다.
- 다음에 사용할 TLS 인증서를 생성합니다. 전송 및 HTTP 계층
- 다음에 TLS 구성 설정을 적용합니다.
elasticsearch.yml - Kibana를 Elasticsearch에 안전하게 연결할 등록 토큰을 생성합니다.
그런 다음 Kibana를 시작하고 30분 동안 유효한 등록 토큰을 입력할 수 있습니다. 이 토큰은 Elasticsearch 클러스터의 보안 설정을 자동으로 적용하고 기본 제공 kibana 서비스 계정으로 Elasticsearch에 인증한 후 보안 구성을 kibana.yml에 기록합니다.
노드 시작 프로세스에서 노드가 이미 클러스터의 일부이거나 보안이 이미 구성되었거나 명시적으로 비활성화되었음을 감지하여 보안을 자동으로 구성할 수 없는 경우 가 있습니다.
Elasticsearch는 터미널이 아닌 systemd 에서 실행되므로 Elasticsearch를 처음 시작할 때 elastic 슈퍼유저 비밀번호가 출력되지 않습니다. 다음 elasticsearch-reset-password 도구를 사용하여 사용자의 비밀번호를 설정하세요. 클러스터에서 한 번만 수행하면 되며 첫 번째 노드가 시작되는 즉시 수행할 수 있습니다.
bin/elasticsearch-reset-password -u elastic
다음 elastic 비밀번호를 셸의 환경 변수로 저장하는 것이 좋습니다. 예:
export ELASTIC_PASSWORD="your_password"
Elasticsearch 키 저장소를 비밀번호로 보호한 경우 키 저장소 비밀번호를 입력하라는 메시지가 표시됩니다. 자세한 내용은 보안 설정 을 참조하세요.
이 비밀번호를 재설정하는 방법은 자체 관리형 클러스터에서 네이티브 및 기본 제공 사용자의 비밀번호 설정을 참조하세요.
다음의 9200 포트로 HTTPS 요청을 보내 Elasticsearch 노드가 실행 중인지 테스트할 수 있습니다. localhost:
curl --cacert /etc/elasticsearch/certs/http_ca.crt
-u elastic:$ELASTIC_PASSWORD https://localhost:9200
--cacert: HTTP 계층용으로 생성된http_ca.crt인증서의 경로입니다.- 다음
$ELASTIC_PASSWORD을elastic슈퍼유저 비밀번호로 바꾸세요. 호출에https를 사용해야 합니다. 그렇지 않으면 요청이 실패합니다.
호출은 다음과 같은 응답을 반환합니다.
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "9.0.0-SNAPSHOT",
"build_type" : "tar",
"build_hash" : "f27399d",
"build_flavor" : "default",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "10.0.0",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}
다중 노드 클러스터를 배포하는 경우 elasticsearch-reconfigure-node 도구가 새로 등록된 각 노드의 discovery.seed_hosts 설정에 모든 기존 노드를 추가합니다. 하지만 클러스터의 각 노드가 예상대로 다시 시작하여 클러스터에 재참여할 수 있도록 모든 노드로 돌아가 편집해야 합니다.
클러스터의 초기 노드는 단일 노드 클러스터로 부트스트랩되므로 discovery.seed_hosts 가 구성되어 있지 않습니다. 이 설정은 다중 노드 클러스터에 필수이며 첫 번째 노드에 수동으로 추가해야 합니다.
클러스터의 각 노드에서 다음 단계를 수행하세요.
- 다음 파일을
elasticsearch.yml텍스트 편집기에서 여세요. - 다음
cluster.initial_master_nodes설정이 있으면 주석 처리하거나 제거하세요. - 다음
discovery.seed_hosts값에 클러스터의 마스터 적격 Elasticsearch 노드 각각의 IP 주소와 포트가 포함되도록 업데이트하세요. 클러스터의 첫 번째 노드에는discovery.seed_hosts설정을 수동으로 추가해야 합니다. - 필요한 경우 Elasticsearch 서비스를 다시 시작 하여 구성 변경 사항을 검증하세요.
이 단계를 수행하지 않으면 하나 이상의 노드가 다시 시작될 때 검색 구성 부트스트랩 검사 에 실패합니다.
자세한 내용은 검색 및 클러스터 구성을 참조하세요.
다음 /etc/elasticsearch 디렉터리에는 Elasticsearch의 기본 런타임 구성이 있습니다. 패키지 설치 시 이 디렉터리와 포함된 모든 파일의 소유권은 root:elasticsearch 로 설정됩니다.
다음 setgid 플래그는 Elasticsearch가 포함된 모든 파일과 하위 디렉터리를 읽을 수 있도록 /etc/elasticsearch 디렉터리에 그룹 권한을 적용합니다. 모든 파일과 하위 디렉터리는 root:elasticsearch 소유권을 상속합니다. 이 디렉터리나 하위 디렉터리에서 다음과 같은 명령을 실행하려면 elasticsearch-keystore 도구에 root:elasticsearch 권한이 필요합니다.
Elasticsearch는 기본적으로 /etc/elasticsearch/elasticsearch.yml 파일에서 구성을 로드합니다. 이 구성 파일의 형식은 Elasticsearch 구성에서 설명합니다.
RPM 패키지에는 다음 경로에 시스템 구성 파일도 있습니다.
/etc/sysconfig/elasticsearch
이 파일에서 다음 매개변수를 설정할 수 있습니다.
| 매개변수 | 설명 |
|---|---|
ES_JAVA_HOME |
사용할 사용자 지정 Java 경로를 설정합니다. |
ES_PATH_CONF |
구성 파일 디렉터리(elasticsearch.yml, jvm.options, log4j2.properties 파일을 포함해야 함)이며 기본값은 /etc/elasticsearch입니다. |
ES_JAVA_OPTS |
적용할 추가 JVM 시스템 속성입니다. |
RESTART_ON_UPGRADE |
패키지 업그레이드 시 다시 시작하도록 구성합니다. 기본값은 false입니다. 즉, 패키지를 설치한 후 Elasticsearch 인스턴스를 수동으로 다시 시작해야 합니다. 이는 클러스터 업그레이드로 인해 지속적인 샤드 재할당이 발생하여 네트워크 트래픽이 높아지고 클러스터 응답 시간이 저하되는 것을 방지하기 위한 것입니다. |
다음 systemd 를 사용하는 배포판에서는 시스템 리소스 제한을 /etc/sysconfig/elasticsearch 파일이 아닌 systemd 를 통해 구성해야 합니다. 자세한 내용은 Systemd 구성 을 참조하세요.
Elasticsearch를 처음 시작하면 HTTP 계층에 TLS가 자동으로 구성됩니다. CA 인증서가 생성되어 다음 경로에 저장됩니다.
/etc/elasticsearch/certs/http_ca.crt
이 인증서의 16진수 인코딩 SHA-256 지문도 터미널에 출력됩니다. 다음 Elasticsearch 클라이언트, Beats, 독립 실행형 Elastic Agent, Logstash 등 Elasticsearch에 연결하는 모든 클라이언트는 Elasticsearch가 HTTPS에 사용하는 인증서를 신뢰하는지 검증해야 합니다. Fleet Server 및 Fleet 관리형 Elastic Agent는 CA 인증서를 자동으로 신뢰하도록 구성됩니다. 다른 클라이언트는 CA 인증서의 지문이나 CA 인증서 자체를 사용하여 신뢰를 설정할 수 있습니다.
자동 구성 프로세스가 이미 완료된 경우에도 보안 인증서의 지문을 얻을 수 있습니다. CA 인증서를 시스템에 복사하고 클라이언트가 사용하도록 구성할 수도 있습니다.
Elasticsearch가 시작될 때 터미널에 출력되는 지문 값을 복사하고, Elasticsearch에 연결할 때 이 지문으로 신뢰를 설정하도록 클라이언트를 구성하세요.
자동 구성 프로세스가 이미 완료된 경우에도 다음 명령을 실행하여 보안 인증서의 지문을 얻을 수 있습니다. 경로는 HTTP 계층용으로 자동 생성된 CA 인증서를 가리킵니다.
openssl x509 -fingerprint -sha256 -in config/certs/http_ca.crt
명령은 지문을 포함한 보안 인증서를 반환합니다. issuer는 Elasticsearch security auto-configuration HTTP CA여야 합니다.
issuer= /CN=Elasticsearch security auto-configuration HTTP CA
SHA256 Fingerprint=<fingerprint>
라이브러리가 지문 검증 방법을 지원하지 않는 경우 자동 생성된 CA 인증서는 각 Elasticsearch 노드의 다음 디렉터리에 생성됩니다.
/etc/elasticsearch/certs/http_ca.crt
다음 http_ca.crt 파일을 시스템에 복사하고 Elasticsearch에 연결할 때 이 인증서를 사용하여 신뢰를 설정하도록 클라이언트를 구성하세요.
RPM은 구성 파일, 로그, 데이터 디렉터리를 RPM 기반 시스템의 적절한 위치에 배치합니다.
| 유형 | 설명 | 기본 위치 | 설정 |
|---|---|---|---|
| 홈 | Elasticsearch 홈 디렉터리 또는 $ES_HOME |
/usr/share/elasticsearch |
|
| 바이너리 | 노드를 시작하는 elasticsearch 및 플러그인을 설치하는 elasticsearch-plugin 등의 바이너리 스크립트 |
/usr/share/elasticsearch/bin |
|
| 구성 | 다음을 포함한 구성 파일: elasticsearch.yml |
/etc/elasticsearch |
ES_PATH_CONF |
| 구성 | 힙 크기, 파일 설명자 등의 환경 변수입니다. | /etc/sysconfig/elasticsearch |
|
| 구성 | 전송 및 HTTP 계층용으로 생성된 TLS 키와 인증서입니다. | /etc/elasticsearch/certs |
|
| 데이터 | 노드에 할당된 각 인덱스/샤드의 데이터 파일 위치입니다. | /var/lib/elasticsearch |
path.data |
| JDK | Elasticsearch 실행에 사용되는 번들 Java Development Kit입니다. ES_JAVA_HOME 환경 변수를 /etc/sysconfig/elasticsearch에서 설정하여 재정의할 수 있습니다. |
/usr/share/elasticsearch/jdk |
|
| 로그 | 로그 파일 위치입니다. | /var/log/elasticsearch |
path.logs |
| 플러그인 | 플러그인 파일 위치입니다. 각 플러그인은 하위 디렉터리에 포함됩니다. | /usr/share/elasticsearch/plugins |
|
| 저장소 | 공유 파일 시스템 저장소 위치입니다. 여러 위치를 포함할 수 있습니다. 파일 시스템 저장소는 여기에 지정된 디렉터리의 모든 하위 디렉터리에 배치할 수 있습니다. | 구성되지 않음 | path.repo |
이제 테스트 Elasticsearch 환경이 설정되었습니다. 본격적인 개발을 시작하거나 Elasticsearch를 프로덕션에 적용하기 전에 몇 가지 추가 설정을 수행해야 합니다.
- Elasticsearch를 구성하는 방법을 알아보세요.
- 중요한 Elasticsearch 설정을 구성하세요.
- 다음을 설치하세요: Kibana. 모든 Elastic 솔루션을 위한 사용자 인터페이스입니다.
다음 작업도 수행할 수 있습니다.
- 추가 Elastic Stack 구성 요소 설치를 고려하세요.
- Elasticsearch로 데이터를 수집하는 방법을 알아보세요.
- 프로덕션 고려 사항을 알아보세요.
- 다음을 살펴보고 기타 주제 클러스터를 보호하고 관리하는 방법을 알아보세요.