安装 redis 集群

172.13.3.160 为宿主机IP

redis1.conf 同样的配置只需要改prot

  1. port 7001
  2. protected-mode no
  3. cluster-enabled yes
  4. cluster-config-file nodes.conf
  5. cluster-node-timeout 5000
  6. cluster-announce-ip 172.13.3.160
  7. cluster-announce-port 7001
  8. cluster-announce-bus-port 17001
  9. appendonly yes
  10. pidfile /var/run/redis_7001.pid

redis2.conf 同样的配置只需要改prot

  1. port 7002
  2. protected-mode no
  3. cluster-enabled yes
  4. cluster-config-file nodes.conf
  5. cluster-node-timeout 5000
  6. cluster-announce-ip 172.13.3.160
  7. cluster-announce-port 7002
  8. cluster-announce-bus-port 17002
  9. appendonly yes
  10. pidfile /var/run/redis_7002.pid

生成6份

docker-compose.yml

  1. version: '3.7'
  2. x-image:
  3. &redis-image
  4. redis:5.0.7
  5. services:
  6. redis1:
  7. image: *redis-image
  8. container_name: redis1
  9. command:
  10. ["redis-server", "/home/redis/cluster/redis.conf"]
  11. volumes:
  12. - ./redis1.conf:/home/redis/cluster/redis.conf
  13. - ./7001/data:/data
  14. ports:
  15. - 7001:7001
  16. - 17001:17001
  17. redis2:
  18. image: *redis-image
  19. container_name: redis2
  20. command:
  21. ["redis-server", "/home/redis/cluster/redis.conf"]
  22. volumes:
  23. - ./redis2.conf:/home/redis/cluster/redis.conf
  24. - ./7002/data:/data
  25. ports:
  26. - 7002:7002
  27. - 17002:17002
  28. redis3:
  29. image: *redis-image
  30. container_name: redis3
  31. command:
  32. ["redis-server", "/home/redis/cluster/redis.conf"]
  33. volumes:
  34. - ./redis3.conf:/home/redis/cluster/redis.conf
  35. - ./7003/data:/data
  36. ports:
  37. - 7003:7003
  38. - 17003:17003
  39. redis4:
  40. image: *redis-image
  41. container_name: redis4
  42. command:
  43. ["redis-server", "/home/redis/cluster/redis.conf"]
  44. volumes:
  45. - ./redis4.conf:/home/redis/cluster/redis.conf
  46. - ./7004/data:/data
  47. ports:
  48. - 7004:7004
  49. - 17004:17004
  50. redis5:
  51. image: *redis-image
  52. container_name: redis5
  53. command:
  54. ["redis-server", "/home/redis/cluster/redis.conf"]
  55. volumes:
  56. - ./redis5.conf:/home/redis/cluster/redis.conf
  57. - ./7005/data:/data
  58. ports:
  59. - 7005:7005
  60. - 17005:17005
  61. redis6:
  62. image: *redis-image
  63. container_name: redis6
  64. command:
  65. ["redis-server", "/home/redis/cluster/redis.conf"]
  66. volumes:
  67. - ./redis6.conf:/home/redis/cluster/redis.conf
  68. - ./7006/data:/data
  69. ports:
  70. - 7006:7006
  71. - 17006:17006

执行命令

  1. #关闭防火墙
  2. firewall-cmd --state
  3. systemctl stop firewalld.service
  4. systemctl disable firewalld.service
  5. docker-compose up -d 编译并运行
  6. docker-compose down 杀死并删除
  7. docker-compose start
  8. docker-compose stop
  9. docker exec -it redis1 /bin/bash
  10. redis-cli --cluster create 172.13.3.160:7001 172.13.3.160:7002 172.13.3.160:7003 172.13.3.160:7004 172.13.3.160:7005 172.13.3.160:7006 --cluster-replicas 1
  11. redis-cli -c -p 7001