我试图在Windows 10 Pro和Docker桌面上本地运行Kafka(而不是工具箱)。一切似乎都工作得很好,但我无法使用我的应用程序访问Kafka,也没有使用Kafka rest(http://localhost:8082/topics http://127.0.0.1:8082/topics http://192.168.1.103:8082/topics-最后一个是我在主机中的docker ip)
我的docker-compose文件是:
version: '2'
services:
# https://hub.docker.com/r/confluentinc/cp-zookeeper/tags
zookeeper:
image: confluentinc/cp-zookeeper:5.3.1
container_name: zookeeper
hostname: zookeeper
network_mode: host
ports:
- "2181:2181"
- "32181:32181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
# https://hub.docker.com/r/confluentinc/cp-kafka/tags
kafka:
image: confluentinc/cp-kafka:5.3.1
container_name: kafka
hostname: kafka
network_mode: host
ports:
- "9092:9092"
- "29092:29092"
restart: always
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_CREATE_TOPICS: "test:1:1"
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_ZOOKEEPER_CONNECT: localhost:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_BROKER_ID: 2
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
depends_on:
- zookeeper
schema-registry:
image: confluentinc/cp-schema-registry:5.3.1
hostname: schema-registry
container_name: schema-registry
network_mode: host
depends_on:
- zookeeper
- kafka
ports:
- "8081:8081"
environment:
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: localhost:2181
SCHEMA_REGISTRY_HOST_NAME: localhost
SCHEMA_REGISTRY_LISTENERS: http://localhost:8081
kafka-rest:
image: confluentinc/cp-kafka-rest:5.3.1
hostname: kafka-rest
container_name: kafka-rest
network_mode: host
depends_on:
- zookeeper
- kafka
ports:
- "8082:8082"
environment:
KAFKA_REST_HOST_NAME: localhost
KAFKA_REST_ZOOKEEPER_CONNECT: localhost:2181
KAFKA_REST_LISTENERS: http://localhost:8082
KAFKA_REST_SCHEMA_REGISTRY_URL: http://localhost:8081
我的主机文件是:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
192.168.1.103 host.docker.internal
192.168.1.103 gateway.docker.internal
# Added by Docker Desktop
192.168.2.236 host.docker.internal
192.168.2.236 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
127.0.0.1 kafka
在日志中,我有这样的消息:“Kafka-REST(2019-10-21 11:40:57,903)信息html" target="_blank">服务器启动,正在监听请求...(io.confluent.kafkarest.kafkarestmain)”
带有docker-compose的Kafka设置
和谷歌上的许多其他网站
考虑到Docker所涉及的网络,您需要正确配置Kafka监听器。这篇文章解释了如何:https://rmoff.net/2018/08/02/kafka-listeners-complinated/
您可以在以下位置找到包含主机访问的工作Docker组合:https://github.com/confluentinc/examples/blob/5.3.1-post/cp-all-in-one/docker-compose.yml
这些天我正在学习微服务架构,我需要运行Kafka来遵循一些教程。然而,zookeeper-server-start在cmd上运行Kafka的第一步对我来说不起作用。它说“命令的语法不正确” 我遵循了下面的过程 > 下载kafka和extarct(https://kafka.apache.org/downloads-kafka2.11-2.1.0.tgz(二进制下载)) bin\windows\zo
我正在OpenJDK 13中测试jpackage实用程序,以创建捆绑包和安装程序。只要我使用OpenJDK作为创建包的运行时,就可以在Windows和MacOS上运行。但OpenJDK13尚未发布,我喜欢使用OpenJDK12作为运行时。因此,我创建了一个OpenJDK12运行时,其中包含: 我在jpackage中使用这个运行时 创建的捆绑包没有错误消息。但当我尝试启动应用程序时,在Windows
我正在尝试构建一个包,以便在eclipse之外运行我的SWT应用程序。 在linux下,我成功地在bash下运行。但是当我尝试在windows下运行时,我收到以下错误: C: \纳芙林 我已经尝试指定参数-Djava.library.path,将SWT的DLL放在windows,windows/system,windows/system32… 我正在使用以下SWT JAR(随eclipse 32位
我们开始Kafka,动物园管理员和Kafka连接在第一个盒子。我们也在第二个盒子里开始了Kafka连接。现在,根据confluent文档,我们必须使用REST API启动HDFS连接器(或任何其他连接器)。所以,在这两个框中启动kafka connect之后,我们尝试通过REST API启动connector。我们尝试了以下命令:- 当我们在这里按enter键时,我们得到以下响应: 位于etc/k
我被以下错误困住了。我不知道这是什么类型的错误。我该怎么办?
在Windows下使用时遇到问题。问题是在windows下该函数返回非UTF8编码的字符串(因为windows不支持UTF-8区域设置)。我在谷歌上搜索了很多关于这个主题的信息,找到了许多建议,只需使用,但这没有帮助。我在后面得到一个非常奇怪的字符串。还有另一种解决方案:使用例如: 这是可行的,但只有在开发一个精确的区域时才是好的。但我需要一个通用的解决方案。你可以建议: 但这不起作用,因为即使是