java 连接 由kerberos认证的kafka,初始化consumer报错

[caused by gssexception: invalid name provided( mechanism level: illegal character in realm name; one of :'/',':',''(600))]
以上是报错

这个是配置文件
krb5.conf :


```java
#Configuration snippets may be placed in this directory as well
#includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
 default_realm = AXRZPT.COM
 udp_preference_limit = 1
# default_ccache_name = KEYRING:persistent:%{uid}

[realms]
AXRZPT.COM = {
  kdc = 192.168.10.2:80
  admin_server = 192.168.10.2:749
 }

[domain_realm]
.axrzpt.com = AXRZPT.COM
axrzpt.com = AXRZPT.COM



这个是代码 用的javaScript写的
```javascript
var JavaSystem = Java.type("java.lang.System");
var Properties = Java.type("java.util.Properties");
var ArrayList = Java.type("java.util.ArrayList");
var Duration = Java.type("java.time.Duration");
var JSONObject = Java.type("com.alibaba.fastjson.JSONObject");
var ConsumerRecord = Java.type("org.apache.kafka.clients.consumer.ConsumerRecord");
var ConsumerRecords = Java.type("org.apache.kafka.clients.consumer.ConsumerRecords");
var KafkaConsumer = Java.type("org.apache.kafka.clients.consumer.KafkaConsumer");
var keyDeserializer = "org.apache.kafka.common.serialization.StringDeserializer";
var valueDeserializer = "org.apache.kafka.common.serialization.StringDeserializer";

var kafkaHosts = "192.168.10.2:80 , 192.168.10.3:80 , 192.168.10.4:80";
var groupID = "";
var topic = "";
var timeoutMS = 200;
//krb5文件在服务器上的路径
var krb5Conf = "/etc/kafka/krb5.conf";
//jaas文件在服务器上的路径
var kafkaJaasConf = "/etc/kafka/jaas.conf";
var showRecordKey = false;
function run() {
    try {
        JavaSystem.setProperty("java.security.krb5.conf", krb5Conf);
        JavaSystem.setProperty("java.security.auth.login.config", kafkaJaasConf);
        var props = new Properties();
        props.put("bootstrap.servers", kafkaHosts);
        props.put("auto.offset.reset", "latest");
        props.put("group.id", groupID);
        props.put("enable.auto.commit", "true");
        props.put("auto.commit.interval.ms", "1000");
        props.put("key.deserializer", keyDeserializer);
        props.put("value.deserializer", valueDeserializer);


        props.put("security.protocol", "SASL_PLAINTEXT");
        props.put("sasl.mechanism", "GSSAPI");
        props.put("sasl.kerberos.service.name", "rzpt@AXRZPT.COM");

        var consumer = new KafkaConsumer(props,keyDeserializer,valueDeserializer);
        consumer.subscribe(Arrays.asList(topic));
        logger.info(">>>KafkaConsumer start");
        while (true) {
            try {
                var records = consumer.poll(Duration.ofMillis(timeoutMS));
                logger.info(">>>ConsumerRecords count:" + records.count());
                var keySet
                for (var i = 0; i < records.size(); i++) {
                    record = records[i];
                    if (showRecordKey) {
                        var receivedData = new JSONObject();
                        receivedData.put("key", record.key());
                        receivedData.put("value", record.value());
                        receivedData.put("offset", Long.valueOf(record.offset()));
                        //excutes
                        logger.info(receivedData);
                        continue;
                    }
                    logger.info(record.value());
                }
            } catch (exp) {
                logger.error("", exp);
            } finally { }
        }
    } catch (exp) {
        logger.error("", exp);
    } finally {
        if (consumer != null)
            consumer.close();
    }
}


把代码也发出来把,不然很难定位错误在哪里

你好楼主,我也碰到了这个问题,请问您最后是怎么解决的呢?