Closed thunderstumpges closed 7 years ago
Follow up here, I was able to get things working by adding this jar and the metrics-influxdb jar individually instead of through my uber-jar. I really don't understand why the first approach didn't work (and only for executors) but anyway, I seem to have it working (mostly)
I am only getting a very few of the metrics. (CodeGenerator, HiveExternalCatalog, and a couple base metrics) and I'm missing streaming source metrics, and (I think) a bunch of others. Looking into that now. But this seems to be resolved.
Glad you got it working. We tend to use YARN client-mode for apps that use this library, so it's possible that there are nuances to how the individual JARs are shipped (I wouldn't be surprised). For what it's worth, we also add these JARs individually to Spark's classpath rather than through uber-jars.
Hello,
I stumbled on this project which appears quite new but is just what I'm looking for. I have followed the instructions on the readme for the most part. Here is my setup:
I DO see the metrics library load in the driver in yarn (cluster mode). I added a few info log statements when the reporter starts up, and I see them in my container log for the driver. I also see metrics for the driver in InfluxDB so I know the reporter is loading and reporting OK (at least in the driver)
However, the executor containers are getting the following exception:
I can see that my jar is being added to the front of the classpath as well, looking at the driver output of its "executor launch context" (
reindex-spark-job-0.3-SNAPSHOT-all.jar
is my uber-jar):Any thoughts or suggestions? I can't see why it would find the class and load fine in the driver, but not the executor. All my other application classes are loading just fine and I can see the InfluxDbSink class in my uber-jar.
Thanks!