redis分布式集群学习

redis分布式集群概述

Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。
Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.
Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令.
Redis 集群的优势:

  • 自动分割数据到不同的节点上。
  • 整个集群的部分节点失败或者不可达的情况下能够继续处理命令。

如何搭建环境

  1. 集群服务器配置
    集群中有三台服务器,分别是192.168.56.101、192.168.56.103、192.168.56.105,预期搭建环境:三主三从,使用这三台服务器上的7000/7001端口提供redis服务
  2. 安装软件

    安装ruby以及rubygems

sudo apt-get install ruby_full rubygems

安装rubygems的redis包

sudo gem install redis

安装redis 4.0.11

 cd  /usr/local/src
 sudo wget http://download.redis.io/releases/redis-4.0.11.tar.gz
 sudo tar zxf redis-4.0.11.tar.gz
 cd redis-4.0.11
 sudo make
 sudo make test
 sudo make install 
  1. 配置集群

配置文件 (创建工作目录,生成配置文件)

sudo mkdir -p /usr/local/redis-cluster
cd /usr/local/redis-cluster
sudo mkdir 7000 7001
sudo cp /usr/local/src/redis-4.0.11/redis.conf /usr/local/redis-cluster/7000
sudo cp /usr/local/src/redis-4.0.11/redis.conf /usr/local/redis-cluster/7001

修改配置文件 步骤如下:

  • (1)绑定端口,port 7000

  • (2)注释掉IP绑定,##bind 127.0.0.1

  • (3)指定数据存放路径,dir /usr/local/redis-cluster/7000

  • (4)启动集群模式,cluster-enabled yes

  • (5)指定集群节点配置文件,cluster-config-file nodes-7000.conf

  • (6)后台启动,daemonize yes

  • (7)指定集群节点超时时间,cluster-node-timeout 5000

  • (8)修改pidfile配置,pidfile /var/run/redis_7000.pid

  • (9)将 protected-mode yes 修改为 protected-mode no

启动redis服务 (分别在各个服务器上执行以下命令)

sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7000/redis.conf
sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7001/redis.conf

启动集群 (在一个服务器节点上执行即可)

sudo /usr/local/src/redis-4.0.11/src/redis-trib.rb create --replicas 1 192.168.56.105:7000 192.168.56.105:7001 192.168.56.101:7000 192.168.56.101:7001 192.168.56.103:7000 192.168.56.103:7001
  1. 验证是否正常工作
    集群启动成功> 查询集群中的主节点
redis-cli -h 192.168.56.105 -p 7000 cluster nodes |grep master

如何增删节点

如果主节点服务停止,集群如何处理

如何通过PHP访问redis集群

与codies有何区别

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章