AWS Elasticache for Redis:如何修复错误TYPE返回错误:移动或错误:移动

dzjeubhm  于 2023-04-29  发布在  Redis
关注(0)|答案(1)|浏览(279)

我有一个AWS Elasticache for Redis,配置了集群模式,使用多个az,有5个分片和3个节点(1个主节点和2个副本)。
从运行最新Amazon Linux 2023的EC2示例中,我安装了redis-cli tool
我尝试收集bigkeyshotkeys的数据,但每次运行redis-cli,我都会得到不同的结果(两个错误):

~> redis6-cli -c -h myinstance.cache.com -p 6379 --tls --hotkeys

# Scanning the entire keyspace to find hot keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).

Error: MOVED 6787 node.myinstance.cache.com:6379
~> redis6-cli -c -h myinstance.cache.com -p 6379 --tls --bigkeys

# Scanning the entire keyspace to find hot keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).

TYPE returned an error: MOVED 6787 node.myinstance.cache.com:6379

我对上面的错误做了很多研究,我所能找到的是,你应该使用-c命令行开关来启用redis-cli来跟踪MOVED错误/消息,但正如所看到的,我正在使用它。
REPL可以很好地处理get、set和delete键。我尝试使用--scan参数,它也工作。

vlju58qv

vlju58qv1#

这似乎是一个redis-cli问题,请参阅https://github.com/redis/redis/issues/4810
可以使用以下解决方法:
1.使用redis-cli连接到群集配置端点
1.通过执行群集节点查找主节点:redis6-cli -h configurationendpoint.cache.com -p 6379 --tls cluster nodes
1.对各个主节点的节点端点运行bigkeys和hotkeys:redis6-cli -c -h myinstance.001.cache.com -p 6379 --tls --bigkeys
另外,您可以使用redis-cli 'check'命令来确定是否有多个插槽所有者:redis6-cli --tls --cluster check configurationendpoint.cache.com:6379 --cluster-search-multiple-owners。如果有,您可以联系ElastiCache支持以查看是否需要修复集群拓扑。

相关问题