Created 06-21-2017 03:23 PM
Hi Team,
ERROR [main] org.apache.nifi.NiFiFailure to launch NiFi due to java.lang.NoSuchMethodError: org.apache.nifi.processor.util.StandardValidators.createControllerServiceExistsValidator(Ljava/lang/Class;)Lorg/apache/nifi/components/Validator;java.lang.NoSuchMethodError: org.apache.nifi.processor.util.StandardValidators.createControllerServiceExistsValidator(Ljava/lang/Class;)Lorg/apache/nifi/components/Validator;
https://community.hortonworks.com/questions/97610/nifi-javalangnosuchmethoderror.html
https://stackoverflow.com/questions/43641251/nifi-java-lang-nosuchmethoderror
I am getting the same error when i deploying custom nars in single node but the same working in one node and it not working in other node
why we are getting this kind of error need complete understanding for this issue anything we need to change in config?
Created 06-21-2017 04:34 PM
NAR #1 shows an old standard processors JAR being included:
nifi-standard-processors-0.0.1-incubating.jar
I believe that could be a problem, you don't want the processors from another NAR included in your NAR.
Basically this means the standard processors are included twice, once from the standard NAR and once from your custom NAR #1. When NiFi starts it scans the classpath and can sometimes find them first from standard NAR, or first from your NAR. If it finds them first from your NAR then it will load them from there which results in attempting to make API calls on them that are no longer compatible with 1.1.0.
Created 06-21-2017 03:34 PM
Please share your inputs its hapenning in our prod environment but the same working in dev with same setup.
Created 06-21-2017 03:42 PM
Can you provide a listing of the JARs included in your custom NAR?
ls -l work/nar/extensions/<YOUR-NAR>-unpacked/META-INF/bundled-dependencies/
And do this for each custom NAR.
Created 06-21-2017 04:18 PM
Hi Bryan,
Thanks in advance pasted the 4 nars jar detaisl and if i removed the first nar in one node nifi starting but in other node without removing itself starting. hope your answer will give some clarity on this issue
1st activation-1.1.jar activemq-client-5.12.1.jar avro-1.7.7.jar bcpkix-jdk15on-1.55.jar bcprov-jdk15on-1.55.jar bcprov-jdk16-1.46.jar commons-codec-1.10.jar commons-compress-1.11.jar commons-io-2.5.jar commons-jexl-2.1.1.jar commons-lang3-3.4.jar commons-logging-1.2.jar commons-net-3.3.jar geronimo-j2ee-management_1.1_spec-1.0.1.jar geronimo-jms_1.1_spec-1.1.1.jar hawtbuf-1.11.jar httpclient-4.4.1.jar httpcore-4.4.1.jar jackson-annotations-2.6.0.jar jackson-core-2.6.1.jar jackson-core-asl-1.9.13.jar jackson-databind-2.6.1.jar jackson-mapper-asl-1.9.13.jar javax.jms-api-2.0.1.jar jersey-client-1.19.jar jersey-core-1.19.jar jersey-server-1.19.jar joda-time-2.8.2.jar jsch-0.1.54.jar jsr311-api-1.1.1.jar jzlib-1.1.3.jar kite-data-core-1.0.0.jar kite-hadoop-compatibility-1.0.0.jar log4j-1.2.16.jar lzma-java-1.3.jar mail-1.4.7.jar mrapid-commom-util-1.0.0.jar mrapid-data-validation-processor-1.0.0.jar nifi-flowfile-packager-1.1.0.jar nifi-logging-utils-1.1.0.jar nifi-processor-utils-1.1.0.jar nifi-security-utils-1.1.0.jar nifi-socket-utils-1.1.0.jar nifi-standard-processors-0.0.1-incubating.jar nifi-utils-1.1.0.jar opencsv-2.3.jar paranamer-2.3.jar parquet-avro-1.4.1.jar parquet-column-1.4.1.jar parquet-common-1.4.1.jar parquet-encoding-1.4.1.jar parquet-format-2.0.0.jar parquet-generator-1.4.1.jar parquet-hadoop-1.4.1.jar parquet-jackson-1.4.1.jar Saxon-HE-9.6.0-5.jar snappy-java-1.0.5.jar xz-1.5.jar 2nd avro-1.7.7.jar bcpkix-jdk15on-1.55.jar bcprov-jdk15on-1.55.jar commons-codec-1.10.jar commons-compress-1.11.jar commons-csv-1.4.jar commons-io-2.5.jar commons-jexl-2.1.1.jar commons-lang3-3.4.jar commons-logging-1.1.1.jar jackson-annotations-2.6.0.jar jackson-core-2.6.1.jar jackson-core-asl-1.9.13.jar jackson-databind-2.6.1.jar jackson-mapper-asl-1.9.13.jar kite-data-core-1.0.0.jar kite-hadoop-compatibility-1.0.0.jar log4j-1.2.16.jar mrapid-avro-conversion-processor-0.0.2.jar mrapid-commom-util-0.0.2.jar nifi-processor-utils-1.1.0.jar nifi-security-utils-1.1.0.jar nifi-utils-1.1.0.jar opencsv-2.3.jar paranamer-2.3.jar parquet-avro-1.4.1.jar parquet-column-1.4.1.jar parquet-common-1.4.1.jar parquet-encoding-1.4.1.jar parquet-format-2.0.0.jar parquet-generator-1.4.1.jar parquet-hadoop-1.4.1.jar parquet-jackson-1.4.1.jar snappy-java-1.0.5.jar 3rd avro-1.7.7.jar bcpkix-jdk15on-1.55.jar bcprov-jdk15on-1.55.jar commons-codec-1.10.jar commons-compress-1.11.jar commons-io-2.5.jar commons-jexl-2.1.1.jar commons-lang3-3.4.jar commons-logging-1.1.1.jar jackson-annotations-2.6.0.jar jackson-core-2.6.1.jar jackson-core-asl-1.9.13.jar jackson-databind-2.6.1.jar jackson-mapper-asl-1.9.13.jar kite-data-core-1.0.0.jar kite-hadoop-compatibility-1.0.0.jar log4j-1.2.16.jar mrapid-commom-util-0.0.2.jar mrapid-file-validation-processor-0.0.2.jar nifi-processor-utils-1.1.0.jar nifi-security-utils-1.1.0.jar nifi-utils-1.1.0.jar opencsv-2.3.jar paranamer-2.3.jar parquet-avro-1.4.1.jar parquet-column-1.4.1.jar parquet-common-1.4.1.jar parquet-encoding-1.4.1.jar parquet-format-2.0.0.jar parquet-generator-1.4.1.jar parquet-hadoop-1.4.1.jar parquet-jackson-1.4.1.jar 4th avro-1.7.7.jar bcpkix-jdk15on-1.55.jar bcprov-jdk15on-1.55.jar commons-codec-1.10.jar commons-compress-1.11.jar commons-io-2.5.jar commons-jexl-2.1.1.jar commons-lang3-3.4.jar commons-logging-1.1.1.jar jackson-annotations-2.6.0.jar jackson-core-2.6.1.jar jackson-core-asl-1.9.13.jar jackson-databind-2.6.1.jar jackson-mapper-asl-1.9.13.jar kite-data-core-1.0.0.jar kite-hadoop-compatibility-1.0.0.jar log4j-1.2.16.jar mrapid-commom-util-0.0.4.jar mrapid-invalid-data-processor-0.0.4.jar nifi-processor-utils-1.1.0.jar nifi-security-utils-1.1.0.jar nifi-utils-1.1.0.jar opencsv-2.3.jar paranamer-2.3.jar parquet-avro-1.4.1.jar parquet-column-1.4.1.jar parquet-common-1.4.1.jar parquet-encoding-1.4.1.jar parquet-format-2.0.0.jar parquet-generator-1.4.1.jar parquet-hadoop-1.4.1.jar parquet-jackson-1.4.1.jar snappy-java-1.0.5.jar
Created 06-21-2017 04:34 PM
NAR #1 shows an old standard processors JAR being included:
nifi-standard-processors-0.0.1-incubating.jar
I believe that could be a problem, you don't want the processors from another NAR included in your NAR.
Basically this means the standard processors are included twice, once from the standard NAR and once from your custom NAR #1. When NiFi starts it scans the classpath and can sometimes find them first from standard NAR, or first from your NAR. If it finds them first from your NAR then it will load them from there which results in attempting to make API calls on them that are no longer compatible with 1.1.0.
Created 06-21-2017 04:38 PM
okay but how its working in one node and not working in other node? i didnt understand that logic , can you explain?
Created 06-21-2017 04:48 PM
Java's service loader is non-deterministic, one node might find the processors from standard NAR, another node might find them from your NAR. Even the node that is currently working might change behavior between restarts of NiFi.
Created 06-22-2017 11:45 AM
Thank you so much it worked 🙂 you made my day...