기술_Elasticsearch

전송

구일칠구 2022. 6. 25. 21:23

전송

REST 클라이언트는 HTTP 를 통해 Elasticsearch 클러스터에 요청을 보내지 만 클라이언트 요청을 수신하는 노드는 항상이를 단독으로 처리 할 수는 없으며 일반적으로 추가 처리를 위해 다른 노드로 전달해야합니다. 전송 네트워킹 계층을 사용하여이를 수행합니다. 전송 계층은 클러스터 내 노드 간의 모든 내부 통신, 원격 클러스터 의 노드와의 모든 통신 TransportClientElasticsearch Java API 에서 사용됩니다.

운송 프로파일

Elasticsearch를 사용하면 전송 프로필을 사용하여 서로 다른 인터페이스의 여러 포트에 바인딩 할 수 있습니다. 이 예제 구성보기

transport.profiles.default. 포트 : 9300 - (9400)transport.profiles.default. bind_host : 10.0.0.1transport.profiles.client. 포트 : 9500 - 9600transport.profiles.client. bind_host : 192.168.0.1transport.profiles.dmz. 포트 : 9700 - 9800transport.profiles.dmz. bind_host : 172.16.1.2

default프로파일은 특별하다. 특정 구성 설정이 설정되어 있지 않은 경우 다른 프로필에 대한 폴백으로 사용되며이 노드가 클러스터의 다른 노드에 연결되는 방식입니다.

위의 예에서와 같이 각 전송 프로필에서 다음 매개 변수를 구성 할 수 있습니다.

  • port: 바인딩 할 포트입니다.
  • bind_host: 바인딩 할 호스트입니다.
  • publish_host: 정보 API에 게시 된 호스트입니다.

프로필은 전송 설정 섹션에 지정된 다른 모든 전송 설정도 지원하며이를 기본값으로 사용합니다. 예를 들어 transport.profiles.client.tcp.reuse_address는 명시 적으로 구성 할 수 있으며 그렇지 않은 경우 기본값은 transport.tcp.reuse_address.

수명이 긴 유휴 연결

두 노드 간의 전송 연결은 수명이 긴 여러 TCP 연결로 구성되며, 그중 일부는 장기간 유휴 상태 일 수 있습니다. 그럼에도 불구하고 Elasticsearch는 이러한 연결을 개방 상태로 유지해야하며, 방화벽과 같은 외부 영향으로 노드 간 연결이 닫히면 클러스터 작동을 방해 할 수 있습니다. 예를 들어 tcp.keep_alive활성화 된 상태로두고 킵 얼라이브 간격이 유휴 연결을 닫을 수있는 시간 초과보다 짧게 유지하거나 transport.ping_schedule킵 얼라이브를 할 수없는 경우 설정하여 Elasticsearch 노드 간의 장기 유휴 연결을 유지하도록 네트워크를 구성하는 것이 중요 합니다. 구성. 특정 연령에 도달했을 때 연결을 끊는 장치는 Elasticsearch 클러스터의 일반적인 문제 원인이므로 사용해서는 안됩니다.

압축 요청

기본적으로 transport.compress설정은 false이며 클러스터의 노드 간에는 네트워크 수준 요청 압축이 비활성화됩니다. 압축은 CPU 비용이 눈에 띄고 로컬 클러스터가 노드 간 빠른 네트워크 연결로 설정되는 경향이 있으므로이 기본값은 일반적으로 로컬 클러스터 통신에 적합합니다.

transport.compress설정은 항상 로컬 클러스터 요청 압축을 구성하며 원격 클러스터 요청 압축을위한 대체 설정입니다. 원격 요청 압축을 로컬 요청 압축과 다르게 구성하려면 cluster.remote.${cluster_alias}.transport.compress설정을 사용하여 원격 클러스터별로 설정할 수 있습니다.

응답 압축

압축 설정은 응답에 대한 압축을 구성하지 않습니다. Elasticsearch는 압축이 활성화되지 않은 경우에도 인바운드 요청이 압축 된 경우 응답을 압축합니다. 마찬가지로 Elasticsearch는 압축이 활성화 된 경우에도 인바운드 요청이 압축되지 않은 경우 응답을 압축하지 않습니다.

운송 추적기

전송 계층에는 활성화되면 들어오고 나가는 요청을 기록하는 전용 추적 프로그램 로거가 있습니다. org.elasticsearch.transport.TransportService.tracer로거 수준을 다음과 같이 설정하여 로그를 동적으로 활성화 할 수 있습니다 TRACE.

'기술_Elasticsearch' 카테고리의 다른 글

O3fs (Hadoop 호환)  (0) 2022.08.10
샤드 요청 캐시 설정  (0) 2022.06.25
노드 쿼리 캐시 설정  (0) 2022.06.25
콜드 데이터 노드  (0) 2022.06.25
투표 전용 마스터 적격 노드  (0) 2022.06.25