Kafka Plaintext Security kann den Client nicht über apiversion_query verbinden lassenC#

Ein Treffpunkt für C#-Programmierer
Guest
 Kafka Plaintext Security kann den Client nicht über apiversion_query verbinden lassen

Post by Guest »

Ich beginne mit Kafka und habe einen Fehler aufgetreten. Beim Versuch, eine Verbindung herzustellen, erhalte ich den Fehler < /p>

Falsche Sicherheit. > Obwohl ich den Broker so konfiguriert habe, dass er Plaintext verwendet und in meinem Client festgelegt habe. Redpanda Kafka QuickStart -Setup und konnte über den C# Client senden und wiederholen. Ich hoffe, Sie können vielleicht einen Kommentar mit einem Link dazu hinterlassen, damit ich ihn untersuchen kann. Ich schätze Ihre Hilfe < /p>

Code: Select all

localhost:19092/bootstrap: Enter main broker thread
localhost:19092/bootstrap: Received CONNECT op
localhost:19092/bootstrap: Broker changed state INIT -> TRY_CONNECT
localhost:19092/bootstrap: broker in state TRY_CONNECT connecting
localhost:19092/bootstrap: Broker changed state TRY_CONNECT -> CONNECT
librdkafka v2.5.3 (0x20503ff) rdkafka#producer-1 initialized (builtin.features gzip,snappy,ssl,sasl,regex,lz4,sasl_gssapi,sasl_plain,sasl_scram,plugins,zstd,sasl_oauthbearer,http,oidc, SSL ZLIB SNAPPY ZSTD CURL SASL_SCRAM SASL_OAUTHBEARER PLUGINS HDRHISTOGRAM, debug 0x2)
localhost:19092/bootstrap: Connecting to ipv4#127.0.0.1:19092 (plaintext) with socket 1004
localhost:19092/bootstrap: Connected to ipv4#127.0.0.1:19092
localhost:19092/bootstrap: Connected (#1)
localhost:19092/bootstrap: Updated enabled protocol features +ApiVersion to ApiVersion
localhost:19092/bootstrap: Broker changed state CONNECT -> APIVERSION_QUERY
localhost:19092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY) (_TRANSPORT)
localhost:19092/bootstrap: Disconnected while requesting ApiVersion: might be caused by incorrect security.protocol configuration (connecting to a SSL listener?) or broker version is < 0.10 (see api.version.request) (after 1ms in state APIVERSION_QUERY)
localhost:19092/bootstrap: Updated enabled protocol features -ApiVersion to
localhost:19092/bootstrap: Broker changed state APIVERSION_QUERY -> DOWN
localhost:19092/bootstrap]: 1/1 brokers are down
< /code>
Versionen: < /p>
Kafka 3.8.0
confluent.kafka 2.5.3
Docker Version 27.2.1-Rd, bauen cc0ee3e < /p>
C# Code: < /p>
    public static async Task Main(string[] args){
string role = args[0];
string topic = args[1];
string hostname = args[2];
string port = args[3];
switch (role) {
case "producer": await Producer(topic,hostname,port); break;
case "consumer": Consumer(topic,hostname,port);break;
default: Console.WriteLine("Usage: \"producer\" or \"consumer\"");break;
}
}
public static async Task Producer(string topic,string hostname, string port){
var config = new ProducerConfig{
BootstrapServers = hostname+":"+port,
SecurityProtocol = SecurityProtocol.Plaintext,
BrokerAddressFamily = BrokerAddressFamily.V4,
Debug ="broker",
ApiVersionRequest = false,
};
using (var p = new ProducerBuilder(config).Build()){
try{
string msg = "Hello World";
var dr = await p.ProduceAsync(topic,new Message
{Value = msg}
);
Console.WriteLine($"Send: '{dr.Value}' to '{dr.TopicPartitionOffset}' ");

}catch(ProduceExceptione){
Console.WriteLine($"Error: {e.Error.Reason}");
}
}
< /code>
Docker komponieren: < /p>
services:

broker:
image: apache/kafka:latest
container_name: broker
hostname: broker
networks:
- kafka-nw
ports:
- 9092:9092
- 19092:19092
environment:
KAFKA_NODE_ID: 1
KAFKA_PROCESS_ROLES: broker,controller
#KAFKA_LISTENERS: PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092,HOST://localhost:19092,CONTROLLER://0.0.0.0:9093
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:19093,HOST://localhost:19092
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,HOST:PLAINTEXT
#KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,HOST:SASL_PLAINTEXT
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_NUM_PARTITIONS: 3
networks:
kafka-nw:
Ich habe die Ports geändert und verschiedene Hostnamen verwendet. Jetzt versuche ich, sie auf sasl_plaintext zu schalten, in der Hoffnung, dass es jetzt funktioniert.
Bearbeiten 04.11.2024:
Lösung!
Wie sich herausstellte, hat Windows die erforderlichen Kafka -Ports in meinem Docker -Komponieren nicht registriert, weil ... nach ein wenig Neustart und Verwendung von Netstat -Befehlen und der solchen funktionierte (nichts hier gezeigt hier gezeigt wurde geändert).
kann als geschlossen angesehen werden, da der zugrunde liegende Code und der Docker -Komponieren korrekt waren.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post