Comments (2)
- Redis-cli is not the same as this client, they work in different ways and are implemented in different ways
- If you get this exception, it means that 0 our of your nodes was reachable. You are probably providing wrong connection information, or you are getting into the most common redis cluster issue where the internal cluster tracks a totally different ip that your client do not understand or can route to. Check the output from
CLUSTER NODES
to see what your internal cluster tracks and sort that out - For the client to work, you must have at least one node reachable that is cluster enabled.
- You are misstaking two different operations also. The startup_nodes that you provide is just the entrypoints that you know should be reachable from the client. The client then asks
CLUSTER NODES
on any of the startup_nodes to get back "where are all the other node in the cluster according to you mister server?" and then you try to build up your client according to that response and that is where you get stuck.
So the most common problem that happens that you probably get stuck at. Is that between redis nodes, redis tries to be smart and use the most optimal ip in order for each node to find any other node. But this do not reflect or mean that a client will be able to use the same and connect with that as well. So in a case of running a cluster inside docker you get one IP from outside docker, and one ip inside docker. And redis will use the internal IP on the inside and in some cases 127.0.0.1 if the nodes is on the same container. But your client from another container will not understand what 127.0.0.1:7001 is or how it should understand that it is on another container. This is the most common issue that people have problems with redis-cluster and clients connecting into it.
from redis-py-cluster.
Thanks very much for this explanation.
2. I understand that redic-cli and this client works in different ways, i was referencing redis-cli to show that at least 1 node is reachable.
4. This also is not the case because i had an issue caused by this because i was port forwarding one node to my local machine, and i discovered that the client will try to redirect to the rest of the nodes and fixed by attaching an external static ip to all the nodes where they can be directly reachable at.
Thanks nevertheless, i had to destroy the cluster and just use standalone mode for now.
from redis-py-cluster.
Related Issues (20)
- archive repo since redis-py is cluster compatible HOT 6
- Support of Redis v4.1 HOT 1
- get wrong return value "OK" from redis HOT 1
- how to use ACL in redis cluster client HOT 1
- TypeError: unsupported operand type(s) for +: 'int' and 'str' HOT 1
- version 2.1.3 raise rediscluster.exceptions.MovedError when connect redis cluster HOT 4
- Is need to connection pool disconect? HOT 2
- ClusterWithReadReplicasConnectionPool with read_from_replicas causes dump. HOT 1
- KeyError:636 -> BaseException HOT 2
- Support for PSYNC HOT 1
- rediscluster.exceptions.ClusterError: TTL exhausted HOT 4
- The first node of cluster can not connect HOT 2
- Is there any params for RedisCluster __init__, to let redis know when did idle client connection should be kicked out HOT 3
- ImportError: cannot import name 'SlotNotCoveredError' from 'rediscluster.exceptions' HOT 1
- Turn off vervose logging HOT 4
- Best practice for deletion from Redis HOT 2
- Please update so that it can be installed on Python 3.11 HOT 2
- use redis-py-cluster unable to connect to redis cluster in python 2.7 HOT 2
- is ClusterBlockingConnectionPool work in gevent? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from redis-py-cluster.