安装redis集群

下载

登陆redis的官网下载,目前最新的稳定版本是3.2.9

编译

将下载好的安装包redis-3.2.9.tar.gz上传到服务器解压,例如解压到/opt下面,执行make && make install

cd /opt/redis-3.2.9

make && make install

安装前准备

创建目录

mkdir -p /opt/redis/cluster/7000/bin
mkdir -p /opt/redis/cluster/7001/bin
mkdir -p /opt/redis/cluster/7002/bin
mkdir -p /opt/redis/cluster/7003/bin
mkdir -p /opt/redis/cluster/7004/bin
mkdir -p /opt/redis/cluster/7005/bin
mkdir -p /opt/redis/cluster/bin

复制启动脚本

cp /opt/redis-3.2.9/src/redis-server /opt/redis/cluster/7000/bin
cp /opt/redis-3.2.9/src/redis-cli /opt/redis/cluster/7000/bin

cp /opt/redis-3.2.9/src/redis-server /opt/redis/cluster/7001/bin
cp /opt/redis-3.2.9/src/redis-cli /opt/redis/cluster/7001/bin

cp /opt/redis-3.2.9/src/redis-server /opt/redis/cluster/7002/bin
cp /opt/redis-3.2.9/src/redis-cli /opt/redis/cluster/7002/bin

cp /opt/redis-3.2.9/src/redis-server /opt/redis/cluster/7003/bin
cp /opt/redis-3.2.9/src/redis-cli /opt/redis/cluster/7003/bin

cp /opt/redis-3.2.9/src/redis-server /opt/redis/cluster/7004/bin
cp /opt/redis-3.2.9/src/redis-cli /opt/redis/cluster/7004/bin

cp /opt/redis-3.2.9/src/redis-server /opt/redis/cluster/7005/bin
cp /opt/redis-3.2.9/src/redis-cli /opt/redis/cluster/7005/bin

cp /opt/redis-3.2.9/src/redis-trib.rb /opt/redis/cluster/bin

在每个redis实例文件夹下创建配置文件redis.conf,内容如下,注意每个实例要配置自己的端口号

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no

安装必要的工具,按顺序执行下面的命令,

yum install ruby

yum install rubygems

gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/

gem install redis

启动redis集群

先启动redis实例

cd /opt/redis/cluster/7000
nohup ./bin/redis-server redis.conf > /dev/null &

以此类推启动所有redis的实例

创建集群

cd /opt/redis/cluster/bin

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

创建过程中会提示Can I set the above configuration? (type 'yes' to accept):这时,输入yes即可。这样就创建了3个master的redis节点

Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002

测试

运行下面的命令,测试集群是否可用

cd /opt/redis/cluster/7000/bin

./redis-cli -c -p 7000

127.0.0.1:7000> set foo bar
-> Redirected to slot [12182] located at 127.0.0.1:7002
OK
127.0.0.1:7002> get foo
"bar"

最终目录结构

/opt/redis
└── cluster
    ├── 7000
    │   ├── appendonly.aof
    │   ├── bin
    │   │   ├── redis-cli
    │   │   └── redis-server
    │   ├── dump.rdb
    │   ├── nodes.conf
    │   └── redis.conf
    ├── 7001
    │   ├── appendonly.aof
    │   ├── bin
    │   │   ├── redis-cli
    │   │   └── redis-server
    │   ├── dump.rdb
    │   ├── nodes.conf
    │   └── redis.conf
    ├── 7002
    │   ├── appendonly.aof
    │   ├── bin
    │   │   ├── redis-cli
    │   │   └── redis-server
    │   ├── dump.rdb
    │   ├── nodes.conf
    │   └── redis.conf
    ├── 7003
    │   ├── appendonly.aof
    │   ├── bin
    │   │   ├── redis-cli
    │   │   └── redis-server
    │   ├── dump.rdb
    │   ├── nodes.conf
    │   └── redis.conf
    ├── 7004
    │   ├── appendonly.aof
    │   ├── bin
    │   │   ├── redis-cli
    │   │   └── redis-server
    │   ├── dump.rdb
    │   ├── nodes.conf
    │   └── redis.conf
    ├── 7005
    │   ├── appendonly.aof
    │   ├── bin
    │   │   ├── redis-cli
    │   │   └── redis-server
    │   ├── dump.rdb
    │   ├── nodes.conf
    │   └── redis.conf
    └── bin
        └── redis-trib.rb

参考

详细信息请参考redis官方指南

注意:本文是使用root用户完成的所有操作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。