我试图了解Redis在集群模式下的行为,因此我遵循了本文档中的所有说明:https://redis.io/topics/cluster-tutorial 使用memtier_benchmark工具(https://github.com/RedisLabs/memtier_benchmark)
来设置群集并使用它以下是我在上一教程中提供的create-cluster脚本中所做的编辑:
./redis-server --port $PORT --cluster-enabled yes --cluster-config-file nodes-${PORT}.conf --cluster-node-timeout $TIMEOUT --appendonly yes --appendfilename appendonly-${PORT}.aof --dbfilename dump-${PORT}.rdb --logfile ${PORT}.log --daemonize yes --protected-mode ${PROTECTED_MODE} --save "" --appendonly no --maxmemory <bytes> --maxmemory-policy noeviction --loglevel verbose
此外,这是我的Memtier命令行:
memtier_benchmark --cluster-mode --ratio=1:4 -d 1024 -n <e.g.100000> --key-pattern=G:G --key-minimum=1 --key-maximum=<100001> --pipeline=64 -s <ip address of machine running redis instances> -p 30001
我没有创建副本,因此所有实例都仅作为主节点运行。我知道这不是理想的选择,但是,由于我这里没有针对任何生产设置,也没有尝试任何节点故障转移方案,因此最终只对所有主节点进行了设置。
我面临的问题是,它可以在相当长的时间内正常运行,但是最终会引发错误“ -CLUSTERDOWN群集已关闭”。 当我检查每个服务器实例时,没有看到任何错误。 我跑
./redis-cli -h ipaddress -p portnumber ping
并为每个服务器实例获取“ PONG”。
我这里缺少什么吗?