Redis Cluster 集群搭建与使用

下载 & 安装 Redis

$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make

修改 redis 配置文件

cp redis.conf redis-6379.conf
bind 127.0.0.1
protected-mode no
port 6379
pidfile /var/run/redis_6379.pid
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000

启动 redis 服务

src/redis-server redis-6379.conf &
No cluster configuration found, I'm 55c5947b7ec7f01877102c91565c007a2dd6180b
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.9 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in cluster mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 10635
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                   

重复以上步骤,启动 6379,6380,6381,7379,7380,7381 一共六个 redis 服务。

创建 Redis Cluster

我们使用内置的 redis-trib.rb 脚本创建 Redis Cluster,所以需要安装 ruby 和 redis gem。

sudo apt install ruby
gem install redis

一个 Redis Cluster 至少需要三台 Master 服务器,这里我们配置 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 作为 Master 节点。

src/redis-trib.rb create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381

配置 Slave

Redis Cluster 配置完成,为了提高可用性,这里我们再来配置一下 Slave 服务器。

Master Slave
6379 7379
6380 7380
6381 7381
src/redis-trib.rb add-node --slave --master-id [master_id] 127.0.0.1:6379 127.0.0.1:7379
src/redis-trib.rb add-node --slave --master-id [master_id] 127.0.0.1:6380 127.0.0.1:7380
src/redis-trib.rb add-node --slave --master-id [master_id] 127.0.0.1:6381 127.0.0.1:7381

连接 Redis Cluster

最后我们再来介绍一下怎么连接 Redis Cluster。

命令行模式下我们直接使用 redis-cli -c 命令就可以连接 Redis Cluster。

$ src/redis-cli -c -h [host] -p [port]

参考:

https://redis.io/topics/cluster-tutorial

https://www.linode.com/docs/applications/big-data/how-to-install-and-configure-a-redis-cluster-on-ubuntu-1604/

 457 total views,  4 views today