0

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

你能帮我吗,如何安装它?

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

所以我决定将整个 Cassandra 安装在不同的服务器上,在同一个网络空间中。现在,我正在努力正确设置,如何针对 cassandra 集群运行 cassandra-stress 工具。

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

请你帮助我好吗?

编辑:也许使用这样的东西可能是正确的方法?

cassandra-stress 用户配置文件=/usr/cassandra/stress-file.yaml ops(insert=1,books=1) n=10000 -node xxx104,xxx105,xxx106 -port native= ? Telnet [cassandra_node_ip_ddress] 7000 工作正常

4

2 回答 2

1

如果您的 Cassandra 集群运行时打开了正确的端口(默认情况下,客户端为 9042,JMX 为 7199),并且 Cassandra 目录位于另一台机器上,那么您应该能够cassandra-stress从集群外部运行,只需通过使用集群中一个节点的 IP传递-node选项(比如 xxx104)。例如,

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

应该管用。您可以通过以下方式查看更多选项

$CASSANDRA_HOME/tools/bin/cassandra-stress help
于 2019-03-20T01:29:36.803 回答
1

在每个节点上:在 cassandra.yaml 中将 rpc_address 设置为 cassanda-env.sh 中的 IP 地址 设置 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 通信不安全

于 2019-03-31T20:19:55.017 回答