本示例基于 5.0.10
,搭建集群至少需要6台机器
,生产环境都是部署在不同的服务器上面。由于示例原因就部署在同一台机器,启动不同的端口,用于区分多台服务器,当然也可以使用 docker部署。
下载
wget https://download.redis.io/releases/redis-5.0.10.tar.gz
安装
cd /usr/local/src
tar -zxvf redis-5.0.10.tar.gz
cd redis-5.0.10
# 安装到指定目录
make PREFIX=/usr/local/redis install
# 创建软连接
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin
ln -s /usr/local/redis/bin/redis-server /usr/local/bin
创建目录
mkdir /usr/local/redis-cluster
cd /usr/local/redis-cluster
# 因为示例用的是同一台机器,所以用多个目录来区分
mkdir -p 9001 9002 9003 9004 9005 9006
复制到目录
cp -r /usr/local/src/redis-5.0.10/* /usr/local/redis-clustet/9001/
cp -r /usr/local/src/redis-5.0.10/* /usr/local/redis-clustet/9002/
cp -r /usr/local/src/redis-5.0.10/* /usr/local/redis-clustet/9003/
cp -r /usr/local/src/redis-5.0.10/* /usr/local/redis-clustet/9004/
cp -r /usr/local/src/redis-5.0.10/* /usr/local/redis-clustet/9005/
cp -r /usr/local/src/redis-5.0.10/* /usr/local/redis-clustet/9006/
由于有多个集群,所以需要复制多次,手动复制一下即可。
修改配置文件
vim /usr/local/redis-cluster/9001/redis.conf
# 指定端口
port 9001
bind 0.0.0.0
protected-mode no
daemonize yes
dir /usr/local/redis-cluster/9001/data/
pidfile /var/run/redis_9001.pid
# 开启集群
cluster-enabled yes
cluster-config-file nodes-9001.conf
cluster-node-timeout 15000
appendonly yes
剩余5个配置文件也按照此规则修改即可
启动
redis-server -c /usr/local/redis-cluster/9001/redis.conf
redis-server -c /usr/local/redis-cluster/9002/redis.conf
redis-server -c /usr/local/redis-cluster/9003/redis.conf
redis-server -c /usr/local/redis-cluster/9004/redis.conf
redis-server -c /usr/local/redis-cluster/9005/redis.conf
redis-server -c /usr/local/redis-cluster/9006/redis.conf
# 查看启动状态
ps auxf | grep redis
创建集群
redis-cli --cluster create \
127.0.0.1:9001 \
127.0.0.1:9002 \
127.0.0.1:9003 \
127.0.0.1:9004 \
127.0.0.1:9005 \
127.0.0.1:9006 \
--cluster-replicas 1
连接
redis-cli -c -h 127.0.0.1 -p 9001
-c
表示使用集群方式连接-h
连接地址-p
连接端口
好了,以上就是redis
集群搭建示例,虽然是基于5.0.10
但其它版本也类似,不会有太大的改动,整个过程也是非常容易。