我们使用Kafka Streams库进行流处理。但是我们遇到了太多tcpv6 / pipe开放描述符的问题,这些描述符用于连接kafka代理。
我们使用的Kafka Stream代码与上面的代码类似,区别在于我们有超过10个KStream用于StreamsBuilder。
Map<String, Object> props = new HashMap<>();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "my-stream-processing-application");
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass());
props.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass());
StreamsConfig config = new StreamsConfig(props);
StreamsBuilder builder = new StreamsBuilder();
builder.<String, String>stream("my-input-topic").mapValues(value -> value.length().toString()).to("my-output-topic");
KafkaStreams streams = new KafkaStreams(builder.build(), config);
streams.start();
如果有人愿意就此问题提供任何帮助,我们将非常感激。谢谢!