Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
531 views
in Technique[技术] by (71.8m points)

amazon ec2 - Error while running command redis-cli --cluster call x.x.x.x:6379 KEYS "*"

I have set up an AWS EC2 instance with Redis cluster on Docker container with below docker -compose.yml, once after starting the container when I try to run the command redis-cli --cluster call x.x.x.x:6379 KEYS * getting an error:

Could not connect to Redis at 172.18.0.12:6381: No route to host
Could not connect to Redis at 172.18.0.11:6380: No route to host
>>> Calling KEYS *
x.x.x.x:6379: backup2

But if I run the same redis-cli command from the host I am getting out put.

>>> Calling KEYS *
x.x.x.x:6379: backup2
backup3
172.18.0.12:6381: a
172.18.0.11:6380: c

docker-compose.yml:

version: "3.1"
services:
  redis-master-1:
    build: ./
    ports:
      - 6379:6379
    networks:
      redisnet:
        ipv4_address: 172.18.0.10
    command: sh -c "redis-server /usr/local/redis.conf --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000"
  redis-master-2:
    build: ./
    ports:
      - 6380:6379
    networks:
      redisnet:
        ipv4_address: 172.18.0.11
    depends_on:
      - redis-master-1
    command: sh -c "redis-server /usr/local/redis.conf --port 6380 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000"
  redis-master-3:
    build: ./
    ports:
      - 6381:6379
    command: sh -c "redis-server /usr/local/redis.conf --port 6381 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000"
    networks:
      redisnet:
        ipv4_address: 172.18.0.12
    depends_on:
      - redis-master-2
  redis-setup:
    image: ruby
    command: sh -c "gem install redis && wget http://download.redis.io/redis-stable/src/redis-trib.rb && yes yes | ruby redis-trib.rb create --replicas 1 172.18.0.10:6379 172.18.0.11:6380 172.18.0.12:6381 && while sleep 3600; do :; done"
    networks:
      redisnet:
        ipv4_address: 172.18.0.13
    depends_on:
      - redis-master-1
      - redis-master-2
      - redis-master-3
networks:
  redisnet:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16**strong text**

Dockerfile:

FROM redis
COPY clusterconfig.conf /usr/local/redis.conf
CMD ["redis-server", "/usr/local/redis.conf"]

clusterconfig.conf:

port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...