Kerberos认证环境下如何运行Cassandra-stress工具?
Cassandra Stress工具的Kerberos认证支持说明
cassandra-stress完全支持Kerberos认证,只是相关配置说明没有在基础凭证文件文档中单独列出——因为它依赖于Cassandra Java Driver的Kerberos认证能力,而非单独的用户名密码凭证体系。
具体配置方式
你不需要使用普通的用户名密码凭证文件,而是通过JVM参数传递Kerberos相关配置:
- 指定JAAS登录配置文件:
-J-Djava.security.auth.login.config=/path/to/jaas.conf - 指定Kerberos配置文件(如果系统默认配置不适用):
-J-Djava.security.krb5.conf=/path/to/krb5.conf - 明确指定Kerberos认证提供者:
-J-Dcassandra.auth.provider=com.datastax.driver.core.auth.KerberosAuthProvider - (可选)如果集群的Kerberos服务主体不是默认的
cassandra,需指定:-J-Dcassandra.sasl.service=<custom-service-principal>
示例命令
cassandra-stress write \ -node your-cluster-node-ip \ -port 9042 \ -J-Djava.security.auth.login.config=/etc/cassandra/jaas.conf \ -J-Dcassandra.auth.provider=com.datastax.driver.core.auth.KerberosAuthProvider
JAAS配置文件示例
创建一个JAAS配置文件(比如/etc/cassandra/jaas.conf),内容如下:
Cassandra { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/path/to/your-user.keytab" principal="your-kerberos-user@YOUR-REALM.COM"; };
注意事项
- 确保keytab文件权限设置正确(仅允许执行cassandra-stress的用户读取)
- 确认你的Kerberos用户拥有Cassandra集群的相应权限(比如写入权限,对应stress测试的操作)
- 集群的Cassandra配置中已正确启用Kerberos认证,服务主体与你的配置匹配
内容的提问来源于stack exchange,提问作者Mohini Gonawala
相关产品推荐
相关产品推荐

