You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Mark Petronic <ma...@gmail.com> on 2023/04/16 14:00:48 UTC
Web UI not working with createLocalEnvironmentWithWebUI()
I am learning Flink for a new project. I am trying to understand the
development/debug environment to help me step through my code to better
learn Flink. I am using the Intellij community edition for my IDE and Flink
1.17.0.
I am using this simple Flink app to demonstrate my issue.
//===========================================================================
package streamwindowprocessor;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.streaming.api.datastream.DataStream;
import
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
public class SimpleFlink {
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
final StreamExecutionEnvironment env =
StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
// final StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> values = env.socketTextStream("localhost", 9999);
values.print();
env.execute("Alarm Stream Processor");
}
}
//===========================================================================
Before I run this from the IDE, I start up a socket listener on a terminal:
nc -lkp 9999
Then I open a web browser to localhost:8081 and get this output
{
- errors:
[
- "Not found: /"
]
}
If instead, I use ./start-cluster.sh to start a standalone cluster, rebuild
my jar using getExecutionEnvironment() and submit that same simple jar
using ./flink.sh run <path-to-jar>, then I can open the browser to
localhost:8081 and I do see my app running, as expected, and it processes
strings I send via the running netcat.
Someone in SO noted that you should add this dependency, which I did and it
made no difference.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web</artifactId>
<version>${flink.version}</version>
</dependency>
*Can anyone help me understand why the web UI does not work
in createLocalEnvironmentWithWebUI()?*
Thanks,
Mark
Re: Web UI not working with createLocalEnvironmentWithWebUI()
Posted by Kiran Kumar Kathe <ki...@gmail.com>.
Problem is with dependencies in pom.xml file , adding required dependencies
solved my problem.
On Mon, 17 Apr 2023, 8:06 am Weihua Hu, <hu...@gmail.com> wrote:
> Hi, Mark
>
> Flink will load ui service automatically if the flink-runtime-web jars in
> classpath.
>
> So, adding the dependency of flink-runtime-web is the right way.
> You need to reload the maven project after the pod.xml changed.
> And check whether the classpath includes flink-runtime-web classes or not.
>
> Best,
> Weihua
>
>
> On Sun, Apr 16, 2023 at 10:02 PM Mark Petronic <ma...@gmail.com>
> wrote:
>
>> I am learning Flink for a new project. I am trying to understand the
>> development/debug environment to help me step through my code to better
>> learn Flink. I am using the Intellij community edition for my IDE and Flink
>> 1.17.0.
>>
>> I am using this simple Flink app to demonstrate my issue.
>>
>>
>> //===========================================================================
>> package streamwindowprocessor;
>>
>> import org.apache.flink.configuration.Configuration;
>> import org.apache.flink.streaming.api.datastream.DataStream;
>> import
>> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
>>
>> public class SimpleFlink {
>>
>> public static void main(String[] args) throws Exception {
>>
>> Configuration conf = new Configuration();
>> final StreamExecutionEnvironment env =
>> StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
>> // final StreamExecutionEnvironment env =
>> StreamExecutionEnvironment.getExecutionEnvironment();
>>
>> DataStream<String> values = env.socketTextStream("localhost",
>> 9999);
>> values.print();
>>
>> env.execute("Alarm Stream Processor");
>> }
>> }
>>
>> //===========================================================================
>>
>> Before I run this from the IDE, I start up a socket listener on a
>> terminal:
>>
>> nc -lkp 9999
>>
>> Then I open a web browser to localhost:8081 and get this output
>>
>> {
>>
>> - errors:
>> [
>> - "Not found: /"
>> ]
>>
>> }
>>
>> If instead, I use ./start-cluster.sh to start a standalone cluster,
>> rebuild my jar using getExecutionEnvironment() and submit that same simple
>> jar using ./flink.sh run <path-to-jar>, then I can open the browser to
>> localhost:8081 and I do see my app running, as expected, and it processes
>> strings I send via the running netcat.
>>
>> Someone in SO noted that you should add this dependency, which I did and
>> it made no difference.
>>
>> <dependency>
>> <groupId>org.apache.flink</groupId>
>> <artifactId>flink-runtime-web</artifactId>
>> <version>${flink.version}</version>
>> </dependency>
>>
>> *Can anyone help me understand why the web UI does not work
>> in createLocalEnvironmentWithWebUI()?*
>>
>> Thanks,
>> Mark
>>
>
Re: Web UI not working with createLocalEnvironmentWithWebUI()
Posted by Weihua Hu <hu...@gmail.com>.
Hi, Mark
Flink will load ui service automatically if the flink-runtime-web jars in
classpath.
So, adding the dependency of flink-runtime-web is the right way.
You need to reload the maven project after the pod.xml changed.
And check whether the classpath includes flink-runtime-web classes or not.
Best,
Weihua
On Sun, Apr 16, 2023 at 10:02 PM Mark Petronic <ma...@gmail.com>
wrote:
> I am learning Flink for a new project. I am trying to understand the
> development/debug environment to help me step through my code to better
> learn Flink. I am using the Intellij community edition for my IDE and Flink
> 1.17.0.
>
> I am using this simple Flink app to demonstrate my issue.
>
>
> //===========================================================================
> package streamwindowprocessor;
>
> import org.apache.flink.configuration.Configuration;
> import org.apache.flink.streaming.api.datastream.DataStream;
> import
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
>
> public class SimpleFlink {
>
> public static void main(String[] args) throws Exception {
>
> Configuration conf = new Configuration();
> final StreamExecutionEnvironment env =
> StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
> // final StreamExecutionEnvironment env =
> StreamExecutionEnvironment.getExecutionEnvironment();
>
> DataStream<String> values = env.socketTextStream("localhost",
> 9999);
> values.print();
>
> env.execute("Alarm Stream Processor");
> }
> }
>
> //===========================================================================
>
> Before I run this from the IDE, I start up a socket listener on a terminal:
>
> nc -lkp 9999
>
> Then I open a web browser to localhost:8081 and get this output
>
> {
>
> - errors:
> [
> - "Not found: /"
> ]
>
> }
>
> If instead, I use ./start-cluster.sh to start a standalone cluster,
> rebuild my jar using getExecutionEnvironment() and submit that same simple
> jar using ./flink.sh run <path-to-jar>, then I can open the browser to
> localhost:8081 and I do see my app running, as expected, and it processes
> strings I send via the running netcat.
>
> Someone in SO noted that you should add this dependency, which I did and
> it made no difference.
>
> <dependency>
> <groupId>org.apache.flink</groupId>
> <artifactId>flink-runtime-web</artifactId>
> <version>${flink.version}</version>
> </dependency>
>
> *Can anyone help me understand why the web UI does not work
> in createLocalEnvironmentWithWebUI()?*
>
> Thanks,
> Mark
>