Как исправить ConsumePartition в Голанг Сарама - PullRequest
0 голосов
/ 13 июня 2019

Я делаю тесты с Кафкой и Голангом

Я использую:

Docker: https://hub.docker.com/r/bitnami/kafka

Сарам: https://github.com/Shopify/sarama

Пример очень прост - это Потребитель, который подключается к Кафке: https://godoc.org/github.com/Shopify/sarama#example-Consumer

Код такой:

package main

import (
    "log"
    "os"
    "os/signal"

    "github.com/Shopify/sarama"
)

func main() {

    consumer, err := sarama.NewConsumer([]string{"localhost:9092"}, nil)
    if err != nil {
        panic(err)
    }

    defer func() {
        if err := consumer.Close(); err != nil {
            log.Fatalln(err)
        }
    }()

    partitionConsumer, err := consumer.ConsumePartition("my_topic", 0, sarama.OffsetNewest)
    if err != nil {
        panic(err)
    }

    defer func() {
        if err := partitionConsumer.Close(); err != nil {
            log.Fatalln(err)
        }
    }()

    // Trap SIGINT to trigger a shutdown.
    signals := make(chan os.Signal, 1)
    signal.Notify(signals, os.Interrupt)

    consumed := 0
    ConsumerLoop:
    for {
        select {
        case msg := <-partitionConsumer.Messages():
            log.Printf("Consumed message offset %d\n", msg.Offset)
            consumed++
        case <-signals:
            break ConsumerLoop
        }
    }

    log.Printf("Consumed: %d\n", consumed)
}

но при выполнении: иди беги main.go

Показывает следующую ошибку:

panic: dial tcp: lookup fd6ee3862a45: no such host

goroutine 1 [running]:
main.main()
    /Users/vn0sgkq/go/src/github.com/hectorgool/kafka1/main.go:25 +0x3f1
exit status 2

Репо здесь: https://github.com/hectorgool/kafka1/blob/master/main.go#L25

Да, я знаю, что мне не хватает производителя сообщений, но странно то, что: consumer.ConsumePartition не работает

...