<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172043#M45878</link>
    <description>&lt;P&gt;The tokens aren't passed. zeppelin authenticates itself with livy and as it is a superuser (livy.superusers) livy takes the proxyUser sent by zeppelin and becomes that user.&lt;/P&gt;</description>
    <pubDate>Thu, 26 Jan 2017 20:29:58 GMT</pubDate>
    <dc:creator>michael_salmon</dc:creator>
    <dc:date>2017-01-26T20:29:58Z</dc:date>
    <item>
      <title>Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172037#M45872</link>
      <description>&lt;P&gt;We are looking at setting up Zeppelin on top of Livy Server. Does the following settings pass also the kerberos authentication information. &lt;/P&gt;&lt;PRE&gt;&amp;lt;property&amp;gt;
    &amp;lt;name&amp;gt;hadoop.proxyuser.livy.groups&amp;lt;/name&amp;gt;
    &amp;lt;value&amp;gt;*&amp;lt;/value&amp;gt;
&amp;lt;/property&amp;gt;

&amp;lt;property&amp;gt;
    &amp;lt;name&amp;gt;hadoop.proxyuser.livy.hosts&amp;lt;/name&amp;gt;
    &amp;lt;value&amp;gt;*&amp;lt;/value&amp;gt;
&amp;lt;/property&amp;gt;&lt;/PRE&gt;&lt;P&gt;&lt;A href="https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_zeppelin-component-guide/content/install-livy.html" target="_blank"&gt;https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_zeppelin-component-guide/content/install-livy.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 00:14:30 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172037#M45872</guid>
      <dc:creator>deepak.subhramanian</dc:creator>
      <dc:date>2016-11-11T00:14:30Z</dc:date>
    </item>
    <item>
      <title>Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172038#M45873</link>
      <description>&lt;P&gt;Hi Deepak, see my how-to tutorial:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.hortonworks.com/content/kbentry/65449/ow-to-setup-a-multi-user-active-directory-backed-z.html" target="_blank"&gt;https://community.hortonworks.com/content/kbentry/65449/ow-to-setup-a-multi-user-active-directory-backed-z.html&lt;/A&gt;&lt;/P&gt;&lt;H3&gt;&lt;A href="https://gist.github.com/zeltovhorton/ce3e250a25481bcab1de63c9271acb07#if-you-are-using-self-signed-certificate-download-the-ssl-certificate-to-where-zeppelin-is-running"&gt;&lt;/A&gt;If you are using self-signed certificate, Download the SSL certificate to where zeppelin is running&lt;/H3&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;&amp;lt;code&amp;gt;mkdir -p /etc/security/certificates&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;store the certificate in this directory&lt;/P&gt;&lt;H3&gt;&lt;A href="https://gist.github.com/zeltovhorton/ce3e250a25481bcab1de63c9271acb07#import-certificate-for-zeppelin-to-work-with-the-self-signed-certificate"&gt;&lt;/A&gt;Import certificate for zeppelin to work with the self signed certificate.&lt;/H3&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;&amp;lt;code&amp;gt;cd /etc/security/certificates  &lt;/LI&gt;&lt;LI&gt;keytool -import -alias sampledcfieldcloud -file ad01.your.domain.name.cer -keystore /usr/jdk64/jdk1.8.0_77/jre/lib/security/cacerts&lt;/LI&gt;&lt;LI&gt;keytool -list -v -keystore /usr/jdk64/jdk1.8.0_77/jre/lib/security/cacerts | grep sampledcfieldcloud&lt;/LI&gt;&lt;/OL&gt;&lt;H3&gt;&lt;A href="https://gist.github.com/zeltovhorton/ce3e250a25481bcab1de63c9271acb07#create-home-directory-in-hdfs-for-the-user-that-you-will-login"&gt;&lt;/A&gt;Create home directory in hdfs for the user that you will login:&lt;/H3&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;&amp;lt;code&amp;gt;hdfs dfs -mkdir /user/hadoopadmin&lt;/LI&gt;&lt;LI&gt;hdfs dfs -chown hadoopadmin:hdfs /user/hadoopadmin&lt;/LI&gt;&lt;/OL&gt;&lt;H3&gt;&lt;A href="https://gist.github.com/zeltovhorton/ce3e250a25481bcab1de63c9271acb07#enable-multi-user-zeppelin-use--ambari---zeppelin-notebook-configs"&gt;&lt;/A&gt;Enable multi-user zeppelin use ambari -&amp;gt; zeppelin notebook configs&lt;/H3&gt;&lt;P&gt;expand the Advanced zeppelin-env and look for shiro.ini entry. Below is configuration that works with our sampledcfield Cloud.&lt;/P&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;&amp;lt;code&amp;gt;[users]&lt;/LI&gt;&lt;LI&gt;# List of users with their password allowed to access Zeppelin.&lt;/LI&gt;&lt;LI&gt;# To use a different strategy (LDAP / Database / ...) check the shiro doc at &lt;A href="http://shiro.apache.org/configuration.html#Configuration-INISections" target="_blank"&gt;http://shiro.apache.org/configuration.html#Configuration-INISections&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;#admin = password1&lt;/LI&gt;&lt;LI&gt;#user1 = password2, role1, role2&lt;/LI&gt;&lt;LI&gt;#user2 = password3, role3&lt;/LI&gt;&lt;LI&gt;#user3 = password4, role2&lt;/LI&gt;&lt;LI&gt;# Sample LDAP configuration, for user Authentication, currently tested for single Realm&lt;/LI&gt;&lt;LI&gt;[main]&lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm = org.apache.zeppelin.server.ActiveDirectoryGroupRealm &lt;/LI&gt;&lt;LI&gt;#activeDirectoryRealm.systemUsername = CN=binduser,OU=ServiceUsers,DC=sampledcfield,DC=hortonworks,DC=com&lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.systemUsername = binduser&lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.systemPassword = xxxxxx &lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.principalSuffix = @your.domain.name&lt;/LI&gt;&lt;LI&gt;#activeDirectoryRealm.hadoopSecurityCredentialPath = jceks://user/zeppelin/zeppelin.jceks &lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.searchBase = DC=sampledcfield,DC=hortonworks,DC=com&lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.url = ldaps://ad01.your.domain.name:636 &lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.groupRolesMap = "CN=hadoop-admins,OU=CorpUsers,DC=sampledcfield,DC=hortonworks,DC=com":"admin"&lt;/LI&gt;&lt;LI&gt;activeDirectoryRealm.authorizationCachingEnabled = true &lt;/LI&gt;&lt;LI&gt;sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager &lt;/LI&gt;&lt;LI&gt;cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager &lt;/LI&gt;&lt;LI&gt;securityManager.cacheManager = $cacheManager &lt;/LI&gt;&lt;LI&gt;securityManager.sessionManager = $sessionManager &lt;/LI&gt;&lt;LI&gt;securityManager.sessionManager.globalSessionTimeout = 86400000 &lt;/LI&gt;&lt;LI&gt;#ldapRealm = org.apache.shiro.realm.ldap.JndiLdapRealm&lt;/LI&gt;&lt;LI&gt;#ldapRealm.userDnTemplate = uid={0},cn=users,cn=accounts,dc=example,dc=com&lt;/LI&gt;&lt;LI&gt;#ldapRealm.contextFactory.url = ldap://ldaphost:389&lt;/LI&gt;&lt;LI&gt;#ldapRealm.contextFactory.authenticationMechanism = SIMPLE&lt;/LI&gt;&lt;LI&gt;#sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager&lt;/LI&gt;&lt;LI&gt;#securityManager.sessionManager = $sessionManager&lt;/LI&gt;&lt;LI&gt;# 86,400,000 milliseconds = 24 hour&lt;/LI&gt;&lt;LI&gt;#securityManager.sessionManager.globalSessionTimeout = 86400000&lt;/LI&gt;&lt;LI&gt;shiro.loginUrl = /api/login&lt;/LI&gt;&lt;LI&gt;[roles] &lt;/LI&gt;&lt;LI&gt;admin = * &lt;/LI&gt;&lt;LI&gt;[urls] &lt;/LI&gt;&lt;LI&gt;# anon means the access is anonymous. &lt;/LI&gt;&lt;LI&gt;# authcBasic means Basic Auth Security &lt;/LI&gt;&lt;LI&gt;# To enfore security, comment the line below and uncomment the next one &lt;/LI&gt;&lt;LI&gt;/api/version = anon &lt;/LI&gt;&lt;LI&gt;/api/interpreter/** = authc, roles[admin] &lt;/LI&gt;&lt;LI&gt;/api/credential/** = authc, roles[admin] &lt;/LI&gt;&lt;LI&gt;/api/configurations/** = authc, roles[admin] &lt;/LI&gt;&lt;LI&gt;#/** = anon &lt;/LI&gt;&lt;LI&gt;/** = authc &lt;/LI&gt;&lt;LI&gt;#/** = authcBasic&lt;/LI&gt;&lt;/OL&gt;&lt;H3&gt;&lt;A href="https://gist.github.com/zeltovhorton/ce3e250a25481bcab1de63c9271acb07#grant-livy-ability-to-impersonate"&gt;&lt;/A&gt;Grant Livy ability to impersonate&lt;/H3&gt;&lt;P&gt;Use Ambari to update core-site.xml, restart YARN &amp;amp; HDFS after making this change.&lt;/P&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;&amp;lt;code&amp;gt;&amp;lt;property&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;name&amp;gt;hadoop.proxyuser.livy.groups&amp;lt;/name&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;value&amp;gt;*&amp;lt;/value&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;/property&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;property&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;name&amp;gt;hadoop.proxyuser.livy.hosts&amp;lt;/name&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;value&amp;gt;*&amp;lt;/value&amp;gt;&lt;/LI&gt;&lt;LI&gt;&amp;lt;/property&amp;gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Restart hdfs and yarn after this update.&lt;/P&gt;&lt;P&gt;After running the livy notebook make sure the yarn logs show the logged in user as the user that is running, hadoopadmin is the user that is logged in the zeppelin notebook. You should see 2 applications running the livy-session-X and the zeppelin app running in yarn&lt;/P&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;&amp;lt;code&amp;gt;application_1478287338271_0003  hadoopadmin livy-session-0&lt;/LI&gt;&lt;LI&gt;application_1478287338271_0002  zeppelin    Zeppelin&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Fri, 11 Nov 2016 02:15:06 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172038#M45873</guid>
      <dc:creator>azeltov</dc:creator>
      <dc:date>2016-11-11T02:15:06Z</dc:date>
    </item>
    <item>
      <title>Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172039#M45874</link>
      <description>&lt;P&gt;Thanks &lt;A rel="user" href="https://community.cloudera.com/users/325/azeltov.html" nodeid="325"&gt;@azeltov&lt;/A&gt;. To confirm. Does it also work with a Kerberized Cluster ?I am just wondering how the kerberos information is passed. &lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 02:33:07 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172039#M45874</guid>
      <dc:creator>deepak.subhramanian</dc:creator>
      <dc:date>2016-11-11T02:33:07Z</dc:date>
    </item>
    <item>
      <title>Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172040#M45875</link>
      <description>&lt;P&gt;It does work in Kerberized cluster you will need to create keytabs for zeppelin and livy service account.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 08:19:04 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172040#M45875</guid>
      <dc:creator>azeltov</dc:creator>
      <dc:date>2016-11-11T08:19:04Z</dc:date>
    </item>
    <item>
      <title>Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172041#M45876</link>
      <description>&lt;P&gt;Thanks &lt;A rel="user" href="https://community.cloudera.com/users/325/azeltov.html" nodeid="325"&gt;@azeltov&lt;/A&gt; . Even if we create a kerberos token for zeppelin, how does the kerberos tokens for individual users is passed ? All the access to HDFS, Spark and Hive is managed in Ranger for AD user or group and not for Zeppelin user. &lt;/P&gt;</description>
      <pubDate>Tue, 15 Nov 2016 23:23:05 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172041#M45876</guid>
      <dc:creator>deepak.subhramanian</dc:creator>
      <dc:date>2016-11-15T23:23:05Z</dc:date>
    </item>
    <item>
      <title>Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172042#M45877</link>
      <description>&lt;P&gt;You must use Livy integration for the user tokens to be passed.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2016 00:01:06 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172042#M45877</guid>
      <dc:creator>azeltov</dc:creator>
      <dc:date>2016-11-16T00:01:06Z</dc:date>
    </item>
    <item>
      <title>Re: Is Zeppelin in HDP 2.5 support multi-tenancy on a Kerberized Cluster</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172043#M45878</link>
      <description>&lt;P&gt;The tokens aren't passed. zeppelin authenticates itself with livy and as it is a superuser (livy.superusers) livy takes the proxyUser sent by zeppelin and becomes that user.&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2017 20:29:58 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Is-Zeppelin-in-HDP-2-5-support-multi-tenancy-on-a-Kerberized/m-p/172043#M45878</guid>
      <dc:creator>michael_salmon</dc:creator>
      <dc:date>2017-01-26T20:29:58Z</dc:date>
    </item>
  </channel>
</rss>

