Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-10552

Ranger CredentialBuilder throws NoClassDefFoundException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.18.0
    • None
    • None

    Description

      When try to create a ranger keystore/truststore I got the following exception:

      java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
      	at org.apache.hadoop.metrics2.lib.MutableMetricsFactory.getName(MutableMetricsFactory.java:134)
      	at org.apache.hadoop.metrics2.lib.MutableMetricsFactory.getInfo(MutableMetricsFactory.java:130)
      	at org.apache.hadoop.metrics2.lib.MutableMetricsFactory.newForField(MutableMetricsFactory.java:45)
      	at org.apache.hadoop.metrics2.lib.MetricsSourceBuilder.add(MetricsSourceBuilder.java:147)
      	at org.apache.hadoop.metrics2.lib.MetricsSourceBuilder.<init>(MetricsSourceBuilder.java:69)
      	at org.apache.hadoop.metrics2.lib.MetricsAnnotations.newSourceBuilder(MetricsAnnotations.java:43)
      	at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.register(MetricsSystemImpl.java:223)
      	at org.apache.hadoop.metrics2.MetricsSystem.register(MetricsSystem.java:71)
      	at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create(UserGroupInformation.java:149)
      	at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:265)
      	at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3614)
      	at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3604)
      	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3441)
      	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:524)
      	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:365)
      	at org.apache.hadoop.security.alias.JavaKeyStoreProvider.initFileSystem(JavaKeyStoreProvider.java:89)
      	at org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider.<init>(AbstractJavaKeyStoreProvider.java:85)
      	at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:49)
      	at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:41)
      	at org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory.createProvider(JavaKeyStoreProvider.java:100)
      	at org.apache.hadoop.security.alias.CredentialProviderFactory.getProviders(CredentialProviderFactory.java:73)
      	at org.apache.ranger.credentialapi.CredentialReader.getDecryptedString(CredentialReader.java:74)
      	at org.apache.ranger.credentialapi.buildks.createCredential(buildks.java:87)
      	at org.apache.ranger.credentialapi.buildks.main(buildks.java:41)
      Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
      	... 24 more
      

      Command to reproduce:

      java -cp "ext/ranger/install/lib/*" org.apache.ranger.credentialapi.buildks create sslTrustStore -value "test" -provider "jceks://file/<<absolute_path>>/test2.jceks"
      

      Attachments

        Issue Links

          Activity

            People

              taz1988 Zoltán Kornél Török
              taz1988 Zoltán Kornél Török
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h