Kafka Producer 인 Kafka bridge 에서 MQTT Broker (종류 중 Emqx 사용함)의 hello-kafka 토픽을 sub 하고 있는 상태이며, pub 된 데이터를 kafka cluster 의 hello-kafka-cluster 토픽으로 전달(=produce). InetAddress. The Ambari Web UI for the cluster is displayed. The important thing here is that you have KAFKA_ADVERTISED_HOST_NAME is set. if advertised. listeners instead. getCanonicalHostName(). Ensure the kafka-jmx-exporter and kafka containers are on the same network (backend) Ensure the JMX_HOST value for the kafka-jmx-exporter container matches the KAFKA_ADVERTISED_HOST_NAME on the kafka container; Ensure the KAFKA_ADVERTISED_HOST_NAME has a corresponding entry in /etc/hosts. Follow the version recommended on forum for that appian version. For the recent versions of Kafka (0. Dattell's Kafka as a Service is a fully managed, high-throughput, distributed messaging system built on your cloud instances or on-prem servers, providing enhanced security and reduced latency for your data. properties of the kafka server with the public IP of the server. If these settings are not configured correctly it then may think that the leader is. Kafka is used for building real-time data pipelines and streaming apps. 99 Consumer. Hi guys, Today we gonna talk about Kafka Broker Properties. We can go back and tweak some of the environment variables as input for this new operation but for this demo, we really don’t need to make any of these changes. KafkaはBrokerがデータの投入先をProducerに通知するため、単にSSHポートフォワーディングをしただけではSSHを通して投入できない。 「advertised. Kafka is shipped with command line tool named kafka-topics. For more details, see the Strimzi documentation. The advertised listeners configuration setting describes how the host name that is advertised and can be reached by the client. name= # The port to publish to ZooKeeper for clients to use. name=localhost # A comma seperated list of directories under which to store log files. Kafka has stronger ordering guarantees than a traditional messaging system, too. org states that, Kafka runs as a cluster, on one or more servers. where kafka-broker-host-name is the FQDN of the broker that you selected from the Instances page in Cloudera Manager. Kafka is a fast, horizontally scalable, fault-tolerant, message queue service. Theoretically, I can even use Docker for setting up a development environment, although after a few days of attempting this I still think you’re better off running natively. dirs; zookeeper. DEPRECATED: only used when `advertised. There are a few Helm based installers out there including the official Kubernetes incubator/kafka. In today's world, we often meet requirements for real-time data processing. memeanalytics" and artifactId="storm-kafka-mysql"). listeners is registered with ZooKeeper instead of the operating system's hostname. yml to match your docker host IP (Note: Do not use localhost or 127. In a nutshell, they enable you to easily search through your log files, slice & dice them visually, drill into problem timeframes, and generally be the boss of knowing. Apache Kafka is a high-performance distributed streaming platform deployed by thousands of companies. (Stephane Maarek, DataCumulus) Kafka Summit SF 2018 Security in Kafka is a cornerstone of true enterprise production-ready deployment: It enables companies to control access to the cluster and limit risks in data corruption and unwanted operations. properties file must be set to the machine’s IP address. To make things easy for myself, I've created a Docker Compose template that launches 3 containers: broker - our Kafka broker zookeeper - used by Kafka for leader. string: null: low: rest. When I activate the transparent proxy they aren‘t able to send mails (503 AUTH command used when not advertised). Even the [b]nslookup[/b] command doesn't seem to find the hostname of itself. #advertised. To expose Kafka port externally enable SSL/TLS configuration in Kafka. port in favor of a more flexible listener configuration that supports multiple listeners using the same or different protocols. The following docker-compose. properties file. as we are dealing with String messages we can use a Kafka out-of-the-box serializer class kafka. See screenshot below 5. name" in the # server. explicitly, using KAFKA_ADVERTISED_HOST_NAME. These examples are extracted from open source projects. The required host and IP address is determined based on the data that the broker passes back in the initial connection (e. 1 as the host ip if you want to run multiple brokers. KAFKA_ADVERTISED_PORT : 클라이언트가 사용할 수 있도록 ZooKeeper에 advertise할 포트 번호 (advertised. 99 Consumer. We need to alter the environment variable KAFKA_ADVERTISED_HOST_NAME to localhost. KAFKA_ADVERTISED_LISTENERS is a comma-separated list of listeners with their the host/ip and port. 同时kafka_broker_id设为2,kafka_advertised_port设为9093。 需要注意的是,当有不止一个kafka broker时,这里的hostname不能再设为localhost。 建议设为本机IP地址。. It could be related to advertised. Introduction to Apache Kafka Connect. int: null: low: rest. wurstmeister/kafka With the separate images for Apache Zookeeper and Apache Kafka in wurstmeister/kafka project and a docker-compose. Could sending in hostnames, instead of strict IP addresses, be supported for the advertised. Setup Kafka Create a local Docker network. Event processor will consume events from Kafka topics and will do further processing on events. The holy trinity of Elasticsearch, Logstash, and Kibana (ELK) are a powerful trio of tools for data discovery and systems diagnostics. listeners property defines hostname and port exposed to producers and consumers. The Ambari Web UI for the cluster is displayed. First, is KAFKA_ADVERTISED_HOST_NAME set to localhost. nameは既に廃止予定です。. …But if your Kafka client is not on the same network,…. That ensures that the Kafka broker advertises an address that is accessible from both local and external hosts. But would reload of the Kafka config with new zk nodes be a better option? But as you said, if we cannot reload the server. I managed to get a good demonstration set-up for spring-session using docker-compose which shows off the strengths of this project and I wanted to write about this here. (See links to previous articles at end. The Kafka advertised listeners advertise hostnames for which the DNS server holds multiple A records, corresponding to the IPs of all LBs. This blog post doesn’t want to be an exhaustive tutorial to describe the way to go for having Apache Kafka deployed in an OpenShift or Kubernetes cluster but just the story of my journey for having a “working” deployment and using it as a starting point to improve over time with a daily basis work in progress. port 这两个个配置项,就配置advertised. And so in this case, the advertised hostname is 172. 3) and I have my cluster running on Amazon (EC2). sh, this can be used to test Kafka (and therefore Kafka - ZooKeeper communications). If KAFKA_ADVERTISED_HOST_NAME is specified, it takes precedence over HOSTNAME_COMMAND. x broker配置弃用了advertised. yml to provide KAFKA_ADVERTISED_HOST_NAME and KAFKA_ZOOKEEPER_CONNECT host ips. port and tries to connect. Setup ELK Stack & Apache Kafka from Docker Compose YAML File February 06, 2017 This tutorial is to setup ELK stack and Apache Kafka environment using one docker-compose YAML file. Used existing Zookeeper server ip was 192. with groupId="com. Partition count is a topic-level setting, and the more. Kafka is a distributed streaming platform and the Kafka broker is the channel through which the messages are passed. We need to alter the environment variable KAFKA_ADVERTISED_HOST_NAME to localhost. Configure Kafka IP Advertising. 3) and I have my cluster running on Amazon (EC2). Kafka has stronger ordering guarantees than a traditional messaging system, too. name is already deprecated. properties | grep advertised) If these addresses are different, they are most probably causing your problem. This was nothing to do with the Kafka configuration! This was running on AWS ECS(EC2, not Fargate) and as there is currently a limitation of 1 target group per task so 1 target group was used in the background for both listeners (6000 & 7000). list会设置成kafka服务器的IP和地址。但这个只是获取一些元信息,后续发送消息时会根据获取的元信息来发送,而获取得元信息中,由于advertised. Using Docker to Build a Data Acquisition Pipeline with Kafka and HBase | March 3rd, 2015. For example, KAFKA_CREATE_TOPICS_SEPARATOR: "$$'\n"' would use a newline to split the topic definitions. Software Delivery Fails With Error: Program has failed with return code = -2147024894. connect下文将详细论述了主题级别配置和默认值。名称描述类型默认有效值重要程度zookeeper. GraalVM installed if you want to run in native mode. The Ambari Web UI for the cluster is displayed. name and advertised. The fancy trick here is that curl pulls the tar down and pipes it through tar, directly into the current folder (which is the Kafka Connect JDBC folder). Kafka QuickStart, advertised. We use private networking and hostname addressing (KAFKA_ADVERTISED_HOST_NAME environment variable) for security reasons in our stack. We will run a Kafka cluster with a single broker, therefore, we first need to edit the file docker-compose-single-broker. In the first article, we provided an introduction to the topic, and here we will look at exposing an Apache Kafka cluster managed by Strimzi using node ports. Configure Kafka IP Advertising. bytes parameter set the environment to KAFKA_MESSAGE_MAX_BYTES: 2000000. Create a solution and CacheBuilder project (You can see the complete code in GitHub):. name=localhost # Hostname the broker will advertise to producers and consumers. Running kafka-docker on a Mac: Install the Docker Toolbox and set KAFKA_ADVERTISED_HOST_NAME to the IP that is returned by the docker-machine ip command. listeners; KAFKA_LISTENER_SECURITY_PROTOCOL_MAP defines key/value pairs for the security protocol to use, per listener name. listeners` instead. TLS, Kerberos, SASL, and Authorizer in Apache Kafka 0. Kafka has stronger ordering guarantees than a traditional messaging system, too. name:是注册到zookeeper,client要访问的broker地址。(可能producer也是拿这个值,没有验证) 如果advertised. --name test_kafka gives the container a name. 103 username ahenrick and password ahenrick. You can vote up the examples you like and your votes will be used in our system to generate more good examples. out为全量日志,刚开始查分日志未查询到结果。. Welcome folks,Read about microservices/ event-driven architecture first. port for client connection. 现在,在producer里输入任何内容,都会在consumer里收到。 跨container的部署. If one LB isn't available, but the client is able to use another IP for the same hostname (it connects to the 2nd LB for example) the service stays available. Kafka is designed for parallel processing and, like the act of parallelization itself, fully utilizing it requires a balancing act. name gives kafka. com, the only one from spotify/kafka supports Kafka 0. However, although the server hands out messages in order, the messages are deliv. So to summarize, the solution to this was to add a route via NAT so that the machine can access its own external IP address. The host name of the firewall is fw1. These are meant to supplant the older Scala clients, but for compatability they will co-exist for some time. You can configure the advertised hostname in different ways. GraalVM installed if you want to run in native mode. {"categories":[{"categoryid":387,"name":"app-accessibility","summary":"The app-accessibility category contains packages which help with accessibility (for example. --hostname kafka tells the container that its hostname will be kafka; it doesn’t mean anything outside of the container. Introduction This blog will show you how to deploy Apache Kafka cluster on Kubernetes. Hi guys, Today we gonna talk about Kafka Broker Properties. port properties were removed from the default Kafka configuration file, some Docker images expect these properties to exist and are thus having a strange issue (see KAFKA-3568). less than 30 minutes. 0)では、 advertised. name=localhost Then restart the Kafka server, producer. port in favor of a more flexible listener configuration that supports multiple listeners using the same or different protocols. Login with hostname 192. listeners //:9092. Apache Storm and Kafka Cluster with Docker. listeners; KAFKA_LISTENER_SECURITY_PROTOCOL_MAP defines key/value pairs for the security protocol to use per listener name. Since I did not find complete steps on the web, I wanted to document them quickly, hoping to save someone's time. 官网下载并解压12$ tar -xzf kafka_2. Hostname to publish to ZooKeeper for clients to use. name= And connect from clients to This should fix your issue. TimeoutException: Timeout of 60000ms expired before the position for partition pipeline-0 could be determined public class Main { public static void main( String[] args ) throws Exception. inside docker. name is already deprecated. The Kafka brokers will listen for Consumer applications and Producers on port 9094. Zero-2-Eventing in minutes: Dockerize Apache Kafka on Oracle Container Cloud Messaging platform with extreme scaling, fault-tolerance, replication, parallelism, real-time streaming and load balancing - Apache Kafka is arguably the most commonly used distributed messaging platform today. Repeat the above step for all the. KAFKA_CREATE_TOPICS — Create a test topic with 5 partitions and 2 replicas. LeaderNotAvailableException. name gives kafka. listeners` or `listeners` are not set. --name test_kafka gives the container a name. It could be related to advertised. The "log" directories are where Kafka retains topic history until is has expired:. In that case, you might want to open NodePort on your worker node and provide node_ip and port as "advertised. 1’) if you are not planning to have your own clients (consumers or producers) outside this container. And, this list is meant for development on Kafka internals. Jonas Bonér: I don't know if it will be debated, but I've seen microservices-based solutions that were actually working with one single, common database that all of them talk to, which means that unless you actually make sure that you do things right, partition things right and define the schema correctly, it can allow one microservice to call. wurstmeister/kafka gives separate images for Apache Zookeeper and Apache Kafka while spotify/kafka runs both Zookeeper and Kafka in the same container. Step two is the kafka client spinning up a worker for each broker, each trying to connect to one of the advertised addresses. Zookeeper uses the address it finds in advertised. In this post we're going to learn how to launch Kafka locally and write to and read from a topic using one of the Python drivers. 同时kafka_broker_id设为2,kafka_advertised_port设为9093。 需要注意的是,当有不止一个kafka broker时,这里的hostname不能再设为localhost。 建议设为本机IP地址。. out为全量日志,刚开始查分日志未查询到结果。. If long garbage collection pauses cause Kafka to lose its ZooKeeper session, you might need to configure longer timeout values. And finally, mongo-db defines our sink database, as well as the web-based mongoclient, which helps us to verify whether the sent data arrived correctly in the database. #advertised. yml up -d 当我们遇到服务启动需要先后顺序时,我们可以对docker-compose. Log Basics. yml configuration for Docker Compose that is a very good. nameをまったく使用したくありません。 実際、[ドキュメント]でも、 advertised. After installing compose, modify the KAFKA_ADVERTISED_HOST_NAME in docker-compose. js, Kafka is a enterprise level tool for sending messages across the microservices. Unlike many other systems, all nodes in Kafka Connect can respond to REST requests, including creating, listing, modifying, and destroying connectors When executed in distributed mode , the REST API is the primary interface to the cluster. Let's now build and run the simples example of a Kafka Consumer and then a Kafka Producer using spring-kafka. Open a third SSH connection, and then run the following commands: cd /opt/kafka_2. name参数_裴大帅2019_新浪博客,裴大帅2019,. You can vote up the examples you like and your votes will be used in our system to generate more good examples. The private IP is associated to the hostname. Then set advertised. If not set, the value for listeners is used. We can see many use cases where Apache Kafka stands with Apache Spark, Apache Storm in Big Data architecture which need real-time processing, analytic capabilities. properties there is a commented configuration. Apache Kafka is a software that tries to solve this by using events. it says no such file or directory, I moved on with next step of starting the server, 1st starting zookeeper server. InetAddress. In many deployments, administrators require fine-grained access control over Kafka topics to enforce important requirements around confidentiality and integrity. name is already deprecated. It finds kafka is aliased to kafka-1 container name and it finds kafka-1. name` if configured. 3) and I have my cluster running on Amazon (EC2). In a nutshell, they enable you to easily search through your log files, slice & dice them visually, drill into problem timeframes, and generally be the boss of knowing. Hostname to publish to ZooKeeper for clients to use. 7, there is a new universal Kafka connector that does not track a specific Kafka major version. 0 as of this writing), you don't want to use advertised. In this post we’re going to learn how to launch Kafka locally and write to and read from a topic using one of the Python drivers. …But if your Kafka client is not on the same network,…. sh I saw that it was trying to connect to the broker using the container's name (which is the first few characters of a GUID). • You MUST define the KAFKA_FQDN as a ‘hostname’ that can be resolved inside the docker container. Kafka is little bit difficult to set up in local. In the last blog post I had described how the Sidecar application can be used for registering the Cassandra nodes with Eureka and more generally can be used for registering any non-JVM application with Eureka. Some customers have implemented caching layers to reduce load on Influx and reduce “hangtime” of said queries. name= Specify the host name that the broker binds to. If this is not set, it will use the value for `host. The containers zookeeper and kafka define a single-node Kafka cluster. According to the docs, setting KAFKA_ADVERTISED_HOST_NAME in the environment section should change the advertised host, right? It doesn't appear to work. properties file in Kafka there are two properties with…. To create the Storm topology which consumes messages from Kafka and persists them to MySQL database, create a Maven project (e. OK, when running the client kafka-console-consumer. The advertised. Otherwise, it will use the value returned from # java. listeners setting?. In this blog post we're gonna put Kafka in between the OrderResource controller and our Spring Boot back-end system and use Spring Cloud Stream to ease development: Upon creation of a JHipster application you will be…. listeners 또는 listener가 설정되어 있지 않은 경우에만 사용) ※ KAFKA_ADVERTISED_HOST_NAME과 KAFKA_ADVERTISED_PORT 환경 변수보다 KAFKA_ADVERTISED_LISTENERS 사용을 권장. laravel 寫些什麼. yml KAFKA_ADVERTISED_HOST_NAME: [[HOST주소]] windows / docker-toolbox를 사용할 경우 docker-machine을 사용하기 때문에 아래 명령어를 통해 machine의 IP를 적어주어야 합니다. This parameter also plays an important role while forming a cluster. list / How it works… request. docker-compose -f docker-kafka. More Specifically, advertised. Kafka uses key-value pairs in the property file format for configuration. Used existing Zookeeper server ip was 192. 1 bin/kafka-console-consumer. Let's now build and run the simples example of a Kafka Consumer and then a Kafka Producer using spring-kafka. x broker配置弃用了advertised. While there are many great tutorials to integrate Java and Python applications into Kafka, PHP is often left out. Step two is the kafka client spinning up a worker for each broker, each trying to connect to one of the advertised addresses. advertised. Environment. yml to match your docker host IP (Note: Do not use localhost or 127. If you see frequent disconnection from the ZooKeeper server, review this setting. Introduction. …And basically, if your Kafka client…is on the same private network, you're fine. Access Kafka Broker¶ Making full use of the development environment means you should be able to access the Kafka instance inside the Docker container. Environment variables: KAFKA_ADVERTISED_HOST_NAME: kafka-ypimp-2 KAFKA. name= # The port to publish to ZooKeeper for clients to use. In order to run Kafka, you need a Zookeeper instance and Kafka instance. 机器有两块网卡,kafka的 host. One way is to give the local mapping of the zk local hostname to ip in /etc/hosts file and change it to the new ip when the node changes. name and advertised. listeners; KAFKA_LISTENER_SECURITY_PROTOCOL_MAP defines key/value pairs for the security protocol to use, per listener name. And so in this case, the advertised hostname is 172. 0)では、 advertised. Change the Kafka Advertised Hostname to localhost:. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. Login with hostname 192. Since I did not find complete steps on the web, I wanted to document them quickly, hoping to save someone's time. listeners property. Kafka Producer 인 Kafka bridge 에서 MQTT Broker (종류 중 Emqx 사용함)의 hello-kafka 토픽을 sub 하고 있는 상태이며, pub 된 데이터를 kafka cluster 의 hello-kafka-cluster 토픽으로 전달(=produce). 1’) if you are not planning to have your own clients (consumers or producers) outside this container. In the above sample configurations we used PLAINTEXT and SSL protocols for the SSL enabled brokers. Advertised hostname. LeaderNotAvailableException. If you want to connect to a remote Kafka broker you need to update the advertised. 100 into: KAFKA_ADVERTISED_HOST_NAME: localhost. port: If this is set, this is the port that will be given out to other workers to connect to. 现象:kafka集群频繁挂掉 排查日志:查看日志文件【kafkaServer. advertised. Today we are going to build some microservices communicating with each other asynchronously through Apache Kafka topics. The Ambari Web UI for the cluster is displayed. Specify one or more input streams that are read from Kafka topics. Kafka on Rails: Using Kafka with Ruby on Rails – Part 1 – Kafka basics and its advantages Kafka on Rails: Using Kafka with Ruby on Rails – Part 2 – Getting started with Ruby and Kafka Kafka Docker local setup Before we proceed with combining Kafka with Ruby, it would be good to have […]. The fancy trick here is that curl pulls the tar down and pipes it through tar, directly into the current folder (which is the Kafka Connect JDBC folder). These examples are extracted from open source projects. #advertised. It is mainly because of its statefulness. Although it is not recommended we should disable dynamic expose port generation by setting static port number equal to the container binding port 9092. StringEncoder. When a kafka broker joins a kafka cluster, it broadcasts its public "advertised address" to all other brokers in the cluster, so they can update the cluster metadata. The fancy trick here is that curl pulls the tar down and pipes it through tar, directly into the current folder (which is the Kafka Connect JDBC folder). What I am trying to do is to write messages from a remote machine to my Kafka. But would reload of the Kafka config with new zk nodes be a better option? But as you said, if we cannot reload the server. 5 base version and its fix packs, see Other supported software. …So the Kafka client says, okay, I'm going to use this IP now. name: Hostname for the REST API. Toggle navigation Bennett Notes. Advertised hostname. It finds kafka is aliased to kafka-1 container name and it finds kafka-1. Replace CLUSTERNAME with the name of the Kafka on HDInsight cluster. 官网下载并解压12$ tar -xzf kafka_2. To create the Storm topology which consumes messages from Kafka and persists them to MySQL database, create a Maven project (e. yml by adding one. If you do not specify a value, the broker binds to all interfaces. Once it’s done this, it launches the Kafka Connect Docker run script. Event processor will consume events from Kafka topics and will do further processing on events. LeaderNotAvailableException 94 3 我可以在本地的一台机器上找到一个简单的节点 Kafka ( kafka_2. There are quite a few tools on the market that allow us to achieve this. If you are not sure what it is, you can compare it with a message queue like JMS, ActiveMQ, RabbitMQ etc. IoT 기기에서 MQTT 프로토콜로 MQTT Broker 에 hello-kafka 토픽에 데이터 전송(=pub). A Kafka Broker advertises the endpoint accepting client connections and this endpoint must be accessible to your client. This wonderfully weird classic of an average family with an unacceptable member is studied in universities across the globe. Advertised hostname. Sorry if this seems more a Kafka question, but given what is happing I'm putting this out there for both communities with hopes of helping both - thanks. I have configured zookeeper for kerberos and it has started but after configuring kafka for kerberos authentication, broker is not starting, giving below error,. TimeoutException: Timeout of 60000ms expired before the position for partition pipeline-0 could be determined public class Main { public static void main( String[] args ) throws Exception. In the above sample configurations we used PLAINTEXT and SSL protocols for the SSL enabled brokers. 1 Broker Configs The essential configurations are the following: broker. 最近のバージョンのKafka(この記事の時点では0. In this short article, I will show you a simple way to run Kafka locally with Docker. Run the tool with the -zookeeper parameter and specify one of the zookeeper servers and port, the name after the slash is the chroot path; and lastly add the -list parameter, to list all topics. Hi guys, Today we gonna talk about Kafka Broker Properties. Kafka, in a nutshell, allows us to do three important tasks: Publish and subscribe to streams of data. These clients are available in a seperate jar with minimal dependencies, while the old Scala clients remain packaged with the server. If these settings are not configured correctly it then may think that the leader is. 0 as of this writing), you don't want to use advertised. 3) and I have my cluster running on Amazon (EC2). At the same time, lets rename server. nameをまったく使用したくありません。 実際、[ドキュメント]でも、 advertised. The address advertised by the Kafka broker (kubectl exec my-cluster-kafka- -c kafka -it -- cat /tmp/strimzi. answered Jul 9, 2018 by Shubham • 13,300 points. dirs must exist & must be unique for every broker instance. To make things easy for myself, I’ve created a Docker Compose template that launches 3 containers: broker - our Kafka broker zookeeper - used by Kafka for leader. name = localhost # A comma seperated list of directories under which to store log files log. In my previous post here, I set up a “fully equipped” Ubuntu virtual machine for Linux developement. Monitoring Kafka on Docker Cloud We use private networking and hostname addressing (KAFKA_ADVERTISED_HOST_NAME environment variable) for security reasons in our stack. And so in this case, the advertised hostname is 172. In this article, we are going to give you an Apache Kafka introduction. Docker, Kubernetes, a cloud), advertised. Kafka has stronger ordering guarantees than a traditional messaging system, too. ClosedChannelException 异常信息,server端用tcpdump分析的时候发现客户端有传递kafka所在机器的机器名过来。. 3+ Docker Compose to start an Apache Kafka development cluster. # advertised. This advertised. js, Kafka is a enterprise level tool for sending messages across the microservices. listeners or listeners are not set. 11 Distributed Cluster Config Hi All, Welcome back to the bigdatagurus blog. I'm using Kafka 0. I know some configuration is missing on the CentOS VM but not exactly sure where. The specifications of this service references the deploymentconfig: ${NAME} above described. KafkaServerStartable. 1 Now I wanted to use from my client "ssh fw1" in stead of using "ssh 10. Syntax has to follow docker-compose escaping rules, and ANSI-C quoting. reply_link_credit = 200 integer value. Both Zookeeper and Kafka containers will be started in the same network kafka. It finds kafka is aliased to kafka-1 container name and it finds kafka-1. This is the metadata that's passed back to clients.