Uploaded image for project: 'Atlas'
  1. Atlas
  2. ATLAS-4361

Hive Hook can't send notification

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Done
    • 2.1.0
    • None
    • hive-integration
    • None

    Description

      when I create a view

      I get a error 

       

      Caused by: javax.security.auth.login.LoginException: Could not login: the client is being asked for a password, but the Kafka client code does not currently support obtaining a password from the user. not available to garner authentication information from the user

       

      but I make sure keytab and principal is correct

      #Enable for Kerberized Kafka clusters
      atlas.notification.kafka.service.principal=jztwk/hadoop@JOIN.COM
      atlas.notification.kafka.keytab.location=/hadoop/app/jztwk.keytab
      atlas.kafka.security.protocol=SASL_PLAINTEXT
      atlas.kafka.sasl.kerberos.service.name=kafka

      ##############JAAS Configuration ########

      atlas.jaas.KafkaClient.loginModuleName=com.sun.security.auth.module.Krb5LoginModule
      atlas.jaas.KafkaClient.loginModuleControlFlag=required
      atlas.jaas.KafkaClient.option.useKeyTab=true
      atlas.jaas.KafkaClient.option.storeKey=true
      atlas.jaas.KafkaClient.option.serviceName=kafka
      atlas.jaas.KafkaClient.option.keyTab=/hadoop/app/jztwk.keytab
      atlas.jaas.KafkaClient.option.principal=jztwk/hadoop@JOIN.COM

       

      and I modify KafkaNotification.java add a debug

      LOG.debug("sasl.jaas.config is " + newJaasProperty);

       

      I see  

      sasl.jaas.config is  com.sun.security.auth.module.Krb5LoginModule required keyTab="/hadoop/app/jztwk.keytab" storeKey=true useKeyTab=true principal="jztwk/hadoop@JOIN.COM" ;

      in log 

      I use this config to my application.

      that is OK.

       

      Properties props = new Properties();
      props.put("bootstrap.servers", "bigdser1:9092,bigdser2:9092,bigdser3:9092,bigdser4:9092,bigdser5:9092");

      props.put("sasl.jaas.config","com.sun.security.auth.module.Krb5LoginModule required keyTab=\"/hadoop/jztwk.keytab\" storeKey=true useKeyTab=true principal=\"jztwk/hadoop@JOIN.COM\" ;");
      props.put("security.protocol", "SASL_PLAINTEXT");
      props.put("sasl.kerberos.service.name", "kafka");

      props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
      props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
      KafkaProducer<String,String> producer = new KafkaProducer<>(props);

       

      and I can run import-hive.sh

      so, I don't understand why

       

      all node I have run kinit -kt /hadoop/app/jztwk.keytab jztwk/hadoop@JOIN.COM

      -rwxr-xr-x 1 jzyc jzyc 146 Jul 14 08:46 /hadoop/app/jztwk.keytab

       

       

      Attachments

        1. 20210716165232274.png
          87 kB
          ighack

        Activity

          People

            Unassigned Unassigned
            ighack ighack
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: