將flink提交到集群中運行,可以看到job的的執行計划、占用的資源情況、Task的數量和並行度、內存、checkpoint等信息。但是將必須先job打成jar包,然后通過web頁面或命令行提交到集群中執行。
但是在開發測試時,想要看到job的執行計划和運行時的一些信息,就需要每一次都將程序打包並提交到集群中運行,這樣就很麻煩。如果能在IEDA或Eclipse中本地運行時,也可以有一個web頁面,那就更方便了!flink本身就支持local模式運行,並且local模式也可以有webui頁面,只不過要添加一個maven的依賴即可。
- 第一步:在pom文件中添加依賴
<!-- web ui的依賴--> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-runtime-web_${scala.binary.version}</artifactId> <version>${flink.version}</version> </dependency>
2. 第二部:創建local並且帶ui的LocalEnvironmentWithWebUI
package cn._51doit.flink; import org.apache.flink.configuration.Configuration; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; public class FromCollectionDemo { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration()); DataStreamSource<String> localhost = env.socketTextStream("cs-28-86", 8888); localhost.print(); env.execute(); } }
3.在IDEA中運行程序,然后使用瀏覽器訪問localhost:8081
web的rest端口號默認是8081,如果想改變端口號,可以在configuration中添加如下配置即可:
Configuration configuration = new Configuration(); configuration.setInteger(“rest.port”, 8082); StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(configuration);
重啟后用瀏覽器訪問localhost:8082即可,就可以看到job的運行的信息了!