Debian 패키지 설치

원본 보기

Debian 패키지 설치

Elasticsearch용 Debian 패키지는 웹사이트에서 다운로드 하거나 APT 저장소. 이 패키지는 Debian 및 Ubuntu 같은 모든 Debian 기반 시스템에 Elasticsearch를 설치하는 데 사용할 수 있습니다.

이 패키지에는 무료 기능과 구독 기능이 모두 포함되어 있습니다. 30일 평가판 시작 하여 모든 기능을 사용해 보세요.

Elasticsearch의 최신 안정 버전은 Elasticsearch 다운로드 페이지에서 확인할 수 있습니다. 다른 버전은 이전 릴리스 페이지.

참고

Elasticsearch에는 OpenJDK 의 JDK 유지 관리자가 제공하는 번들 버전(GPLv2+CE)이 포함되어 있습니다. 자체 Java 버전을 사용하려면 JVM 버전 요구 사항.

Elasticsearch를 설치하기 전에 다음을 수행하세요:

  • 지원되는 운영 체제 를 검토하고 Elasticsearch를 설치할 가상 또는 물리적 호스트를 준비하세요.

    Elasticsearch는 명시된 플랫폼에서 테스트되지만 다른 플랫폼에서도 작동할 수 있습니다.

  • 중요 시스템 구성 지침에 따라 운영 체제를 구성하세요.

모든 패키지는 Elasticsearch 서명 키(PGP 키 D88E42B4, https://pgp.mit.edu에서 제공)로 서명되며 지문은 다음과 같습니다:

4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
		

공개 서명 키를 다운로드하고 설치하세요:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
		

Elasticsearch Debian 패키지는 다음 방법으로 설치할 수 있습니다:

  1. 계속하기 전에 Debian에 apt-transport-https 패키지를 설치해야 할 수 있습니다:

    sudo apt-get install apt-transport-https
    		
  2. 저장소 정의를 /etc/apt/sources.list.d/elastic-9.x.list에 저장하세요:

    echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list
    		
  3. Elasticsearch Debian 패키지를 설치하세요:

    최신 Elasticsearch 9.5.1 패키지를 설치하려면 다음을 입력하세요:

    sudo apt-get update && sudo apt-get install elasticsearch
    		

    특정 버전의 Elasticsearch 패키지를 설치하려면 <SPECIFIC.VERSION.NUMBER> 을 원하는 Elasticsearch 버전 번호로 바꾸세요. 예를 들어 <SPECIFIC.VERSION.NUMBER> 을 9.0.0으로 바꿀 수 있습니다.

    sudo apt-get update && sudo apt-get install elasticsearch=<SPECIFIC.VERSION.NUMBER>
    		
참고

이 지침에서 add-apt-repository 을 사용하지 않는 이유는 다음과 같습니다:

  1. add-apt-repository는 시스템의 /etc/apt/sources.list 파일에 항목을 추가하며, /etc/apt/sources.list.d의 깔끔한 저장소별 파일을 사용하지 않습니다.

  2. add-apt-repository 은 많은 배포판의 기본 설치에 포함되지 않으며 여러 비기본 종속성이 필요합니다.

  3. 이전 버전의 add-apt-repository 은 항상 deb-src 항목을 추가합니다. 소스 패키지를 제공하지 않으므로 오류가 발생합니다. deb-src 항목을 추가했다면 deb-src 줄을 삭제할 때까지 다음과 같은 오류가 표시됩니다:

    Unable to find expected entry 'main/source/Sources' in Release file
    (Wrong sources.list entry or malformed file)
    		
경고

동일한 Elasticsearch 저장소에 두 항목이 있으면 apt-get update 실행 중 다음과 같은 오류가 표시됩니다:

Duplicate sources.list entry https://artifacts.elastic.co/packages/9.x/apt/ ...
		

/etc/apt/sources.list.d/elasticsearch-9.x.list 에서 중복 항목을 확인하거나 /etc/apt/sources.list.d/ 의 파일과 /etc/apt/sources.list 파일에서 중복 항목을 찾으세요.

참고

systemd 기반 배포판에서는 설치 스크립트가 커널 매개변수(예: vm.max_map_count)를 설정하려고 합니다. systemd-sysctl.service 유닛을 마스킹하여 이 작업을 건너뛸 수 있습니다.

Elasticsearch용 Debian 패키지는 웹사이트에서 다운로드하여 다음과 같이 설치할 수 있습니다:

Elasticsearch 9.5.1 패키지를 다운로드하고 설치하려면 다음을 입력하세요:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.5.1-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.5.1-amd64.deb.sha512
shasum -a 512 -c elasticsearch-9.5.1-amd64.deb.sha512
sudo dpkg -i elasticsearch-9.5.1-amd64.deb
		
  1. 다운로드한 Debian 패키지의 SHA와 게시된 체크섬을 비교합니다. 출력은 elasticsearch-<version>-amd64.deb: OK.

<SPECIFIC.VERSION.NUMBER> 을 원하는 Elasticsearch 버전 번호로 바꾸세요. 예를 들어 <SPECIFIC.VERSION.NUMBER> 을 9.0.0으로 바꿀 수 있습니다.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-<SPECIFIC.VERSION.NUMBER>-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-<SPECIFIC.VERSION.NUMBER>-amd64.deb.sha512
shasum -a 512 -c elasticsearch-<SPECIFIC.VERSION.NUMBER>-amd64.deb.sha512
sudo dpkg -i elasticsearch-<SPECIFIC.VERSION.NUMBER>-amd64.deb
		
  1. 다운로드한 Debian 패키지의 SHA와 게시된 체크섬을 비교합니다. 출력은 elasticsearch-<SPECIFIC.VERSION.NUMBER>-amd64.deb: OK.

Elasticsearch가 처음 시작될 때 보안 자동 구성 프로세스는 HTTP 계층을 0.0.0.0에 바인딩하지만 전송 계층은 localhost에만 바인딩합니다. 이는 추가 구성 없이 기본적으로 보안이 활성화된 단일 노드 클러스터를 시작할 수 있도록 의도된 동작입니다.

새 노드를 등록하기 전에 localhost 이외의 주소에 바인딩하거나 부트스트랩 검사를 충족하는 등의 추가 작업이 프로덕션 클러스터에서 일반적으로 필요합니다. 그 과정에서 자동 생성된 등록 토큰이 만료될 수 있으므로 등록 토큰은 자동 생성되지 않습니다.

추가 구성 없이 클러스터에 참여할 수 있는 노드는 동일한 호스트의 노드뿐입니다. 다른 호스트의 노드를 클러스터에 참여시키려면 인스턴스에 접근할 수 있도록 구성해야 합니다.

단일 노드 클러스터를 실행하는 경우 다음 단계로 건너뛰세요.

클러스터 구성 프로세스에 대한 자세한 내용은 검색 및 클러스터 구성을 참조하세요.

다른 호스트가 첫 번째 노드에 연결할 수 있도록 elasticsearch.yml의 설정을 편집하여 이 첫 번째 노드의 Elasticsearch 구성을 업데이트하세요:

  1. 텍스트 편집기에서 elasticsearch.yml 을 여세요.

  2. 다중 노드 Elasticsearch 클러스터에서는 모든 Elasticsearch 인스턴스의 이름이 같아야 합니다.

    구성 파일에서 #cluster.name: my-application 줄의 주석을 해제하고 Elasticsearch 인스턴스에 원하는 이름을 지정하세요:

    cluster.name: elasticsearch-demo
    		
  3. 기본적으로 Elasticsearch는 localhost에서 실행됩니다. 다른 노드의 Elasticsearch 인스턴스가 클러스터에 참여하려면 라우팅 가능한 외부 IP 주소에서 Elasticsearch가 실행되도록 설정해야 합니다.

    #network.host: 192.168.0.1 줄의 주석을 해제하고 기본 주소를 0.0.0.0로 바꾸세요. 0.0.0.0 설정을 사용하면 Elasticsearch가 사용 가능한 모든 네트워크 인터페이스에서 연결을 수신합니다. 프로덕션 환경에서는 다른 값을 사용할 수 있습니다. 예를 들면 정적 IP 주소나 호스트의 네트워크 인터페이스 참조입니다.

    network.host: 0.0.0.0
    		
  4. Elasticsearch가 다른 외부 호스트의 연결을 수신하도록 설정해야 합니다.

    #transport.host: 0.0.0.0 줄의 주석을 해제하세요. 0.0.0.0 설정을 사용하면 Elasticsearch가 사용 가능한 모든 네트워크 인터페이스에서 연결을 수신합니다. 프로덕션 환경에서는 다른 값을 사용할 수 있습니다. 예를 들면 정적 IP 주소나 호스트의 네트워크 인터페이스 참조입니다.

    transport.host: 0.0.0.0
    		

    network.hosttransport.host 설정에 대한 자세한 내용은 Elasticsearch 네트워킹 설정 참조.

  5. 변경 사항을 저장하고 편집기를 닫으세요.

Elasticsearch를 설치하면 설치 프로세스가 기본적으로 단일 노드 클러스터를 구성합니다. 노드를 기존 클러스터에 참여시키려면 새 노드를 처음 시작하기 전에 기존 노드에서 등록 토큰을 생성하세요.

새 노드를 등록하기 전에 새 노드가 클러스터의 첫 번째 노드에 접근할 수 있는지 확인하세요. 첫 번째 노드에 curl 명령을 실행하여 테스트할 수 있습니다.

첫 번째 노드에 접근할 수 없다면 계속하기 전에 네트워크 구성을 수정하세요.

  1. 기존 클러스터의 아무 노드에서나 노드 등록 토큰을 생성하세요:

    /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
    		

    등록 토큰의 유효 기간은 30분입니다. 추가하는 새 노드마다 새 등록 토큰을 생성해야 합니다.

  2. 터미널에 출력된 등록 토큰을 복사하세요.

  3. 새 Elasticsearch 노드에서 등록 토큰을 elasticsearch-reconfigure-node 도구의 매개변수로 전달하세요:

    /usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <enrollment-token>
    		

    Do you want to continue 프롬프트에 yes (y)로 응답하세요. 새 Elasticsearch 노드가 재구성됩니다.

  4. 텍스트 편집기에서 새 Elasticsearch 인스턴스의 elasticsearch.yml 파일을 여세요.

    elasticsearch-reconfigure-node 도구가 여러 설정을 업데이트했습니다. 예:

    • transport.host: 0.0.0.0 설정은 이미 주석이 해제되어 있습니다.
    • discovery_seed.hosts 설정에는 지금까지 클러스터에 추가된 다른 Elasticsearch 노드의 IP 주소와 포트가 있습니다. 새 Elasticsearch 노드를 추가할 때마다 discovery_seed.hosts 설정에는 이전에 추가된 각 Elasticsearch 노드에 연결할 IP 주소와 포트 번호 배열이 포함됩니다.
  5. 구성 파일에서 #cluster.name: my-application 줄의 주석을 해제하고 첫 번째 Elasticsearch 노드에 지정한 이름과 일치하도록 설정하세요:

    cluster.name: elasticsearch-demo
    		
  6. 첫 번째 Elasticsearch 노드와 마찬가지로 라우팅 가능한 외부 IP 주소에서 Elasticsearch가 실행되도록 설정해야 합니다.

    #network.host: 192.168.0.1 줄의 주석을 해제하고 기본 주소를 0.0.0.0로 바꾸세요. 0.0.0.0 설정을 사용하면 Elasticsearch가 사용 가능한 모든 네트워크 인터페이스에서 연결을 수신합니다. 프로덕션 환경에서는 다른 값을 사용, 예를 들어 정적 IP 주소나 호스트의 네트워크 인터페이스.

    network.host: 0.0.0.0
    		
  7. 변경 사항을 저장하고 편집기를 닫으세요.

클러스터에 추가하려는 각 Elasticsearch 노드에 대해 이 단계를 반복할 수 있습니다.

경고

다중 노드 클러스터를 설정하는 경우 두 번째 노드를 추가하는 즉시 첫 번째 노드의 구성 파일을 업데이트 해야 합니다. 그렇지 않으면 첫 번째 노드를 다시 시작할 수 없습니다.

이 섹션은 이전에 action.auto_create_index 을 기본값에서 변경한 경우에만 필요합니다.

일부 기능은 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 /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
		

다음과 같이 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 서비스는 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 에서 확인하세요.

이전 systemd 버전의 시작 시간 초과

기본적으로 Elasticsearch는 TimeoutStartSec 매개변수를 systemd 에서 900s로 설정합니다. systemd버전 238 이상에서는 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=allsystemd 재정의 구성.

Elasticsearch를 처음 시작하면 다음 보안 설정이 자동으로 수행됩니다:

그런 다음 Kibana를 시작하고 30분 동안 유효한 등록 토큰을 입력할 수 있습니다. 이 토큰은 Elasticsearch 클러스터의 보안 설정을 자동으로 적용하고 기본 제공 kibana 서비스 계정으로 Elasticsearch에 인증하며 보안 구성을 kibana.yml.

참고

노드가 이미 클러스터의 일부이거나 보안이 이미 구성 또는 명시적으로 비활성화된 것으로 감지되어 자동 보안 구성이 불가능한 경우 가 있습니다.

Elasticsearch는 터미널이 아니라 systemd 에서 실행되므로 처음 시작할 때 elastic 슈퍼유저 암호가 출력되지 않습니다. elasticsearch-reset-password 도구를 사용하여 암호를 설정하세요. 클러스터에서 한 번만 수행하면 되며 첫 번째 노드가 시작되는 즉시 수행할 수 있습니다.

bin/elasticsearch-reset-password -u elastic
		

elastic 암호를 셸의 환경 변수로 저장하는 것이 좋습니다. 예:

export  ELASTIC_PASSWORD="your_password"
		

Elasticsearch 키 저장소를 암호로 보호한 경우 키 저장소 암호를 입력하라는 메시지가 표시됩니다. 자세한 내용은 보안 설정 을 참조하세요.

이 암호를 재설정하는 방법은 자체 관리형 클러스터에서 네이티브 및 기본 제공 사용자의 암호 설정.

Elasticsearch 노드의 실행 여부는 9200localhost:

curl --cacert /etc/elasticsearch/certs/http_ca.crt
-u elastic:$ELASTIC_PASSWORD https://localhost:9200
		
  1. --cacert: HTTP 계층용으로 생성된 http_ca.crt 인증서의 경로입니다.
  2. $ELASTIC_PASSWORDelastic 슈퍼유저 암호로 바꾸세요. 호출에 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 이 구성되어 있지 않습니다. 이 설정은 다중 노드 클러스터에 필수이며 첫 번째 노드에 수동으로 추가해야 합니다.

클러스터의 각 노드에서 다음 단계를 수행하세요:

  1. 텍스트 편집기에서 elasticsearch.yml 을 여세요.
  2. cluster.initial_master_nodes 설정이 있으면 주석 처리하거나 제거하세요.
  3. discovery.seed_hosts 값에 클러스터 내 마스터 적격 Elasticsearch 노드 각각의 IP 주소와 포트가 포함되도록 업데이트하세요. 첫 번째 노드에는 discovery.seed_hosts 설정을 수동으로 추가해야 합니다.
  4. 필요한 경우 Elasticsearch 서비스를 다시 시작 하여 구성 변경 사항을 검증하세요.

이 단계를 수행하지 않으면 하나 이상의 노드가 다시 시작될 때 검색 구성 부트스트랩 검사 에 실패합니다.

자세한 내용은 검색 및 클러스터 구성.

/etc/elasticsearch 디렉터리에는 Elasticsearch의 기본 런타임 구성이 포함되어 있습니다. 패키지 설치 시 이 디렉터리와 모든 파일의 소유권은 root:elasticsearch 으로 설정됩니다.

setgid 플래그는 /etc/elasticsearch 디렉터리에 그룹 권한을 적용하여 Elasticsearch가 포함된 파일과 하위 디렉터리를 읽을 수 있게 합니다. 모든 파일과 하위 디렉터리는 root:elasticsearch 소유권을 상속합니다. 이 디렉터리나 하위 디렉터리에서 elasticsearch-keystore 도구같은 명령을 실행하려면 root:elasticsearch 권한이 필요합니다.

Elasticsearch는 기본적으로 /etc/elasticsearch/elasticsearch.yml 파일에서 구성을 불러옵니다. 이 구성 파일의 형식은 Elasticsearch 구성.

Debian 패키지에는 다음 경로에 시스템 구성 파일도 있습니다:

/etc/default/elasticsearch
		

이 파일에서 다음 매개변수를 설정할 수 있습니다:

매개변수 설명
ES_JAVA_HOME 사용할 사용자 지정 Java 경로를 설정합니다.
ES_PATH_CONF 구성 파일 디렉터리( elasticsearch.yml, jvm.optionslog4j2.properties 파일 포함 필요). 기본값은 /etc/elasticsearch.
ES_JAVA_OPTS 적용할 추가 JVM 시스템 속성입니다.
RESTART_ON_UPGRADE 패키지 업그레이드 시 다시 시작하도록 구성합니다. 기본값은 false입니다. 즉, 패키지를 수동으로 설치한 후 Elasticsearch 인스턴스를 다시 시작해야 합니다. 이는 클러스터 업그레이드로 지속적인 샤드 재할당과 높은 네트워크 트래픽이 발생하여 응답 시간이 느려지는 것을 방지하기 위함입니다.
참고

systemd 을 사용하는 배포판에서는 시스템 리소스 제한을 /etc/default/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가 시작될 때 터미널에 출력되는 지문 값을 복사하고 연결 시 이 지문으로 신뢰를 설정하도록 클라이언트를 구성하세요.

자동 구성이 이미 완료되었더라도 다음 명령으로 보안 인증서 지문을 얻을 수 있습니다. 이 경로는 HTTP 계층용 자동 생성 CA 인증서의 경로입니다.

openssl x509 -fingerprint -sha256 -in config/certs/http_ca.crt
		

명령은 지문을 포함한 보안 인증서를 반환합니다. issuerElasticsearch 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 연결 시 이 인증서로 신뢰를 설정하도록 클라이언트를 구성하세요.

Debian 패키지는 구성 파일, 로그, 데이터 디렉터리를 Debian 기반 시스템에 적합한 위치에 배치합니다:

유형 설명 기본 위치 설정
Elasticsearch 홈 디렉터리 또는 $ES_HOME /usr/share/elasticsearch
바이너리 노드를 시작하는 elasticsearch 및 플러그인을 설치하는 elasticsearch-plugin 등의 바이너리 스크립트 /usr/share/elasticsearch/bin
구성 등을 포함한 구성 파일 elasticsearch.yml /etc/elasticsearch ES_PATH_CONF
구성 힙 크기, 파일 설명자 등의 환경 변수입니다. /etc/default/elasticsearch
구성 전송 및 HTTP 계층용으로 생성된 TLS 키와 인증서입니다. /etc/elasticsearch/certs
데이터 노드에 할당된 각 인덱스/샤드의 데이터 파일 위치입니다. /var/lib/elasticsearch path.data
JDK Elasticsearch 실행에 사용되는 번들 Java Development Kit입니다. ES_JAVA_HOME 에서 /etc/default/elasticsearch. /usr/share/elasticsearch/jdk
로그 로그 파일 위치입니다. /var/log/elasticsearch path.logs
플러그인 플러그인 파일 위치입니다. 각 플러그인은 하위 디렉터리에 포함됩니다. /usr/share/elasticsearch/plugins
저장소 공유 파일 시스템 저장소 위치입니다. 여러 위치를 포함할 수 있으며 파일 시스템 저장소는 지정된 디렉터리의 하위 디렉터리에 배치할 수 있습니다. 구성되지 않음 path.repo

이제 테스트 Elasticsearch 환경이 설정되었습니다. 본격적인 개발이나 프로덕션 배포 전에 추가 설정을 수행해야 합니다:

다음 작업도 수행할 수 있습니다: