Tag: apache kafka

在docker容器中找不到'make'命令

我有一个Docker镜像,运行Docker主机与Ubuntu 14.04。 在其中一个容器中,我试图运行zookeeper并为kafka安装librdkafka库(前提条件库)以连接到第三方软件。 我需要'make'命令在我将运行kafka适配器/连接器的容器内构build我的librdkafka库。 然而,有趣的是我不能在容器内运行“make”命令,它在docker主机上运行得很好。 当我尝试使用 apt-get install make 我收到下面的消息,这对我来说没什么意义: root@svi-esp-service:/# apt-get install make Reading package lists… Done Building dependency tree Reading state information… Done Package make is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source […]

通过kafka进行无限日志logging

概观 我正在尝试使用Docker容器来使Logstash与Kafka 一起工作。 对于我的卡夫卡容器,我正在使用Spotify构build 。 我也使用官方的Logstash容器 。 我想要达到如下所示: 这里是我用于Logstash的configuration: file_kafka.conf input { file { path => ["/data/*.log"] start_position => "beginning" } } output { kafka { topic_id => "test" bootstrap_servers => "<host>:9092" } } kafka_stdout.conf input { kafka { topics => ["test"] bootstrap_servers => "<host>:9092" auto_offset_reset => "latest" } } output { stdout {} } […]

如何将安全的文件放置在牧场主存储?

我构build了一个kafka连接docker镜像,我使用rancher启动kafka连接集群。集群需要连接启用kerberos的hdfs。 所以我需要将keytab文件放入集群。 我不想将我的密钥表文件构build到我创build的映像中,因为它是重要的和安全的。 所以我想使用牧场主存储服务,但我不能把我的密钥表放入存储? 我的问题是:如何pipe理我的安全文件在牧场主或docker?

Apache kafka消费者对意外的消息进行无限循环轮询

我正在做卡夫卡消费者实施的集成testing。 我使用wurstmeister / kafka docker镜像和Apache Kafka客户端。 当我向某个主题发送“意外”消息时,嗡嗡的情景就是这样。 在运行模式下, kafkaConsumer.poll(POLLING_TIMEOUT)似乎进入无限循环。 当我debugging但是,当我暂停和运行时,它工作。 发送预期的消息时,我没有这个问题(不要在反序列化时抛出exception)。 这是我的kafka的docker docker-composeconfiguration: kafka: image: wurstmeister/kafka links: – zookeeper ports: – "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: localhost KAFKA_ADVERTISED_PORT: 9092 KAFKA_CREATE_TOPICS: "ProductLocation:1:1,ProductInformation:1:1,InventoryAvailableToSell:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: – /var/run/docker.sock:/var/run/docker.sock Java通用消费者: @Override public Collection<T> consume() { String eventToBePublishedName = ERROR_WHILE_RESETTING_OFFSET; boolean success = false; try { kafkaConsumer.resume(kafkaAssignments); if (isPollingTypeFull) { // […]

由于Docker延迟,Kafka超时

对于Kafka 和 Docker,我是全新的,并且已经解决了一个问题。 我们对Kafka(Apache)队列的持续集成testing在本地机器上运行得很好,但是当在Jenkins CI服务器上时,偶尔会出现这种错误: %3|1508247800.270|FAIL|art#producer-1| [thrd:localhost:9092/bootstrap]: localhost:9092/bootstrap: Connect to ipv4#127.0.0.1:9092 failed: Connection refused %3|1508247800.270|ERROR|art#producer-1| [thrd:localhost:9092/bootstrap]: localhost:9092/bootstrap: Connect to ipv4#127.0.0.1:9092 failed: Connection refused %3|1508247800.270|ERROR|art#producer-1| [thrd:localhost:9092/bootstrap]: 1/1 brokers are down 工作理论是,Docker镜像需要时间才能开始,到时候卡夫卡制作人已经放弃了。 有问题的代码是 producer_properties = { 'bootstrap.servers': self._job_queue.bootstrap_server, 'client.id': self._job_queue.client_id } try: self._producer = kafka.Producer(**producer_properties) except: print("Bang!") 上面的错误行出现在制作人的创作中。 但是,不会引发exception,并且调用返回一个看起来有效的外观生产者,所以我不能以编程方式testing代理端点的存在。 是否有API来检查代理的状态?

使用Confluent.Kafka从.net核心服务写入Kafka

我有一个.net核心服务,从MEMSQL服务器获取数据并返回给客户端。 但是,在服务中生成的查询需要logging到Kafka集群。 我试着安装Confluent.Kafka软件包并进行日志logging,在本地运行时工作正常。 但在容器中,该服务无法logging并生成以下错误: warning NU1701: Package 'librdkafka.redist 0.9.5' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project. The type initializer for 'Confluent.Kafka.Impl.LibRdKafka' threw an exception. 容器在LINUX机器上运行。 基本上,我需要找出与.netcore 2.0兼容的Confluent.Kafka版本,而不依赖.NETFramework v4.6的版本。

如何在Docker中设置Zookeeper的dataDir(fig.yml)

我已经为Dockerconfiguration了一个fig.yml文件中的Zookeeper和Kafka容器。 两个容器都能正常工作 但是在发送了一些消息之后,我的应用程序/ zk-client挂起了。 在检查zookeeper日志时,我看到错误: Error Path:/brokers Error:KeeperErrorCode = NoNode for /brokers 我的fig.yml如下所示: zookeeper: image: wurstmeister/zookeeper ports: – "2181:2181" environment: ZK_ADVERTISED_HOST_NAME: xx.xx.x.xxx ZK_CONNECTION_TIMEOUT_MS: 6000 ZK_SYNC_TIME_MS: 2000 ZK_DATADIR: /path/to/data/zk/data/dir kafka: image: wurstmeister/kafka:0.8.2.0 ports: – "xx.xx.x.xxx:9092:9092" links: – zookeeper:zk environment: KAFKA_ADVERTISED_HOST_NAME: xx.xx.x.xxx KAFKA_LOG_DIRS: /home/svc_cis4/dl volumes: – /var/run/docker.sock:/var/run/docker.sock 我已经search了很长一段时间,但我还没有得到解决scheme。 我也尝试使用ZK_DATADIR设置fig.yml中的数据目录:'/ path / to / zk / data / […]

无法通过端口9092连接到Kafka

我在kafka中创build了replica = 2的主题,而kafka正在我的docker机器中运行。 通常情况下,我应该能够连接到docker与端口9092.但我不能 虽然,我可以连接使用32783.不知道是什么原因?

在同一台机器上的两个docker客人中创build卡夫卡经纪人和动物园pipe理员有什么优点和缺点?

我正在创build一个包含3个卡夫卡经纪人和3个动物园pipe理员的卡夫卡数据pipe道,所以我需要使用6台机器部署3个经纪人和3个动物园pipe理员。 有两种方法可以减less所用机器的数量 1)为了保持1卡夫卡经纪人和1动物园pipe理员在同一台物理机器,我在网上search,find了会有延迟问题,因为卡夫卡经纪人和动物园pipe理员都使用相同的内存 2)使用docker并在一台机器中为zookeeper和broker创build两个continer,并限制zookeeper容器的RAM,以便kafka broker采用更多的RAM并减less延迟 我想知道我的两个用例的更多优点和缺点 保持动物园pipe理员和经纪人使用容器在同一台机器是一个好习惯 提前致谢

使用Kafka,Zookeeper和MongoDB Dockerize Spring Boot Java应用程序

一般来说,我是Docker和Web应用程序的初学者。 我必须Dockerize一个使用Kafka,Zookeeper和MongoDB的大型Spring Boot Java应用程序。 它也使用Gradle构build工具。 什么是最好的方法来Dockerize这个应用程序? 我应该Dockerize在一个图像,或每个组件的一个单独的图像? 另外,如何在Dockerfile中joinGradle构build工具? 谢谢!