前言
Flink使用Web UI可以方便本地調(diào)試,基本使用如下:
pom添加
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web_${scala.version}</artifactId>
<version>${flink.version}</version>
</dependency>
代碼中使用createLocalEnvironmentWithWebUI創(chuàng)建
Configuration conf = new Configuration();
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
之前挺正常的,今天突然遇到一個(gè)奇怪的問題,雖然找到了解決方案,暫時(shí)解決了,但是還是沒有搞懂為什么會(huì)提示這個(gè)錯(cuò)誤。所以記錄一下。
答案寫在最前面,后面的就是記錄一下自己的排錯(cuò):
conf.setString(RestOptions.BIND_PORT, "8081-8089");
配置一個(gè)可綁定的端口范圍就能正常使用了。
Could not start rest endpoint on any port in port range 8081
這個(gè)錯(cuò)誤就是說(shuō)端口8081被占用了,所以目前的進(jìn)程綁定不上了。
第一反應(yīng)就是上一次的端口估計(jì)沒有被釋放,所以正常來(lái)說(shuō)一下兩步就解決了。
losf -i:8081
kill -9 xxx
但是?。。?! 8081 沒有占用啊。。。
找到好久,發(fā)現(xiàn)可以在配置里面添加一個(gè)端口綁定的范圍就嘗試了一下。。
結(jié)果成功了。。。,看日志,我去綁定的端口是8081?。。。?/strong>
雖然根據(jù)上述方法解決了,但是誰(shuí)來(lái)告訴我為什么???
總結(jié)
這個(gè)問題放這里,以后再看??梢哉l(shuí)能告訴我為什么???