0

데이터를 가져 오기 위해 nifi에 연결하는 flink 프로젝트가 있습니다. 설치 프로그램은 로컬에서 실행될 때 데이터 스트림을 가져 오기만하면됩니다.Apache Flink가 클러스터에서 UnknownHostException을 throw합니다.

.url("http://1.2.3.4:8080/nifi") 
      .portName("MyPortName") 
      .requestBatchCount(5) 
      .buildConfig(); 

하지만 원격 클러스터에 .JAR을 추가하고 작업을 실행할 때이 발생합니다 :

java.net.UnknownHostException 
at sun.nio.ch.Net.translateException(Net.java:177) 
at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:127) 
at org.apache.nifi.remote.client.socket.EndpointConnectionPool.establishSiteToSiteConnection(EndpointConnectionPool.java:712) 
at org.apache.nifi.remote.client.socket.EndpointConnectionPool.establishSiteToSiteConnection(EndpointConnectionPool.java:685) 
at org.apache.nifi.remote.client.socket.EndpointConnectionPool.getEndpointConnection(EndpointConnectionPool.java:301) 
at org.apache.nifi.remote.client.socket.SocketClient.createTransaction(SocketClient.java:129) 
at org.apache.flink.streaming.connectors.nifi.NiFiSource.run(NiFiSource.java:90) 
at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:78) 
at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:55) 
at org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:56) 
at org.apache.flink.streaming.runtime.tasks.StoppableSourceStreamTask.run(StoppableSourceStreamTask.java:39) 
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:272) 
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:655) 
at java.lang.Thread.run(Thread.java:745) 

내가 UnknownHostException을 위해 찾을 수있는 유일한 이유는이 때문이다의 IP 때문에 호스트 이름을 확인할 수 없지만 IP를 이미 제공하고 있습니다. 이전에 nifi에 연결할 수없는 문제가있었습니다. IP가 nifi 인스턴스에 액세스 할 수 있도록 설정해야하기 때문입니다. AWS 서버를 허용 된 위치에 추가 했으므로 고정되었지만 지금은 분명히 있습니다.

도움을 주시면 대단히 감사하겠습니다.

+0

어떤 NiFi 버전을 사용하고 있습니까? – James

답변

0

문제가 발생했습니다. 나는 다른 지역에 제 nifi 클러스터와 flink 클러스터를 가지고있었습니다. flink 클러스터를 같은 지역으로 이동하고 클러스터에 공개 또는 비공개 URL을 사용하면 정상적으로 작동합니다.