Tag: apache kafka

创build主题,但在Kubernetes上使用Python获取Kafka FailedPayloadsError

我在Python kafka库中使用SimpleProducer。 这个脚本已经完美的工作,以前我尝试过的其他更硬configuration的卡夫卡设置。 kafka = KafkaClient(u'[masterNodeIp]:[servicePort]') producer = SimpleProducer(kafka) #make a simple message, while true run producer.send_messages(b'oneMoreTopic', sentence) 在运行这个脚本之后,我在python控制台中得到了这个响应。 kafka.common.LeaderNotAvailableError: TopicMetadata(topic='oneMoreTopic', error=5, partitions=[]) 然后我可以在我的zookeeper.log中进入我的Node并查看: 2015-09-14 12:16:32,276 – INFO [ProcessThread(sid:3 cport:-1)::PrepRequestProcessor@627] – Got user-level KeeperException when processing sessionid:0x34fcb982d030000 type:setData cxid:0x71 zxid:0x1000000d8 txntype:-1 reqpath:n/a Error Path:/config/topics/oneMoreTopic Error:KeeperErrorCode = NoNode for /config/topics/oneMoreTopic 2015-09-14 12:16:32,278 – INFO [ProcessThread(sid:3 cport:-1)::PrepRequestProcessor@627] […]

如何在云代工中公开Kafka和Zookeeper端口

有没有办法在CF公开kafka和zookeeper端口? 我把spotify / kafka docker映像推送到云代工厂。 localhost:2181和localhost:9092都可以正常工作,但是如何使这些端口对其他应用程序可见? 我期待例如kafka.run.pivotal.io:2181和kafka.run.pivotal.io:9092将是可访问的,但事实并非如此。 我真的很感激你的意见。 谢谢。

Docker:无法将数据从logstash容器发送到Kafka容器

我有2个docker集装箱,1个运行Logstash,另一个运行Zookeeper和Kafka。 我试图将数据从Logstash发送到Kafka,但似乎无法将数据传到我在Kafka的主题中。 我可以login到Docker Kafka容器,并从terminal向我的主题发送消息,然后将其消耗。 我正在使用输出kafka插件: output { kafka { topic_id => "MyTopicName" broker_list => "kafkaIPAddress:9092" } } 运行docker inspect kafka2 当我运行./bin/logstash agent –config /etc/logstash/conf.d/01-input.conf我得到这个错误。 Settings: Default pipeline workers: 4 Unknown setting 'broker_list' for kafka {:level=>:error} Pipeline aborted due to error {:exception=>#<LogStash::ConfigurationError: Something is wrong with your configuration.>, :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/config/mixin.rb:134:in `config_init'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/outputs/base.rb:63:in `initialize'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/output_delegator.rb:74:in `register'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:181:in `start_workers'", […]

从docker集装箱向外部的卡夫卡经纪人发布信息

在我的IDE中,我能够使用一个弹簧启动应用程序,它会向外部kafka代理生成消息(与Kafkaproducer一起)。 但是,一旦我在docker容器中托pipe了我的spring-boot应用程序,我的应用程序就不能再提交给代理。 这是错误消息: osksupport.LoggingProducerListener: Exception thrown when sending a message with key='null' and payload='….' to topic Category: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms. org.springframework.kafka.core.KafkaProducerException: Failed to send; nested exception is org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms. 我以前运行docker的是: docker run -p 9001:9001 -d image_name其中9001是我的spring-boot端口,我可以发布到端口,只是一旦我的消息发布,它不会得到外部经纪人。 我想我有一个普遍的概念,那就是Docker容器生活在孤立的土地上,你必须打开/映射这个端口才能访问它(像我的-p 9002:9002),但是它的工作原理是一样的容器? 如果是的话,有人可以告诉我如何运行docker集装箱,以便能够访问外部经纪人(比方说,经纪人的URL是“192.168.1.1:9000”)? 我不认为我现在能够修改代理上的任何东西,但我的假设是,如果我可以通过我的IDE访问,为什么不在docker? 感谢所有的帮助!

卡夫卡连接logindocker集装箱

我有一个需要作为docker容器运行的kafka连接jar。 我需要捕获容器中的日志文件上的所有连接日志(最好在/ etc / kafka / kafka-connect-logs目录中),稍后可以将其推送到本地主机(在其上运行docker引擎)docker中的卷。 当我更改我的connect-log4j.properties附加到日志文件时,我看到没有创build日志文件。 如果我没有使用docker的情况下尝试,通过更改connect-log4j.properties将日志写入日志文件来运行本地linux虚拟机上的kafka连接,它可以很好地工作,但不能从docker中运行。 任何build议将是非常有益的。 Docker File FROM confluent/platform COPY Test.jar /usr/local/bin/ COPY kafka-connect-docker.sh /usr/local/bin/ COPY connect-distributed.properties /usr/local/bin/ COPY connect-log4j.properties /etc/kafka/connect-log4j.properties RUN ["apt-get", "update"] RUN ["apt-get", "install", "-yq", "curl"] RUN ["chown", "-R", "confluent:confluent", "/usr/local/bin/kafka-connect-docker.sh", "/usr/local/bin/connect-distributed.properties", "/usr/local/bin/Test.jar"] RUN ["chmod", "+x", "/usr/local/bin/kafka-connect-docker.sh", "/usr/local/bin/connect-distributed.properties", "/usr/local/bin/Test.jar"] RUN ["chown", "-R", "confluent:confluent", "/etc/kafka/connect-log4j.properties"] RUN ["chmod", "777", […]

Kafka Docker和从9092到9093的端口转发

我已经通过maven docker插件https://dmp.fabric8.io/configuration了Kafka + ZooKeeper: <image> <name>wurstmeister/zookeeper:latest</name> <alias>zookeeper</alias> <run> <ports> <port>2181:2181</port> </ports> </run> </image> <image> <name>wurstmeister/kafka:1.0.0</name> <alias>kafka</alias> <run> <ports> <port>9092:9092</port> </ports> <links> <link>zookeeper:zookeeper</link> </links> <env> <KAFKA_ADVERTISED_HOST_NAME>127.0.0.1</KAFKA_ADVERTISED_HOST_NAME> <KAFKA_ZOOKEEPER_CONNECT>zookeeper:2181</KAFKA_ZOOKEEPER_CONNECT> </env> </run> </image> 在这个configuration上,一切工作正常。 现在我需要将Kafka端口(主机系统的转发端口)从9092更改为9093 。 在我的Spring Boot应用程序的application.properties中,我添加了以下行: spring.kafka.bootstrap-servers=127.0.0.1:9093 还将Kafka图像的configuration更改为: <image> <name>wurstmeister/kafka:1.0.0</name> <alias>kafka</alias> <run> <ports> <port>9093:9092</port> </ports> <links> <link>zookeeper:zookeeper</link> </links> <env> <KAFKA_ADVERTISED_HOST_NAME>127.0.0.1</KAFKA_ADVERTISED_HOST_NAME> <KAFKA_ZOOKEEPER_CONNECT>zookeeper:2181</KAFKA_ZOOKEEPER_CONNECT> </env> </run> </image> 并面临以下错误: 2017-11-22 18:18:16.453 […]

卡夫卡和动物园pipe理员之间的注册stream程

在尝试dockerize kafka和zookeeper时遇到一些问题。 那么你们可以通过图表或者其他方式帮助我理解卡夫卡和动物园pipe理员之间的stream程吗? zookeeper是否需要连接kafka服务器的端口9092? 提前致谢。

生产者/消费者的Java代码无法在Docker设置中连接kafka

我为kafka(wurstmeister / kafka-docker)构build了一个docker镜像。 在Docker容器内部,我可以使用内置shell脚本创build主题,生成消息并使用消息。 现在我使用https://github.com/mapr-demos/kafka-sample-programs托pipe的代码从我的主机连接到kafka代理。 build立和运行程序后,什么也没有发生,程序stucks。 我想producer.send不能连接到kafka经纪人。 任何帮助表示赞赏

Kafka Docker,docker-maven-plugin,Spring Boot

我试图通过Docker Maven Plugin启动Kafka https://github.com/fabric8io/docker-maven-plugin 我使用以下Maven图像: https : //hub.docker.com/r/wurstmeister/kafka/ 这是我的Mavenconfiguration: <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker-maven-plugin.version}</version> <configuration> <showLogs>true</showLogs> <images> <image> <name>wurstmeister/kafka:1.0.0</name> <alias>kafka</alias> <run> <ports> <port>9092:9092</port> </ports> </run> </image> </images> </configuration> <executions> <execution> <id>prepare-containers</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> </execution> <execution> <id>remove-containers</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> mvn docker:start -Dfile.encoding=UTF-8的输出mvn docker:start -Dfile.encoding=UTF-8命令: [INFO] Scanning for projects… [INFO] [INFO] […]

哪一个主机名可以从一组动物园pipe理员中select

我是分布式系统的新手,我正在使用docker来build立一组动物园pipe理员 。 例如,我有三个动物园pipe理员开始: services: zoo1: image: zookeeper restart: always ports: – 2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo2: image: zookeeper restart: always ports: – 2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo3: image: zookeeper restart: always ports: – 2181 environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 为了启动一个kafka ,我必须configuration它的server.properties 。 在zookeeper.connection = localhost:2181例子中,我应该在这里configuration什么? […]