Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

Storm impersonation is not working. Appreciate any suggestions.

avatar
Contributor

When we submit Storm toplogy as any user, it always goes as strom user I guess impersonation is not happening.

1 ACCEPTED SOLUTION

avatar
Expert Contributor

@rakanchi

You need to configure storm_jaas.conf with client properties, and pass to storm topology

storm_jaas.conf 
StormClient { 
com.sun.security.auth.module.Krb5LoginModule required 
useKeyTab=true 
keyTab="/etc/security/keytabs/hdfs.headless.keytab" 
storeKey=true 
useTicketCache=false 
serviceName="nimbus" 
principal="hdfs@example.com"; 
}; 
Client { 
com.sun.security.auth.module.Krb5LoginModule required 
useKeyTab=true 
keyTab="/etc/security/keytabs/hdfs.headless.keytab" 
storeKey=true 
useTicketCache=false 
serviceName="zookeeper" 
principal="hdfs@example.com"; 
}; 

And pass jaas file with -c option

storm jar /usr/hdp/current/storm-client/contrib/storm-starter/storm-starter-*-jar-with-dependencies.jar storm.starter.WordCountTopology wordcount -c java.security.auth.login.config=/my/custom/jaas/path

Let me know if it helps!

View solution in original post

2 REPLIES 2

avatar
Expert Contributor

@rakanchi

You need to configure storm_jaas.conf with client properties, and pass to storm topology

storm_jaas.conf 
StormClient { 
com.sun.security.auth.module.Krb5LoginModule required 
useKeyTab=true 
keyTab="/etc/security/keytabs/hdfs.headless.keytab" 
storeKey=true 
useTicketCache=false 
serviceName="nimbus" 
principal="hdfs@example.com"; 
}; 
Client { 
com.sun.security.auth.module.Krb5LoginModule required 
useKeyTab=true 
keyTab="/etc/security/keytabs/hdfs.headless.keytab" 
storeKey=true 
useTicketCache=false 
serviceName="zookeeper" 
principal="hdfs@example.com"; 
}; 

And pass jaas file with -c option

storm jar /usr/hdp/current/storm-client/contrib/storm-starter/storm-starter-*-jar-with-dependencies.jar storm.starter.WordCountTopology wordcount -c java.security.auth.login.config=/my/custom/jaas/path

Let me know if it helps!

avatar
Rising Star

in your /home/<user>/.storm/storm.yaml file,need to specify following property

supervisor.run.worker.as.user : true