Проблема для доступа к KSQL CLI на Docker - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь получить доступ к KSQL CLI в первый раз на терминале Windows, но я получил ошибку: Unable to find image 'cp-ksql-cli:5.3.1' locally

Для этого я получаю образы докера

$ docker images
REPOSITORY                                  TAG                 IMAGE ID            CREATED             SIZE
cnfldemos/kafka-connect-datagen             0.1.3-5.3.1         f88aea51c605        2 weeks ago         1.03GB
confluentinc/ksql-examples                  5.3.1               b9fb66d15198        4 weeks ago         499MB
confluentinc/cp-ksql-server                 5.3.1               7c40b5e474a2        4 weeks ago         522MB
confluentinc/cp-ksql-cli                    5.3.1               a488fb1cc028        4 weeks ago         510MB
confluentinc/cp-enterprise-kafka            5.3.1               2b5ee743a097        4 weeks ago         646MB
confluentinc/cp-enterprise-control-center   5.3.1               c29150c8588e        4 weeks ago         771MB
confluentinc/cp-schema-registry             5.3.1               b7abcb36a4d9        4 weeks ago         986MB
confluentinc/cp-kafka-rest                  5.3.1               27066ec8dcc2        4 weeks ago         984MB
confluentinc/cp-zookeeper                   5.3.1               711eb38827f6        4 weeks ago         590MB

Итак:

$ docker run cp-ksql-cli:5.3.1 http://ksql-server:8088

также:

$ docker run confluentinc/cp-ksql-cli:5.3.1 http://ksql-server:8088

и получил ошибку:

Unable to find image 'cp-ksql-cli:5.3.1' locally

Я новичок в KSQL и не знаю, так ли этоправильный способ доступа к CLI. В Google я нашел этот учебник , но я не могу понять, как войти в терминал KSQL CLI. Кроме того, я не знаю, как это связано с моим брокером Kafka, zookeper и другими ..

решено

Доступ с помощью: $ docker-compose exec ksql-cli ksql http://ksql-server:8088

Ответы [ 2 ]

1 голос
/ 03 октября 2019

Я не знаю, как это связано с моим брокером Kafka, zookeper и другими ..

KSQL CLI нет. Kafka подключен к Zookeeper, а KSQL server подключен к Kafka.

KSQL CLI подключается только к KSQL серверу.

Следовательно, для одновременной работы требуется не менее 4 контейнеров, поэтому рекомендуется Docker Compose, как показано в учебнике, на который вы ссылаетесь.

правильный способ доступа к CLI

Должно быть так, где some_network - это сеть Docker, в которой уже находится ksql-server контейнер

docker run --rm -ti --network=some_network confluentinc/cp-ksql-cli:5.3.1 http://ksql-server:8088

(или более длинная версия, показанная в руководстве - docker run --network some_network --rm --interactive --tty ...)

0 голосов
/ 17 октября 2019

Я думаю, это потому, что вы не открыли порт 8088. Оформление приведенных ниже команд докера.

1) Запуск докера сервера KSQL

$ docker run \
    -p 127.0.0.1:8088:8088 \
    -e KSQL_BOOTSTRAP_SERVERS=localhost:9092 \
    -e KSQL_LISTENERS=http://0.0.0.0:8088/ \
    -e KSQL_KSQL_SERVICE_ID=ksql_standalone_1_ \
    confluentinc/cp-ksql-server:5.3.1

2) Запуск докера KSQL-cli

$ docker run --net=host --interactive --tty \
    confluentinc/cp-ksql-cli:5.3.1 \
    http://localhost:8088

Если вы это сделаете, он будет работатьвне. Удачи.

...