Cassandra-stress:如何在 cassandra 集群外安装和设置它

Cassandra-stress : how to install and set it up outside cassandra cluster

我即将使用简单的 cassnadra 集群(3 个节点,x.x.x.104-106)。我使用的是 CentOS7,所以我使用了 datastax 存储库 Cassandra 3.0。 我在论坛上看到,cassandra-stress最好安装在集群外,否则会消耗节点的CPU。

请问你能帮我看看怎么安装吗?

我尝试单独复制cassandra-stress.sh,但它依赖于一些cassandra文件(可能是在安装过程中创建的)。

所以我决定在同一网络中的单独服务器上安装整个 Cassandra space。现在,我正在为正确的设置而苦苦挣扎,如何 运行 针对 cassandra 集群的 cassandra-stress 工具。

在cassandra.yaml中我设置了Cassandra名称,listen_adress为public_ip,rpc_address为环回地址,我将种子设置为cassandra集群节点(x.x.x .104-106)...但通常设置它没有意义,因为我不想在 Cassandra 集群中创建另一个节点。

你能帮帮我吗?

编辑:也许使用这样的方法才是正确的方法?

cassandra-stress user profile=/usr/cassandra/stress-file.yaml ops(insert=1,books=1) n=10000 -node x.x.x.104,x.x.x.105,x.x.x.106 -端口本机=? Telnet [cassandra_node_ip_ddress] 7000 工作正常

如果你有你的 Cassandra 集群 运行 正确的端口打开(客户端默认为 9042,JMX 默认为 7199),并且 Cassandra 目录在不同的机器上,那么你应该能够 运行 cassandra-stress,从集群外部,简单地通过传递 -node 选项和集群中一个节点的 IP(比如 x.x.x.104)来对抗你的集群。例如,

$CASSANDRA_HOME/tools/bin/cassandra-stress write -node x.x.x.104

应该可以。您可以通过

查看更多选项
$CASSANDRA_HOME/tools/bin/cassandra-stress help

在每个节点上: 在 cassandra.yaml 中将 rpc_address 设置为 IP 地址 在 cassanda-env.sh 中设置 LOCAL_JMX=no 和 jmx 选项 autenticate=false 开放防火墙端口7199 重启防火墙和 cassandra

在 cassandra-stress 服务器上:

cassandra-stress user profile=/usr/cassandra/stress-books.yaml ops\ 
(insert=1,books=1\) 
n=10000 -node 172.16.20.104,172.16.20.105,172.16.20.106 -port native=9042 
thrift=9160 jmx=7199

注意! JMX 通信不安全