Skip to content

Unable to access kafka brokers externally after using LoadBalancer #209

@ishantanu

Description

@ishantanu

Hi,

I tried exposing the individual Kafka brokers with NodePort and using LoadBalancer as well which created load balancers for each broker. But I am still not able to access them from outside.

Here's what I am seeing in logs:

org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)
	at org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:132)
	at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:93)
	at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:235)
	at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:196)
	at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:547)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:483)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:412)
	at kafka.network.Processor.poll(SocketServer.scala:575)
	at kafka.network.Processor.run(SocketServer.scala:492)
	at java.lang.Thread.run(Thread.java:748)
[2018-10-04 20:43:35,184] WARN [SocketServer brokerId=0] Unexpected error from /172.20.50.156; closing connection (org.apache.kafka.common.network.Selector)
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)
	at org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:132)
	at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:93)
	at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:235)
	at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:196)
	at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:547)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:483)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:412)
	at kafka.network.Processor.poll(SocketServer.scala:575)
	at kafka.network.Processor.run(SocketServer.scala:492)
	at java.lang.Thread.run(Thread.java:748)

Also, is there any other way to expose individual Kafka brokers externally without a need to create a load balancer for each of the brokers?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions