You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Mickael Maison (JIRA)" <ji...@apache.org> on 2016/03/15 16:07:33 UTC

[jira] [Created] (KAFKA-3404) Issues running the kafka system test Sasl

Mickael Maison created KAFKA-3404:
-------------------------------------

             Summary: Issues running the kafka system test Sasl
                 Key: KAFKA-3404
                 URL: https://issues.apache.org/jira/browse/KAFKA-3404
             Project: Kafka
          Issue Type: Bug
          Components: system tests
    Affects Versions: 0.9.0.1
         Environment: Intel x86_64
Ubuntu 14.04

            Reporter: Mickael Maison


Hi,

I'm trying to run the test_console_consumer.py system test and it's failing while testing the SASL protocols. 

[INFO  - 2016-03-15 14:41:58,533 - runner - log - lineno:211]: SerialTestRunner: kafkatest.sanity_checks.test_console_consumer.ConsoleConsumerTest.test_lifecycle.security_protocol=SASL_SSL: Summary: Kafka server didn't finish startup
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ducktape/tests/runner.py", line 102, in run_all_tests
    result.data = self.run_single_test()
  File "/usr/local/lib/python2.7/dist-packages/ducktape/tests/runner.py", line 154, in run_single_test
    return self.current_test_context.function(self.current_test)
  File "/usr/local/lib/python2.7/dist-packages/ducktape/mark/_mark.py", line 331, in wrapper
    return functools.partial(f, *args, **kwargs)(*w_args, **w_kwargs)
  File "/home/mickael/ibm/messagehub/kafka/tests/kafkatest/sanity_checks/test_console_consumer.py", line 54, in test_lifecycle
    self.kafka.start()
  File "/home/mickael/ibm/messagehub/kafka/tests/kafkatest/services/kafka/kafka.py", line 81, in start
    Service.start(self)
  File "/usr/local/lib/python2.7/dist-packages/ducktape/services/service.py", line 140, in start
    self.start_node(node)
  File "/home/mickael/ibm/messagehub/kafka/tests/kafkatest/services/kafka/kafka.py", line 124, in start_node
    monitor.wait_until("Kafka Server.*started", timeout_sec=30, err_msg="Kafka server didn't finish startup")
  File "/usr/local/lib/python2.7/dist-packages/ducktape/cluster/remoteaccount.py", line 303, in wait_until
    return wait_until(lambda: self.acct.ssh("tail -c +%d %s | grep '%s'" % (self.offset+1, self.log, pattern), allow_fail=True) == 0, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ducktape/utils/util.py", line 36, in wait_until
    raise TimeoutError(err_msg)
TimeoutError: Kafka server didn't finish startup

Looking at the logs from the kafka worker, I can see that Kafka is not able to connect the the kerberos server:
[2016-03-15 14:41:28,751] FATAL [Kafka Server 1], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: Connection refused
	at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:74)
	at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:60)
	at kafka.network.Processor.<init>(SocketServer.scala:379)
	at kafka.network.SocketServer$$anonfun$startup$1$$anonfun$apply$1.apply$mcVI$sp(SocketServer.scala:96)
	at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
	at kafka.network.SocketServer$$anonfun$startup$1.apply(SocketServer.scala:95)
	at kafka.network.SocketServer$$anonfun$startup$1.apply(SocketServer.scala:91)
	at scala.collection.Iterator$class.foreach(Iterator.scala:727)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
	at scala.collection.MapLike$DefaultValuesIterable.foreach(MapLike.scala:206)
	at kafka.network.SocketServer.startup(SocketServer.scala:91)
	at kafka.server.KafkaServer.startup(KafkaServer.scala:179)
	at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
	at kafka.Kafka$.main(Kafka.scala:67)
	at kafka.Kafka.main(Kafka.scala)

Looking at the kerberos worker, I can see it was started fine:
Standalone MiniKdc Running
---------------------------------------------------
  Realm           : EXAMPLE.COM
  Running at      : worker4:worker4
  krb5conf        : /mnt/minikdc/krb5.conf

  created keytab  : /mnt/minikdc/keytab
  with principals : [client, kafka/worker2]

 Do <CTRL-C> or kill <PID> to stop it
---------------------------------------------------

Running netstat on the kerberos worker, I can see that it's listening on 47385:
vagrant@worker4:~$ netstat -ano
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Timer
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      off (0.00/0/0)
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      off (0.00/0/0)
tcp        0      0 0.0.0.0:44313           0.0.0.0:*               LISTEN      off (0.00/0/0)
tcp        0      0 10.0.2.15:22            10.0.2.2:56153          ESTABLISHED keepalive (7165.86/0/0)
tcp        0      0 127.0.0.1:47747         127.0.1.1:47385         TIME_WAIT   timewait (30.08/0/0)
tcp6       0      0 :::111                  :::*                    LISTEN      off (0.00/0/0)
tcp6       0      0 :::22                   :::*                    LISTEN      off (0.00/0/0)
tcp6       0      0 127.0.1.1:47385         :::*                    LISTEN      off (0.00/0/0)
udp6       0      0 :::45368                :::*                                off (0.00/0/0)

>From the same worker, I can connect fine to 47385 (the kerberos port):
vagrant@worker4:~$ nc -vvv worker4 47385
Connection to worker4 47385 port [tcp/*] succeeded!

But this is not working from any of the other workers.

It seems strange that kerberos is listening on the local address and not on the public one. 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)