Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-9022

Kerberos config lost + Cluster outage after adding Kafka service or Oozie service (or any service?)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.7.0
    • None
    • None
    • HDP 2.2

    Description

      Adding the Kafka service to an existing kerberized HDP 2.2 cluster resulted in all the Kerberos fields in core-site.xml getting blank or literal "null" string which prevented all the HDFS and Yarn instances from restarting. This caused a major outage - lucky this cluster isn't prod but this is going to bite somebody badly.

      Error observed in NameNode log:

      2015-01-07 09:56:01,958 INFO  namenode.NameNode (NameNode.java:setClientNamenodeAddress(369)) - Clients are to use nameservice1 to access this namenode/service.
      2015-01-07 09:56:02,055 FATAL namenode.NameNode (NameNode.java:main(1509)) - Failed to start namenode.
      java.lang.IllegalArgumentException: Invalid rule: null
              at org.apache.hadoop.security.authentication.util.KerberosName.parseRules(KerberosName.java:331)
              at org.apache.hadoop.security.authentication.util.KerberosName.setRules(KerberosName.java:397)
              at org.apache.hadoop.security.HadoopKerberosName.setConfiguration(HadoopKerberosName.java:75)
              at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:263)
              at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:299)
              at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:583)
              at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:762)
              at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:746)
              at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1438)
              at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1504)
      2015-01-07 09:56:02,062 INFO  util.ExitUtil (ExitUtil.java:terminate(124)) - Exiting with status 1
      2015-01-07 09:56:02,064 INFO  namenode.NameNode (StringUtils.java:run(659)) - SHUTDOWN_MSG:

      Fields which ended up being with "null" string literals in the value field in core-site.xml:

      hadoop.http.authentication.kerberos.keytab
      hadoop.http.authentication.kerberos.principal
      hadoop.security.auth_to_local

      Fields which ended up being blank ("") for value field in core-site.xml:

      hadoop.http.authentication.cookie.domain
      hadoop.http.authentication.cookie.path
      hadoop.http.authentication.kerberos.name.rules
      hadoop.http.authentication.signature.secret
      hadoop.http.authentication.signature.secret.file
      hadoop.http.authentication.signer.secret.provider
      hadoop.http.authentication.signer.secret.provider.object
      hadoop.http.authentication.token.validity
      hadoop.http.filter.initializers

      Previous revisions showed undefined which was definitely not the case for past months this was a working fully kerberized cluster.

      Removing the Kafka service via rest API calls and restarting ambari-server didn't make the config reappear either.

      I had to de-kerberize cluster and re-kerberize the whole cluster in Ambari in order to get all those 12 configuration settings re-populated.

      A remaining side effect of this bug even after recovering the cluster is that all the previous config revisions are now ruined due to the many undefined values that would prevent the cluster from starting and are therefore no longer viable as a backup to revert to for any reason. There doesn't seem to be much I can workaround that.

      Ironically the kafka brokers started up fine after ruining all the core components since Kafka has no security itself.

      Regards,

      Hari Sekhon
      http://www.linkedin.com/in/harisekhon

      Attachments

        Activity

          People

            jspeidel John Speidel
            harisekhon Hari Sekhon
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: