KAFKA-本地Flink項目鏈接雲服務器Kafka報錯java.net.UnknownHostException: hadoop000

背景:

筆者在本地的Flink項目從雲服務器kafka上獲取數據方式以下:java

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "139.196.235.10:9092");
properties.setProperty("group.id", "test");

DataStream<String> stream = env
        .addSource(new FlinkKafkaConsumer<>("pk1", new SimpleStringSchema(), properties));
複製代碼

因爲筆者的雲服務器是計時類型的,每次啓動IP地址都會變化,因此就沒有在本地配置主機名與IP地址的映射關係,經過公網IP:端口號的方式訪問雲服務器。可是在獲取數據時顯示因爲找不到正確的分片位置致使鏈接超時:apache

Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout of 60000ms expired before the position for partition pk1-0 could be determinbootstrap

可是筆者在雲服務器上自測kafka的生產者消費者案例沒有問題,本地經過 公網IP:端口號 也能鏈接上雲服務器上的端口。進一步排錯顯示未知的主機異常: java.net.UnknownHostException: hadoop000服務器

筆者的雲服務器hostname爲hadoop000,可是在kafka的server.properties中配置的是localhost,找完整個kafka都沒發現須要使用hostname的地方。markdown

最終不得已在本地的hosts中配置了IP地址 hostname,才得以解決問題。oop

相關文章
相關標籤/搜索