Created 12-28-2017 05:39 PM
Hi all
I am trying figure out knox gateway
but I have problem when I access services like WEBHDFS
this is error log from /var/log/knox/gateway-audit.log:
17/12/28 21:30:30 ||de5c4e70-c89c-487e-8fea-6260c6701efb|audit|IPADDR|WEBHDFS||||access|uri|/gateway/default/webhdfs/v1|unavailable|Request method: GET 17/12/28 21:30:30 ||de5c4e70-c89c-487e-8fea-6260c6701efb|audit|IPADDR|WEBHDFS||||access|uri|/gateway/default/webhdfs/v1|success|Response status: 401
this is my topology configuration:
<topology>
<gateway>
<provider>
<role>authentication</role>
<name>ShiroProvider</name>
<enabled>true</enabled>
<param>
<name>sessionTimeout</name>
<value>15</value>
</param>
<param>
<name>main.ldapRealm</name>
<value>org.apache.hadoop.gateway.shirorealm.KnoxLdapRealm</value>
</param>
<param>
<name>main.ldapContextFactory</name>
<value>org.apache.hadoop.gateway.shirorealm.KnoxLdapContextFactory</value>
</param>
<param>
<name>main.ldapRealm.contextFactory</name>
<value>$ldapContextFactory</value>
</param>
<param>
<name>main.ldapRealm.contextFactory.url</name>
<value>ldap://ragaca.com:389</value>
</param>
<param>
<name>main.ldapRealm.authorizationEnabled</name>
<value>true</value>
</param>
<param>
<name>main.ldapRealm.contextFactory.authenticationMechanism</name>
<value>simple</value>
</param>
<param>
<name>main.ldapRealm.userDnTemplate</name>
<value>sAMAccountName={0}</value>
</param>
<param>
<name>main.ldapRealm.userSearchAttributeName</name>
<value>sAMAccountName</value>
</param>
<param>
<name>main.ldapRealm.userObjectClass</name>
<value>person</value>
</param>
<param>
<name>main.ldapRealm.contextFactory.systemUsername</name>
<value>CN=testUser,OU=testUsers,DC=ragaca,DC=com</value>
</param>
<param>
<name>main.ldapRealm.contextFactory.systemPassword</name>
<value>*********</value>
</param>
<param>
<name>main.ldapRealm.searchBase</name>
<value>OU=Domain Users & Groups,DC=ragaca,DC=com</value>
</param>
<param>
<name>main.ldapRealm.userSearchBase</name>
<value>Users,OU=Domain Users & Groups,DC=ragaca,DC=com</value>
</param>
<param>
<name>main.ldapRealm.userSearchScope</name>
<value>subtree</value>
</param>
<param>
<name>main.ldapRealm.groupSearchBase</name>
<value>OU=Groups,OU=Domain Users & Groups,DC=ragaca,DC=com</value>
</param>
<param>
<name>main.ldapRealm.groupObjectClass</name>
<value>group</value>
</param>
<param>
<name>main.ldapRealm.memberAttribute</name>
<value>member</value>
</param>
<param>
<name>urls./**</name>
<value>authcBasic</value>
</param>
</provider>
<provider>
<role>identity-assertion</role>
<name>Default</name>
<enabled>true</enabled>
</provider>
<provider>
<role>authorization</role>
<name>AclsAuthz</name>
<enabled>true</enabled>
</provider>
</gateway>
<service>
<role>NAMENODE</role>
<url>hdfs://namenode1.ragaca.com:8020</url>
</service>
<service>
<role>JOBTRACKER</role>
<url>rpc://jt.ragaca.com:8050</url>
</service>
<service>
<role>WEBHDFS</role>
<url>http://namenode1.ragaca.com:50070/</url>
<url>http://namenode2.ragaca.com:50070/</url>
</service>
</topology>
I also have hadoop.proxyuser.knox.hosts=* and hadoop.proxyuser.knox.groups=* in the core-site of the HDFS configuration
could anyone guess what am I missing
Thank you very much and happy new year
Created 01-04-2018 09:01 AM
@Shota Akhalaia, can you try below code block in your topology,
<service> <role>WEBHDFS</role> <url>http://namenode1.ragaca.com:50070/webhdfs</url> </service>
Refer this link.
Created 01-05-2018 08:40 AM
@mvaradkar thank you
tryed but same 401 status in the logs
btw after I enter url in the internet browser (h t t p s :// knox . ragaca . com : 8443/gateway/default/webhdfs/v1) there is 401 not only when I enter my real existing AD username and password but when I enter random symbols in the login prompt there are same "response status 401" in the gateway-audit.log every time
Created 01-05-2018 12:34 PM
Can check main.ldapRealm.contextFactory.systemPassword value in your topology, refer link.
Created 01-06-2018 03:33 AM
can you correct the user search base seems to be incorrect.
Refer : Using Apache Knox with ActiveDirector
<param>
<name>main.ldapRealm.userSearchBase</name>
<value>Users,OU=Domain Users & Groups,DC=ragaca,DC=com</value>
</param>
Created 01-06-2018 07:50 AM
userSearchBase system usernames and passwords are correct, I copied them from working shiro.ini of zeppelin service
Created 01-06-2018 07:57 AM
Is it possible to share the ldapsearch output for a specific user you're trying to access webhdfs.
or use main.ldapRealm.userSearchBase=OU=Domain Users & Groups,DC=ragaca,DC=com and let me know if it works
Created 05-31-2018 07:57 AM
Hi Shota,
Have you fixed your problem ?
I am currently facing same issue.
Thx.