Hi Federico,

oh, I remember running into this problem some time ago. If I recall
correctly, this is not a flink issue, but an issue with technically
incorrect jars from dependencies which prevent the verification of the
manifest. I was using the maven-shade plugin back then and configured an
exclusion for these file types. I assume that sbt/sbt-assembly has a
similar option, this should be more stable than manually stripping the jar.
Alternatively, you could try to find out which dependency puts the
.SF/etc files there and exclude this dependency altogether, it might be
a transitive lib dependency that comes with hadoop anyways, or simply
one that you don't need anyways.

Best,
Urs

On 25.09.2017 10:09, Federico D'Ambrosio wrote:
> Hi Urs,
> 
> Yes the main class is set, just like you said.
> 
> Still, I might have managed to get it working: during the assembly some
> .SF, .DSA and .RSA files are put inside the META-INF folder of the jar,
> possibly coming from some of the new dependencies in the deps tree.
> Apparently, this caused this weird issue. Using an appropriate pattern for
> discarding the files during the assembly or removing them via zip -d should
> be enough (I sure hope so, since this is some of the worst issues I've come
> across).
> 
> 
> Federico D'Ambrosio
> 
> Il 25 set 2017 9:51 AM, "Urs Schoenenberger" <urs.schoenenber...@tngtech.com>
> ha scritto:
> 
>> Hi Federico,
>>
>> just guessing, but are you explicitly setting the Main-Class manifest
>> attribute for the jar that you are building?
>>
>> Should be something like
>>
>> mainClass in (Compile, packageBin) :=
>> Some("org.yourorg.YourFlinkJobMainClass")
>>
>> Best,
>> Urs
>>
>>
>> On 23.09.2017 17:53, Federico D'Ambrosio wrote:
>>> Hello everyone,
>>>
>>> I'd like to submit to you this weird issue I'm having, hoping you could
>>> help me.
>>> Premise: I'm using sbt 0.13.6 for building, scala 2.11.8 and flink 1.3.2
>>> compiled from sources against hadoop 2.7.3.2.6.1.0-129 (HDP 2.6)
>>> So, I'm trying to implement an sink for Hive so I added the following
>>> dependency in my build.sbt:
>>>
>>> "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>> "1.2.1000.2.6.1.0-129"
>>>
>>> in order to use hive streaming capabilities.
>>>
>>> After importing this dependency, not even using it, if I try to flink run
>>> the job I get
>>>
>>> org.apache.flink.client.program.ProgramInvocationException: The
>> program's
>>> entry point class 'package.MainObj' was not found in the jar file.
>>>
>>> If I remove the dependency, everything goes back to normal.
>>> What is weird is that if I try to use sbt run in order to run job, *it
>> does
>>> find the Main class* and obviously crash because of the missing flink
>> core
>>> dependencies (AbstractStateBackend missing and whatnot).
>>>
>>> Here are the complete dependencies of the project:
>>>
>>> "org.apache.flink" %% "flink-scala" % flinkVersion % "provided",
>>> "org.apache.flink" %% "flink-streaming-scala" % flinkVersion %
>> "provided",
>>> "org.apache.flink" %% "flink-connector-kafka-0.10" % flinkVersion,
>>> "org.apache.flink" %% "flink-cep-scala" % flinkVersion,
>>> "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>> "1.2.1000.2.6.1.0-129",
>>> "org.joda" % "joda-convert" % "1.8.3",
>>> "com.typesafe.play" %% "play-json" % "2.6.2",
>>> "org.mongodb.mongo-hadoop" % "mongo-hadoop-core" % "2.0.2",
>>> "org.scalactic" %% "scalactic" % "3.0.1",
>>> "org.scalatest" %% "scalatest" % "3.0.1" % "test",
>>> "de.javakaffee" % "kryo-serializers" % "0.42"
>>>
>>> Could it be an issue of dependencies conflicts between mongo-hadoop and
>>> hive hadoop versions (respectively 2.7.1 and  2.7.3.2.6.1.0-129, even
>>> though no issue between mongodb-hadoop and flink)? I'm even starting to
>>> think that Flink cannot handle that well big jars (before the new
>>> dependency it was 44M, afterwards it became 115M) when it comes to
>>> classpath loading?
>>>
>>> Any help would be really appreciated,
>>> Kind regards,
>>> Federico
>>>
>>>
>>>
>>> Hello everyone,
>>>
>>> I'd like to submit to you this weird issue I'm having, hoping you could
>>> help me.
>>> Premise: I'm using sbt 0.13.6 for building, scala 2.11.8 and flink 1.3.2
>>> compiled from sources against hadoop 2.7.3.2.6.1.0-129 (HDP 2.6)
>>> So, I'm trying to implement an sink for Hive so I added the following
>>> dependency in my build.sbt:
>>>
>>> "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>> "1.2.1000.2.6.1.0-129"
>>>
>>> in order to use hive streaming capabilities.
>>>
>>> After importing this dependency, not even using it, if I try to flink
>>> run the job I get
>>>
>>> org.apache.flink.client.program.ProgramInvocationException: The
>>> program's entry point class 'package.MainObj' was not found in the jar
>> file.
>>>
>>> If I remove the dependency, everything goes back to normal.
>>> What is weird is that if I try to use sbt run in order to run job, *it
>>> does find the Main class* and obviously crash because of the missing
>>> flink core dependencies (AbstractStateBackend missing and whatnot).
>>>
>>> Here are the complete dependencies of the project:
>>>
>>> "org.apache.flink" %% "flink-scala" % flinkVersion % "provided",
>>> "org.apache.flink" %% "flink-streaming-scala" % flinkVersion %
>> "provided",
>>> "org.apache.flink" %% "flink-connector-kafka-0.10" % flinkVersion,
>>> "org.apache.flink" %% "flink-cep-scala" % flinkVersion,
>>> "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>> "1.2.1000.2.6.1.0-129",
>>> "org.joda" % "joda-convert" % "1.8.3",
>>> "com.typesafe.play" %% "play-json" % "2.6.2",
>>> "org.mongodb.mongo-hadoop" % "mongo-hadoop-core" % "2.0.2",
>>> "org.scalactic" %% "scalactic" % "3.0.1",
>>> "org.scalatest" %% "scalatest" % "3.0.1" % "test",
>>> "de.javakaffee" % "kryo-serializers" % "0.42"
>>>
>>> Could it be an issue of dependencies conflicts between mongo-hadoop and
>>> hive hadoop versions (respectively 2.7.1 and  2.7.3.2.6.1.0-129, even
>>> though no issue between mongodb-hadoop and flink)? I'm even starting to
>>> think that Flink cannot handle that well big jars (before the new
>>> dependency it was 44M, afterwards it became 115M) when it comes to
>>> classpath loading?
>>>
>>> Any help would be really appreciated,
>>> Kind regards,
>>> Federico
>>
>> --
>> Urs Schönenberger - urs.schoenenber...@tngtech.com
>>
>> TNG Technology Consulting GmbH, Betastr. 13a, 85774 Unterföhring
>> Geschäftsführer: Henrik Klagges, Dr. Robert Dahlke, Gerhard Müller
>> Sitz: Unterföhring * Amtsgericht München * HRB 135082
>>
>>
>>
>> Hi Urs,
>>
>> Yes the main class is set, just like you said. 
>>
>> Still, I might have managed to get it working: during the assembly
>> some .SF, .DSA and .RSA files are put inside the META-INF folder of
>> the jar, possibly coming from some of the new dependencies in the deps
>> tree. 
>> Apparently, this caused this weird issue. Using an appropriate pattern
>> for discarding the files during the assembly or removing them via zip
>> -d should be enough (I sure hope so, since this is some of the worst
>> issues I've come across).
>>
>>
>> Federico D'Ambrosio
>>
>> Il 25 set 2017 9:51 AM, "Urs Schoenenberger"
>> <urs.schoenenber...@tngtech.com
>> <mailto:urs.schoenenber...@tngtech.com>> ha scritto:
>>
>>     Hi Federico,
>>
>>     just guessing, but are you explicitly setting the Main-Class manifest
>>     attribute for the jar that you are building?
>>
>>     Should be something like
>>
>>     mainClass in (Compile, packageBin) :=
>>     Some("org.yourorg.YourFlinkJobMainClass")
>>
>>     Best,
>>     Urs
>>
>>
>>     On 23.09.2017 17:53, Federico D'Ambrosio wrote:
>>     > Hello everyone,
>>     >
>>     > I'd like to submit to you this weird issue I'm having, hoping
>>     you could
>>     > help me.
>>     > Premise: I'm using sbt 0.13.6 for building, scala 2.11.8 and
>>     flink 1.3.2
>>     > compiled from sources against hadoop 2.7.3.2.6.1.0-129 (HDP 2.6)
>>     > So, I'm trying to implement an sink for Hive so I added the
>>     following
>>     > dependency in my build.sbt:
>>     >
>>     > "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>     > "1.2.1000.2.6.1.0-129"
>>     >
>>     > in order to use hive streaming capabilities.
>>     >
>>     > After importing this dependency, not even using it, if I try to
>>     flink run
>>     > the job I get
>>     >
>>     > org.apache.flink.client.program.ProgramInvocationException: The
>>     program's
>>     > entry point class 'package.MainObj' was not found in the jar file.
>>     >
>>     > If I remove the dependency, everything goes back to normal.
>>     > What is weird is that if I try to use sbt run in order to run
>>     job, *it does
>>     > find the Main class* and obviously crash because of the missing
>>     flink core
>>     > dependencies (AbstractStateBackend missing and whatnot).
>>     >
>>     > Here are the complete dependencies of the project:
>>     >
>>     > "org.apache.flink" %% "flink-scala" % flinkVersion % "provided",
>>     > "org.apache.flink" %% "flink-streaming-scala" % flinkVersion %
>>     "provided",
>>     > "org.apache.flink" %% "flink-connector-kafka-0.10" % flinkVersion,
>>     > "org.apache.flink" %% "flink-cep-scala" % flinkVersion,
>>     > "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>     > "1.2.1000.2.6.1.0-129",
>>     > "org.joda" % "joda-convert" % "1.8.3",
>>     > "com.typesafe.play" %% "play-json" % "2.6.2",
>>     > "org.mongodb.mongo-hadoop" % "mongo-hadoop-core" % "2.0.2",
>>     > "org.scalactic" %% "scalactic" % "3.0.1",
>>     > "org.scalatest" %% "scalatest" % "3.0.1" % "test",
>>     > "de.javakaffee" % "kryo-serializers" % "0.42"
>>     >
>>     > Could it be an issue of dependencies conflicts between
>>     mongo-hadoop and
>>     > hive hadoop versions (respectively 2.7.1 and  2.7.3.2.6.1.0-129,
>>     even
>>     > though no issue between mongodb-hadoop and flink)? I'm even
>>     starting to
>>     > think that Flink cannot handle that well big jars (before the new
>>     > dependency it was 44M, afterwards it became 115M) when it comes to
>>     > classpath loading?
>>     >
>>     > Any help would be really appreciated,
>>     > Kind regards,
>>     > Federico
>>     >
>>     >
>>     >
>>     > Hello everyone,
>>     >
>>     > I'd like to submit to you this weird issue I'm having, hoping
>>     you could
>>     > help me.
>>     > Premise: I'm using sbt 0.13.6 for building, scala 2.11.8 and
>>     flink 1.3.2
>>     > compiled from sources against hadoop 2.7.3.2.6.1.0-129 (HDP 2.6)
>>     > So, I'm trying to implement an sink for Hive so I added the
>>     following
>>     > dependency in my build.sbt:
>>     >
>>     > "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>     > "1.2.1000.2.6.1.0-129"
>>     >
>>     > in order to use hive streaming capabilities.
>>     >
>>     > After importing this dependency, not even using it, if I try to
>>     flink
>>     > run the job I get
>>     >
>>     > org.apache.flink.client.program.ProgramInvocationException: The
>>     > program's entry point class 'package.MainObj' was not found in
>>     the jar file.
>>     >
>>     > If I remove the dependency, everything goes back to normal.
>>     > What is weird is that if I try to use sbt run in order to run
>>     job, *it
>>     > does find the Main class* and obviously crash because of the missing
>>     > flink core dependencies (AbstractStateBackend missing and whatnot).
>>     >
>>     > Here are the complete dependencies of the project:
>>     >
>>     > "org.apache.flink" %% "flink-scala" % flinkVersion % "provided",
>>     > "org.apache.flink" %% "flink-streaming-scala" % flinkVersion %
>>     "provided",
>>     > "org.apache.flink" %% "flink-connector-kafka-0.10" % flinkVersion,
>>     > "org.apache.flink" %% "flink-cep-scala" % flinkVersion,
>>     > "org.apache.hive.hcatalog" % "hive-hcatalog-streaming" %
>>     > "1.2.1000.2.6.1.0-129",
>>     > "org.joda" % "joda-convert" % "1.8.3",
>>     > "com.typesafe.play" %% "play-json" % "2.6.2",
>>     > "org.mongodb.mongo-hadoop" % "mongo-hadoop-core" % "2.0.2",
>>     > "org.scalactic" %% "scalactic" % "3.0.1",
>>     > "org.scalatest" %% "scalatest" % "3.0.1" % "test",
>>     > "de.javakaffee" % "kryo-serializers" % "0.42"
>>     >
>>     > Could it be an issue of dependencies conflicts between
>>     mongo-hadoop and
>>     > hive hadoop versions (respectively 2.7.1 and  2.7.3.2.6.1.0-129,
>>     even
>>     > though no issue between mongodb-hadoop and flink)? I'm even
>>     starting to
>>     > think that Flink cannot handle that well big jars (before the new
>>     > dependency it was 44M, afterwards it became 115M) when it comes to
>>     > classpath loading?
>>     >
>>     > Any help would be really appreciated,
>>     > Kind regards,
>>     > Federico
>>
>>     --
>>     Urs Schönenberger - urs.schoenenber...@tngtech.com
>>     <mailto:urs.schoenenber...@tngtech.com>
>>
>>     TNG Technology Consulting GmbH, Betastr. 13a, 85774 Unterföhring
>>     Geschäftsführer: Henrik Klagges, Dr. Robert Dahlke, Gerhard Müller
>>     Sitz: Unterföhring * Amtsgericht München * HRB 135082
>>

-- 
Urs Schönenberger - urs.schoenenber...@tngtech.com
TNG Technology Consulting GmbH, Betastr. 13a, 85774 Unterföhring
Geschäftsführer: Henrik Klagges, Dr. Robert Dahlke, Gerhard Müller
Sitz: Unterföhring * Amtsgericht München * HRB 135082

Reply via email to