Flink本地Web UI报错:Could not start rest endpoint on any port in port range 8081

前言

Flink使用Web UI可以方便本地调试,基本使用如下:

pom添加

<dependency>
  <groupId>org.apache.flinkgroupId>
  <artifactId>flink-runtime-web_${scala.version}artifactId>
  <version>${flink.version}version>
dependency>

代码中使用createLocalEnvironmentWithWebUI创建

Configuration conf = new Configuration();
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);

之前挺正常的,今天突然遇到一个奇怪的问题,虽然找到了解决方案,暂时解决了,但是还是没有搞懂为什么会提示这个错误。所以记录一下。

答案写在最前面,后面的就是记录一下自己的排错:

conf.setString(RestOptions.BIND_PORT, "8081-8089");

配置一个可绑定的端口范围就能正常使用了。

Could not start rest endpoint on any port in port range 8081

这个错误就是说端口8081被占用了,所以目前的进程绑定不上了。

第一反应就是上一次的端口估计没有被释放,所以正常来说一下两步就解决了。

losf -i:8081 
kill -9 xxx

但是!!!! 8081 没有占用啊。。。

找到好久,发现可以在配置里面添加一个端口绑定的范围就尝试了一下。。

结果成功了。。。,看日志,我去绑定的端口是8081!!!!

虽然根据上述方法解决了,但是谁来告诉我为什么???

总结

这个问题放这里,以后再看。可以谁能告诉我为什么???

你可能感兴趣的:(Flink,flink)