0

在全新安装时,DSE Graph 向 Gremlin 控制台抛出错误,抱怨身份验证配置。

Gremlin 控制台正常启动:

plugin activated: tinkerpop.tinkergraph 
plugin activated: tinkerpop.server 
plugin activated: tinkerpop.utilities 
gremlin> :remote connect tinkerpop.server conf/remote.yaml
==>Configured cassan-1-vm.c.myklovr-dev.internal/10.128.0.4:8182

但是当你尝试对 Gremlin Server 进行任何操作时,你会得到一个错误:

    gremlin> :> 1+1 
ERROR 18:11:25,717 Could not process the response javax.security.sasl.SaslException: Failure to initialize security context
            at com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:149) ~[na:1.8.0_101]
            at com.sun.security.sasl.gsskerb.FactoryImpl.createSaslClient(FactoryImpl.java:63) ~[na:1.8.0_101]
            at javax.security.sasl.Sasl.createSaslClient(Sasl.java:384) ~[na:1.8.0_101] ... Caused by: org.ietf.jgss.GSSException: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
            at sun.security.jgss.krb5.Krb5NameElement.getInstance(Krb5NameElement.java:129) ~[na:1.8.0_101]
            at sun.security.jgss.krb5.Krb5MechFactory.getNameElement(Krb5MechFactory.java:95) ~[na:1.8.0_101]
            at sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:203) ~[na:1.8.0_101]
            at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:477) ~[na:1.8.0_101]
            at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:201) ~[na:1.8.0_101]
            at sun.security.jgss.GSSNameImpl.<init>(GSSNameImpl.java:170) ~[na:1.8.0_101]
            at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:138) ~[na:1.8.0_101]
            at com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:107) ~[na:1.8.0_101]
            ... 27 common frames omitted Security error - check username/password and related settings

问题是:如何克服这个错误?

这已经尝试过了:

  1. 在 dse.yaml 中取消激活 Kerberos 身份验证
  2. 将 krb5.conf 重置为默认文件(DSE 沙箱中的文件)
4

2 回答 2

2

我也有类似的问题。我解决的方法是明确输入用户名和密码。确保您的 remote.yaml 文件 dse/resources/graph/gremlin-console/conf/ 具有与此类似的结构。

您无需重新启动即可生效。

hosts: [localhost] port: 8182 username: cassandra password: cassandra serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true, ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistry] }} connectionPool: { maxContentLength: 65536000, enableSsl: false }

还在这里列出: https ://docs.datastax.com/en/latest-dse/datastax_enterprise/sec/graphSec.html 我从默认的 remote.yaml 更改的三个属性是用户名、密码、enableSsl

于 2016-09-23T13:25:50.493 回答
0

我们找不到对此的推理解释。

作为一种解决方法,我们再次从 datastax 安装程序(而不是 yum)安装,但没有发生此问题。

于 2016-08-24T18:45:29.350 回答