플 링크에서 탄력적 인 제작자를 사용하고 싶지만 인증에 약간의 문제가 있습니다. Nginx를 신축성있는 검색 클러스터 앞에두고 기본 인증을 nginx에서 사용합니다. BasicAuth를 Flink에서 ElasticSearch Connector와 함께 사용하는 방법
그러나 탄성 검색 커넥터와 나는 (때문에 InetSocketAddress의) 내 URL에 기본 인증을 추가 할 수 없습니다
는기본적인 인증과 elasticsearch 커넥터를 사용하는 아이디어 있었나요?
감사합니다.
내 코드가있다 :
val configur = new java.util.HashMap[String, String]
configur.put("cluster.name", "cluster")
configur.put("bulk.flush.max.actions", "1000")
val transportAddresses = new java.util.ArrayList[InetSocketAddress]
transportAddresses.add(new InetSocketAddress(InetAddress.getByName("cluster.com"), 9300))
jsonOutput.filter(_.nonEmpty).addSink(new ElasticsearchSink(configur,
transportAddresses,
new ElasticsearchSinkFunction[String] {
def createIndexRequest(element: String): IndexRequest = {
val jsonMap = parse(element).values.asInstanceOf[java.util.HashMap[String, String]]
return Requests.indexRequest()
.index("flinkTest")
.source(jsonMap);
}
override def process(element: String, ctx: RuntimeContext, indexer: RequestIndexer) {
indexer.add(createIndexRequest(element))
}
}))
의 "아마존 RS에 FLINK 연결"부분에 설명되어 나는 2 개의 다른 프로토콜 내 나쁜 죄송가 이해가 안 주셔서 감사합니다. 하지만 내 플립 크 클러스터와 ES 클러스터는 동일한 로컬 네트워크 (동일한 공급자가 아님)에 있지 않으므로 HTTP 클라이언트를 사용해야하지만이 공식 클라이언트 플 링크/탄력성 검색을 찾지 못하므로 – FlinkNoob