Thanks a lot for posting the solution!
It might be helpful for other users.

On Mon, Jun 15, 2020 at 2:36 PM Felipe Gutierrez <
felipe.o.gutier...@gmail.com> wrote:

> Hi, I managed to find the solution. Just for the record I am gonna post
> here:
>
> I added the JMX parameters on the file bin/flink to submit the FLink
> job using these parameters.
>
> log_setting=(-Dcom.sun.management.jmxremote
> -Dcom.sun.management.jmxremote.port="9010"
> -Dcom.sun.management.jmxremote.local.only="false"
> -Dcom.sun.management.jmxremote.authenticate="false"
> -Dcom.sun.management.jmxremote.ssl="false" -Dlog.file="$log"
> -Dlog4j.configuration=file:"$FLINK_CONF_DIR"/log4j-cli.properties
> -Dlog4j.configurationFile=file:"$FLINK_CONF_DIR"/log4j-cli.properties
> -Dlogback.configurationFile=file:"$FLINK_CONF_DIR"/logback.xml)
>
> After this I am able to monitor the threads of my application and
> collect samples of CPU and memory using VisualVM. Although I am
> getting some other errors which I think it are related to other
> configurations.
>
> "main" #1 prio=5 os_prio=0 tid=0x00007f876000c800 nid=0x4bfa waiting
> on condition [0x00007f8768a32000]
>    java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0x000000076f04ea00> (a
> java.util.concurrent.CompletableFuture$Signaller)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at
> java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1707)
> at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
> at
> java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1742)
> at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
> at
> org.apache.flink.client.program.StreamContextEnvironment.execute(StreamContextEnvironment.java:93)
> at
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.execute(StreamExecutionEnvironment.java:1643)
> at
> org.apache.flink.streaming.examples.aggregate.TaxiRideCountPreAggregate.main(TaxiRideCountPreAggregate.java:119)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:321)
> at
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
> at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:148)
> at
> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:662)
> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:210)
> at
> org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:893)
> at
> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:966)
> at
> org.apache.flink.client.cli.CliFrontend$$Lambda$38/510464020.call(Unknown
> Source)
> at
> org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:966)
>
> --
> -- Felipe Gutierrez
> -- skype: felipe.o.gutierrez
> -- https://felipeogutierrez.blogspot.com
>
> On Mon, Jun 15, 2020 at 12:30 PM Felipe Gutierrez
> <felipe.o.gutier...@gmail.com> wrote:
> >
> > Hi,
> >
> > I want to run a flink job with the JVM parameters
> > "-Dcom.sun.management.jmxremote.port=3333
> > -Dcom.sun.management.jmxremote.ssl=false
> > -Dcom.sun.management.jmxremote.authenticate=false" in order to monitor
> > this job with VisualVM. So I am doing like this:
> >
> > ./bin/flink run ../TaxiRideCount.jar -yD
> > env.java.opts="-Dcom.sun.management.jmxremote.port=3333
> > -Dcom.sun.management.jmxremote.ssl=false
> > -Dcom.sun.management.jmxremote.authenticate=false" -input
> > /home/flink/nycTaxiRides.gz -output mqtt -sinkHost 127.0.0.1
> >
> > The problem is that when I try to add a JMX connection from VisualVM
> > the connection seems to not capture anything.
> >
> > I ensure that VisualVM is able to listen the java process in my
> > machine since I can see the TaskManagerRunner and the
> > StandaloneSessionClusterEntrypoint. However, VisualVM is not able to
> > show the thread tab for those processes as well. This is why I am
> > trying to add the JVM parameters when submitting the link job [1]. A
> > common issue is also when the VisualVM and the java processes are not
> > using the same JDK. However, this is also not my case. All
> > applications are using OpenJDK 64-Bit Server VM version 1.8.0_252.
> >
> > Have already anyone tried to monitor Flink applications using VisualVM?
> >
> > Thanks, Felipe
> > [1]
> https://stackoverflow.com/questions/16023507/why-isnt-visualvm-showing-all-the-normal-tabs
> > --
> > -- Felipe Gutierrez
> > -- skype: felipe.o.gutierrez
> > -- https://felipeogutierrez.blogspot.com
>

Reply via email to