是否有办法使用随 cassandra 2.1 发布的新的 cassandra-stress 工具对 cassandra 进行身份验证?似乎已从该工具中删除了“-un”(用户名)和“-pw”(密码)开关。
在 2.0 版本中,这是我要运行的命令:“cassandra-stress -D nodesfile -un -pw”
2.1 版本已完全重写,该命令完全失败。查看文档没有发现有关数据库身份验证的任何信息。由于它太新,Google 搜索没有找到任何结果。
我确实尝试过将身份验证信息放入 ~/.cassandra/cqlshrc 的一个建议
这似乎适用于 cqlsh 工具,但不适用于 cassandra-stress。任何建议都将不胜感激。谢谢!
答案1
看来它已被移至 -mode 选项。
尝试cassandra-stress -mode user=username password=password
。
答案2
正确的参数是:
cassandra-stress [command] -node [nodes] -mode thrift user=[user] password=[password]
thrift 是默认协议,连接到节点上的端口 9160。节点列表应以逗号分隔。
答案3
有很多种模式
-mode thrift [smart] [user=?] [password=?]
or
-mode native [unprepared] cql3 [compression=?] [port=?] [user=?] [password=?] [auth-provider=?] [maxPending=?] [connectionsPerHost=?] [protocolVersion=?]
or
-mode simplenative [prepared] cql3 [port=?]
我使用了这个,因为它提供了相当大的灵活性
/opt/cassandra/tools/bin/cassandra-stress write -mode native cql3 compression=none user=username password=user_password port=9042 auth-provider=com.datastax.driver.core.PlainTextAuthProvider
您可以使用参数传递节点-node
。我登录到其中一个 Cassandra 节点(Kubernetes 集群的一部分)并直接运行压力测试。
完整文档 -https://docs.datastax.com/en/dse/6.7/dse-dev/datastax_enterprise/tools/toolsCStress.html