Help starting RangerKMS

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Help starting RangerKMS

Benjamin Ross
Hey guys,
I'm trying to start the RangerKMS server and I'm running into this very obscure error.  Any help would be appreciated.  We have confirmed JCE is installed on the node running RangerKMS.  We're using Java JDK 1.7 and Ranger 0.5.0.2.3 (HDP 2.3.6.0-3796).


[root@bodcdevhdp6 kms]# cat catalina.out 
Aug 25, 2016 5:19:00 PM org.apache.ranger.server.tomcat.EmbeddedServer start
INFO: Webapp file =./webapp, webAppName = /kms
Aug 25, 2016 5:19:00 PM org.apache.ranger.server.tomcat.EmbeddedServer start
INFO: Adding webapp [/kms] = path [./webapp] .....
Aug 25, 2016 5:19:00 PM org.apache.ranger.server.tomcat.EmbeddedServer start
INFO: Finished init of webapp [/kms] = path [./webapp].
log4j:WARN No appenders could be found for logger (org.apache.catalina.loader.WebappClassLoaderBase).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
javax.crypto.BadPaddingException: Given final block not properly padded
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
        at com.sun.crypto.provider.PBECipherCore.doFinal(PBECipherCore.java:422)
        at com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher.engineDoFinal(PBEWithMD5AndTripleDESCipher.java:326)
        at javax.crypto.Cipher.doFinal(Cipher.java:2087)
        at org.apache.hadoop.crypto.key.RangerMasterKey.decryptKey(RangerMasterKey.java:192)
        at org.apache.hadoop.crypto.key.RangerMasterKey.decryptMasterKey(RangerMasterKey.java:100)
        at org.apache.hadoop.crypto.key.RangerMasterKey.getMasterKey(RangerMasterKey.java:72)
        at org.apache.hadoop.crypto.key.RangerKeyStoreProvider.<init>(RangerKeyStoreProvider.java:93)
        at org.apache.hadoop.crypto.key.RangerKeyStoreProvider$Factory.createProvider(RangerKeyStoreProvider.java:386)
        at org.apache.hadoop.crypto.key.KeyProviderFactory.get(KeyProviderFactory.java:95)
        at org.apache.hadoop.crypto.key.kms.server.KMSWebApp.contextInitialized(KMSWebApp.java:176)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

ERROR: Hadoop KMS could not be started

REASON: java.lang.NullPointerException

Stacktrace:
---------------------------------------------------
java.lang.NullPointerException
        at org.apache.hadoop.crypto.key.kms.server.KMSWebApp.contextInitialized(KMSWebApp.java:178)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
---------------------------------------------------


This message has been scanned for malware by Websense. www.websense.com

Reply | Threaded
Open this post in threaded view
|

RE: Help starting RangerKMS

Benjamin Ross
I actually figured this out.  It was pretty simple - the issue was that the ranger KMS master key was generated when the system didn't have JCE installed.  So I had to delete the master key and let the system regenerate it.



From: Benjamin Ross
Sent: Friday, August 26, 2016 9:49 AM
To: [hidden email]
Subject: Help starting RangerKMS

Hey guys,
I'm trying to start the RangerKMS server and I'm running into this very obscure error.  Any help would be appreciated.  We have confirmed JCE is installed on the node running RangerKMS.  We're using Java JDK 1.7 and Ranger 0.5.0.2.3 (HDP 2.3.6.0-3796).


[root@bodcdevhdp6 kms]# cat catalina.out 
Aug 25, 2016 5:19:00 PM org.apache.ranger.server.tomcat.EmbeddedServer start
INFO: Webapp file =./webapp, webAppName = /kms
Aug 25, 2016 5:19:00 PM org.apache.ranger.server.tomcat.EmbeddedServer start
INFO: Adding webapp [/kms] = path [./webapp] .....
Aug 25, 2016 5:19:00 PM org.apache.ranger.server.tomcat.EmbeddedServer start
INFO: Finished init of webapp [/kms] = path [./webapp].
log4j:WARN No appenders could be found for logger (org.apache.catalina.loader.WebappClassLoaderBase).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
javax.crypto.BadPaddingException: Given final block not properly padded
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
        at com.sun.crypto.provider.PBECipherCore.doFinal(PBECipherCore.java:422)
        at com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher.engineDoFinal(PBEWithMD5AndTripleDESCipher.java:326)
        at javax.crypto.Cipher.doFinal(Cipher.java:2087)
        at org.apache.hadoop.crypto.key.RangerMasterKey.decryptKey(RangerMasterKey.java:192)
        at org.apache.hadoop.crypto.key.RangerMasterKey.decryptMasterKey(RangerMasterKey.java:100)
        at org.apache.hadoop.crypto.key.RangerMasterKey.getMasterKey(RangerMasterKey.java:72)
        at org.apache.hadoop.crypto.key.RangerKeyStoreProvider.<init>(RangerKeyStoreProvider.java:93)
        at org.apache.hadoop.crypto.key.RangerKeyStoreProvider$Factory.createProvider(RangerKeyStoreProvider.java:386)
        at org.apache.hadoop.crypto.key.KeyProviderFactory.get(KeyProviderFactory.java:95)
        at org.apache.hadoop.crypto.key.kms.server.KMSWebApp.contextInitialized(KMSWebApp.java:176)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

ERROR: Hadoop KMS could not be started

REASON: java.lang.NullPointerException

Stacktrace:
---------------------------------------------------
java.lang.NullPointerException
        at org.apache.hadoop.crypto.key.kms.server.KMSWebApp.contextInitialized(KMSWebApp.java:178)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
---------------------------------------------------


This message has been scanned for malware by Websense. www.websense.com