3 호스트 nifi 클러스터를 구축했습니다. 작동하지만 균형기를 사용할 수 없습니다. 내가 할 수있는 것은 단일 호스트에 직접 연결하는 것뿐입니다. 누군가 밸런서를 사용하여 nifi 클러스터를 설정 했습니까? I.E. 인증서 문제는 어떻게 처리합니까?Nifi로드 밸런서
답변
UI 상호 작용이나 특정 프로세서/입력 소스의로드 밸런싱을 시도하고 있습니까? 1.0.0+에서 사용할 수있는 NiFi ZMC (zero-master clustering)를 사용하면 연결된 노드의 UI에 연결할 수 있고 & 흐름을 수정할 수 있습니다. 로드 밸런스 입력 데이터를 얻으려는 경우 주 노드에서 실행되는 단일 포인트 입력 프로세서 (아래 발췌 참조)를 제안한 다음 클러스터 전체에 데이터를 배포하거나로드 균형 조정을 즉시 필요로하는 경우 성능, 어쩌면 HAProxy 또는 다른 프론트 엔드로드 밸런서 (라운드 로빈 DNS)를 설정하고 사용 가능한 모든 노드를 가리 키십시오.
transmission between nodes을 허용하는 Remote Process Groups의 클러스터에서 작업의로드 균형을 조정하려는 경우 사용 가능한 NiFi 노드에서 데이터의 균형을 자동으로 조정합니다. NiFi Admin Guide
차 노드에서
는 : 모든 클러스터는 하나 개의 기본 노드가 있습니다. 이 노드에서 "격리 된 프로세서"(아래 참조)를 실행할 수 있습니다. ZooKeeper는 자동으로 기본 노드를 선택하는 데 사용됩니다. 어떤 이유로 든 노드가 클러스터에서 연결이 끊어지면 새 기본 노드가 자동으로 선택됩니다. 사용자는 사용자 인터페이스의 클러스터 관리 페이지에서 현재 주 노드로 선출 된 노드를 확인할 수 있습니다.
격리 된 프로세서 : NiFi 클러스터에서 모든 노드에서 동일한 데이터 흐름이 실행됩니다. 결과적으로 흐름의 모든 구성 요소는 모든 노드에서 실행됩니다. 그러나 DFM이 모든 노드에서 모든 프로세서를 실행하지 못하게 할 수 있습니다. 가장 일반적인 경우는 잘 확장되지 않는 프로토콜을 사용하여 외부 서비스와 통신하는 프로세서를 사용할 때입니다. 예를 들어, GetSFTP 프로세서가 원격 디렉토리에서 가져오고 GetSFTP 프로세서가 클러스터의 모든 노드에서 실행되면 동일한 원격 디렉토리에서 동시에 가져 오기를 시도하면 경쟁 조건이 발생할 수 있습니다. 따라서 DFM은 기본 노드의 GetSFTP가 격리되어 실행되도록 구성 할 수 있습니다. 즉, 해당 노드에서만 실행됩니다. 데이터를 가져 와서 적절한 데이터 흐름 구성으로 클러스터의 나머지 노드에서로드 균형을 조정할 수 있습니다. 이 기능이있는 동안 독립 실행 형 NiFi 인스턴스를 사용하여 데이터를 가져 와서 클러스터에 공급하는 작업도 매우 일반적입니다. 사용할 수있는 자원과 관리자가 클러스터 구성을 결정하는 방법에 따라 다릅니다.
안녕하세요 Andy, UI의 부하를 분산하려고합니다. 그러나 균형 조정기에는 몇 가지 문제가 있습니다. 요청이 밸런서를 통과하면 더 이상 로그인 할 수 없습니다. 또한 클러스터는 nifi.thiscompanydomain.com 뒤에 있으며 브라우저가 표시하는 인증서는 밸런서가 선택한 호스트에 따라 다릅니다. 각 호스트는 자체 인증서를 가지고 있기 때문에 몇 가지 문제가 발생합니다. – ozw1z5rd
알기. "로그인 할 수 없음"부분에 대한 자세한 내용이 필요합니다. 즉, 어떤 인증 메커니즘이 설치되어 있는지 등입니다.하지만 인증서 문제는 쉽게 해결할 수 있습니다. - nifi.thiscompanydomain.com을 SAN 항목으로 추가 할 수 있습니까? NiFi 인증서? – Andy
인증은 ldap입니다. 내가 확인하고 각 연결에 대한 균형 조정 라우터가 다른 호스트를 사용합니다. 이것은 엉망이되고있다. SAN에 관해, 네 .. 이것은 좋은 해결책이 될 수 있습니다. – ozw1z5rd