我想用雅虎的YCSB对2个redis节点进行基准测试。因为我不能在集群模式下运行这些节点(redis至少有6个节点才能在集群模式下运行),所以我使用主节点的slaveof no one和从节点的slaveof <host> <port>创建了一个主节点和一个从节点。但是当我尝试用YCSB命令中的cluster.mode=true将密钥从ycsb加载到redis时,我得到一个错误,因为YCSB读取redis master的配置文件,发现集群模式被禁用。请注意,为了运行slaveof命令,我们不能处于集群模式。有谁知道解决这个问题的办法吗?
发布于 2020-08-10 17:08:39
在我的理解中,你想要测试Redis的可扩展性。因此,您希望将集群标志设置为true。
遗憾的是,目前YSCB的Redis实现不支持Redis的主从模式( YCSB使用Jedis 2.9.0 for Redis connection client)。
如果你还想测试Redis的可扩展性,有两个选择。
第一个步骤是将Jedis版本升级到3.X或更高版本,然后针对您自己的测试场景重写YCSB的RedisClient.java (https://github.com/brianfrankcooper/YCSB/blob/master/redis/src/main/java/site/ycsb/db/RedisClient.java)。
二是将Redis的集群模式和主从模式的情况分开。Redis集群至少需要6个节点。但是,你可以减少3个节点。只需设置6个节点,然后关闭从节点。不推荐用于生产,但足以用于测试。
你可以测试它3,6,9...节点。
我希望这对你有帮助。
https://stackoverflow.com/questions/63308821
复制相似问题