10
votes

In order to replicate this issue run docker run zookeeper then docker-compose up on the below yaml file.

I am using zookeeper latest image, wurstmeister/kafka:0.9.0.0-1 and sheepkiller/kafka-manager:latest. I ran docker-compose up and finallzy got it working but now I get the following error:

enter image description here

I have searched git and stack over flow with no avail. Everything looks fine until I save a cluster. In the Kafka logs I get:

[warn] o.a.z.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect kafka-manager_1 | java.net.ConnectException: Connection refused kafka-manager_1 | at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_151] kafka-manager_1 | at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_151] kafka-manager_1 | at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[org.apache.zookeeper.zookeeper-3.4.6.jar:3.4.6-1569965] kafka-manager_1 | at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) ~[org.apache.zookeeper.zookeeper-3.4.6.jar:3.4.6-1569965]

I also seen this:

INFO Got user-level KeeperException when processing sessionid:0x160fb22e9f50000 type:create cxid:0x2a zxid:0x3e txntype:-1 reqpath:n/a Error Path:/brokers/ids Error:KeeperErrorCode = NodeExists for /brokers/ids (org.apache.zookeeper.server.PrepRequestProcessor)

This can be replicated by starting zookeeper and taking the below yaml file config and running docker-compose up. I have been at this on an off for a week and am not sure why it is not working.

Yaml file:

zookeeper:
  image: confluent/zookeeper
  ports:
    - "2181:2181"

kafka:
  image: wurstmeister/kafka:0.9.0.0-1
  ports:
    - "9092:9092"
  links:
    - zookeeper:zk
  environment:
    - KAFKA_ADVERTISED_HOST_NAME
    - KAFKA_ADVERTISED_PORT=9092
    - KAFKA_DELETE_TOPIC_ENABLE=true
    - KAFKA_LOG_RETENTION_HOURS=1
    - KAFKA_MESSAGE_MAX_BYTES=10000000
    - KAFKA_REPLICA_FETCH_MAX_BYTES=10000000
    - KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS=60000
    - KAFKA_NUM_PARTITIONS=2
    - KAFKA_DELETE_RETENTION_MS=1000


kafka-manager:
  image: sheepkiller/kafka-manager:latest
  ports:
    - "9000:9000"
  links:
    - zookeeper
    - kafka
  environment:
    ZK_HOSTS: zookeeper:2181
    APPLICATION_SECRET: letmein
    KM_ARGS: -Djava.net.preferIPv4Stack=true

Cluster:

enter image description here

More cluster settings:

enter image description here Then I get:

enter image description here

and then:

enter image description here

I run docker run -it -d zookeeper, then docker-compose up on that yml file. It starts up but crashes when I create a cluster.

Docker config:

Containers: 53 Running: 2 Paused: 0 Stopped: 51 Images: 13 Server Version: 17.12.0-ce Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 89623f28b87a6004d4b785663257362d1658a729 runc version: b2567b37d7b75eb4cf325b77297b140ea686ce8f init version: 949e6fa Security Options: seccomp Profile: default Kernel Version: 4.9.60-linuxkit-aufs Operating System: Docker for Windows OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 1.934GiB Name: linuxkit-00155dc95329 ID: YJE3:ZJKS:BJCF:TY4W:BU2Y:U7ZO:5P4B:PYMQ:SLVH:KTXD:V2OS:XKCD Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): true File Descriptors: 19 Goroutines: 36 System Time: 2018-01-23T09:47:18.7698506Z EventsListeners: 1 Registry: https://index.docker.io/v1/ Labels: Experimental: true Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

1

1 Answers

0
votes

Tune the below mentioned configuration and your timeout error will be fixed.

  • kafka-manager.broker-view-thread-pool-size=< 3 * number_of_brokers>

  • kafka-manager.broker-view-max-queue-size=< 3 * total # of partitions across all topics>

  • kafka-manager.broker-view-update-seconds=< kafka-manager.broker-view-max-queue-size / (10 * number_of_brokers) >

  • kafka-manager.offset-cache-thread-pool-size=< default is # of processors>

  • kafka-manager.offset-cache-max-queue-size=< default is 1000>
  • kafka-manager.kafka-admin-client-thread-pool-size=< default is # of processors>
  • kafka-manager.kafka-admin-client-max-queue-size=< default is 1000>