I have installed the confluent CLI (via brew install confluentinc/tap/cli
) and also got a local version of the confluent platform up and running using this cp-all-in-one-kraft docker-compose file.
Now, I want to use the confluent
cli tool to control the confluent platform. As far as I understand the documentation, this should be possible - but I failed miserably. I found several posts asking the same question, but none of the answers worked.
- I can’t login via
confluent login
because there is no username and pwd configured.
- I can’t login via
confluent login --url=...
because there is no MDS (Metadata Service) running.
- I can’t use
confluent kafka topic create "test-topic" --url http://localhost:8082 --no-authentication
(as mentioned here: Connecting confluent CLI to confluent platform locally - #2 by krishna), because neither --url
nor --no-authentication
are supported (confluent
issues an error message).
- Not logging in doesn’t work either,
confluent kafka topic create "test-topic"
results in Error: not logged in
.
I’m lost - how am I supposed to use the cli? Any help is highly appreciated.
BTW, it works perfectly when connecting to the confluent cloud.
I’m running
- MacOS 14.4.1 (M1)
- confluent cli version 3.60.0
I suspect that the CLI is still in Confluent Cloud mode because you are still logged in. If you run confluent logout
then this command will succeed.
Here are commands to create a topic, produce, and consume against cp-all-in-one-kraft
:
$ confluent kafka topic create test_topic --url http://localhost:8082 --no-authentication
Created topic "test_topic".
$ confluent kafka topic produce test_topic --bootstrap localhost:9092 --protocol PLAINTEXT
Starting Kafka Producer. Use Ctrl-C or Ctrl-D to exit.
hello
world
^C%
$ confluent kafka topic consume test_topic --bootstrap localhost:9092 --protocol PLAINTEXT --from-beginning
Starting Kafka Consumer. Use Ctrl-C to exit.
hello
world
^CStopping Consumer.
Thanks for your feedback. Unfortunately, I’m not logged in (see 4. point).
But since the --url
and --no-authentication
options seem to work for you: May I ask which version of the confluent
cli you are using and on which OS? Maybe that is the culprit … ?
% confluent version
confluent - Confluent CLI
Version: v3.55.0
Git Ref: 76551caba
Build Date: 2024-03-29T21:39:33Z
Go Version: go1.21.7 X:boringcrypto (darwin/amd64)
Development: false
Ok, after trying w/ various (also old versions) I found out that the existing config in ~/.confluent/config.json
seemed to confuse the cli tool. I dropped the whole folder and now it works. The error message Error: unknown flag: --url
is IMO a bit misleading - I understood that the tool doesn’t support this parameter at all (which is not the case).
Anyway, thanks alot! 
Good find. I agree that’s a misleading error. I’ll raise this with the CLI team at Confluent to see if we can avoid this. Do you happen to have the contents of the ~/.confluent/config.json
file available, or recall any of its contents? 
Thanks! Unfortunately I deleted the directory (a pitty, because usually I first just move things away - but in this case I didn’t expect to loose anything important since it is automatically recreated). Sorry! 