Login  Register

Re: Re: Re: Re: Re: flink1.9.0 LOCAL_WEBSERVER 问题

Posted by tison on Aug 23, 2019; 7:20am
URL: http://apache-flink.370.s1.nabble.com/flink1-9-0-LOCAL-WEBSERVER-tp429p444.html

这是因为网页相关的文件被打包在 flink-runtime-web_${scala.binary.version} 的 resource
下面,只要能正确依赖、下载然后被发现就行了。

你之前可以应该是因为依赖里有这个模块。

Best,
tison.


Zili Chen <[hidden email]> 于2019年8月23日周五 下午3:19写道:

> 添加这个依赖就可以了
>
> <dependency>
>     <groupId>org.apache.flink</groupId>
>     <artifactId>flink-runtime-web_2.11</artifactId>
>     <version>1.9.0</version>
> </dependency>
>
> Best,
> tison.
>
>
> Zili Chen <[hidden email]> 于2019年8月23日周五 下午3:12写道:
>
>> 这个应该跟 1.9 使用了新版 WebUI 有关,我不太清楚。你可以到 JIRA 上提 issue 贴上 1.9 和之前版本的前后对比图让相关的
>> Flink 开发者帮忙看一下。
>>
>> 后面的问题,看源码发现的(x
>>
>> Best,
>> tison.
>>
>>
>> hb <[hidden email]> 于2019年8月23日周五 下午3:05写道:
>>
>>> 请问 这个【配置项无效】 是在哪里看的, debug程序里看的么
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> 在 2019-08-23 14:01:32,"Zili Chen" <[hidden email]> 写道:
>>> >我看看能不能怎么加依赖或者手动放网页文件来解决这个问题。
>>> >
>>> >另外,【配置项无效】是说,这个配置项在代码里没有用到,所以无论你怎么配,都不会对程序产生影响;而不是说,不管怎么配,都产生了 WebUI
>>> 无效的效果。
>>> >
>>> >Best,
>>> >tison.
>>> >
>>> >
>>> >Zili Chen <[hidden email]> 于2019年8月23日周五 下午2:59写道:
>>> >
>>> >> 喔,明白了,这个是因为你访问 /taskmanagers 是一个 REST 接口,Flink 的 WebUI
>>> 实际上是正常的,所以能正常的返回你。
>>> >>
>>> >> 你访问主页的时候,由于加载主页需要相应的 html 等文件,而 Flink 找不到,所以就告诉你 not found
>>> >>
>>> >> Best,
>>> >> tison.
>>> >>
>>> >>
>>> >> hb <[hidden email]> 于2019年8月23日周五 下午2:51写道:
>>> >>
>>> >>> 个人理解,能通过这个端口访问restfull API 应该表示 这个设置生效了,但是首页却是404
>>> >>>
>>> >>>
>>> >>> 访问: http://localhost:8089/   404
>>> >>> 访问: http://localhost:8089/taskmanagers/
>>> >>> 正常:
>>> >>>
>>> >>>
>>> {"taskmanagers":[{"id":"ef7030d2-eb13-4c68-8d0c-20b3d59616c8","path":"akka://flink/user/taskmanager_0","dataPort":-1,"timeSinceLastHeartbeat":0,"slotsNumber":8,"freeSlots":0,"hardware":{"cpuCores":4,"physicalMemory":34359738368,"freeMemory":7635730432,"managedMemory":5338540032}}]}
>>> >>>
>>> >>>
>>> >>> 源码:
>>> >>> ```
>>> >>> package test
>>> >>>
>>> >>>
>>> >>> import org.apache.flink.configuration.{ConfigConstants,
>>> Configuration,
>>> >>> ResourceManagerOptions, RestOptions}
>>> >>> import org.apache.flink.streaming.api.functions.source.SourceFunction
>>> >>> import
>>> org.apache.flink.streaming.api.scala.{StreamExecutionEnvironment,
>>> >>> _}
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> object File1 extends App {
>>> >>>   class MySource extends SourceFunction[String] {
>>> >>>     override def run(sourceContext:
>>> >>> SourceFunction.SourceContext[String]): Unit = {
>>> >>>       for (i <- 1 to 1000) {
>>> >>>         sourceContext.collect(i.toString)
>>> >>>         Thread.sleep(10000)
>>> >>>       }
>>> >>>     }
>>> >>>     override def cancel(): Unit = {}
>>> >>>   }
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>   var config = new Configuration()
>>> >>>   config.setBoolean(ConfigConstants.LOCAL_START_WEBSERVER, true)
>>> >>>
>>> >>>
>>> >>>   config.setInteger(RestOptions.PORT, 8089)
>>> >>>   val env = StreamExecutionEnvironment.createLocalEnvironment(8,
>>> config)
>>> >>>   env.addSource(new MySource).print()
>>> >>>
>>> >>>
>>> >>>   env.execute()
>>> >>> }
>>> >>> ```
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> 在 2019-08-23 13:41:36,"Zili Chen" <[hidden email]> 写道:
>>> >>> >源码里没有标为废弃应该是 FLINK 的一个 issue,你可以到 JIRA[1]上提,这个选项确实是没有用的。
>>> >>> >
>>> >>> >听起来你的程序是个测试程序,能提供相应的源码吗?如果你说后面能访问 /taskmanagers 的话可能并没有问题(x
>>> >>> >
>>> >>> >Best,
>>> >>> >tison.
>>> >>> >
>>> >>> >[1] https://issues.apache.org/jira/browse/
>>> >>> >
>>> >>> >
>>> >>> >hb <[hidden email]> 于2019年8月23日周五 下午2:27写道:
>>> >>> >
>>> >>> >> 我在idea里 用maven 下载依赖,在idea里运行flink程序<br/><br/>源码里没有标志为废弃啊
>>> >>> >> <br/><br/>```<br/><br/>package
>>> >>> >> org.apache.flink.configuration<br/><br/>public final class
>>> >>> ConfigConstants
>>> >>> >> {  ...<br/><br/>     /**<br/>         * @deprecated Use {@link
>>> >>> >> ResourceManagerOptions#LOCAL_NUMBER_RESOURCE_MANAGER}
>>> instead.<br/>
>>> >>> >> */<br/>        @Deprecated<br/>        public static final int
>>> >>> >> DEFAULT_LOCAL_NUMBER_RESOURCE_MANAGER = 1;<br/><br/><br/>
>>>  public
>>> >>> >> static final String LOCAL_START_WEBSERVER =
>>> >>> >> "local.start-webserver";<br/><br/>```
>>> >>> >> 在 2019-08-23 13:07:27,"Zili Chen" <[hidden email]> 写道:
>>> >>> >> >另外有个问题是,你是下载二进制 zip 还是从源码编译安装的?
>>> >>> >> >
>>> >>> >> >Best,
>>> >>> >> >tison.
>>> >>> >> >
>>> >>> >> >
>>> >>> >> >Zili Chen <[hidden email]> 于2019年8月23日周五 下午2:04写道:
>>> >>> >> >
>>> >>> >> >> 我切到了 1.9 的代码上看,这个 ConfigConstants.LOCAL_START_WEBSERVER
>>> >>> >> 应该是个废设置,设不设都没有任何效果。
>>> >>> >> >>
>>> >>> >> >> 所以问题应该跟这个选项没关系,比如你刷新 localhost:8089 能不能恢复?
>>> >>> >> >>
>>> >>> >> >> Best,
>>> >>> >> >> tison.
>>> >>> >> >>
>>> >>> >> >>
>>> >>> >> >> hb <[hidden email]> 于2019年8月23日周五 下午1:47写道:
>>> >>> >> >>
>>> >>> >> >>> 1.9 版本之前,都是可以这么用的,正常的,1.9也是有这个API的啊
>>> >>> >> >>> 在 2019-08-23 12:28:14,"Zili Chen" <[hidden email]> 写道:
>>> >>> >> >>> >你是在哪看到这个配置的,我查了下代码甚至这个选项都没有使用点(x
>>> >>> >> >>> >
>>> >>> >> >>> >Best,
>>> >>> >> >>> >tison.
>>> >>> >> >>> >
>>> >>> >> >>> >
>>> >>> >> >>> >hb <[hidden email]> 于2019年8月23日周五 下午1:22写道:
>>> >>> >> >>> >
>>> >>> >> >>> >> flink1.9.0 下 本地web 页面主页404,代码:
>>> >>> >> >>> >> ```
>>> >>> >> >>> >> var config = new Configuration()
>>> >>> >> >>> >> config.setBoolean(ConfigConstants.LOCAL_START_WEBSERVER,
>>> true)
>>> >>> >> >>> >>
>>> >>> >> >>> >> config.setInteger(RestOptions.PORT, 8089)
>>> >>> >> >>> >> val env =
>>> StreamExecutionEnvironment.createLocalEnvironment(8,
>>> >>> >> config)
>>> >>> >> >>> >> ```
>>> >>> >> >>> >> 打开 http://localhost:8089/ 显示
>>> >>> >> >>> >> {"errors":["Not found."]}
>>> >>> >> >>> >> 打开 http://localhost:8089/taskmanagers/ 能正常显示
>>> >>> >> >>>
>>> >>> >> >>
>>> >>> >>
>>> >>>
>>> >>
>>>
>>