Redis之集群搭建

时间:2020-12-12 08:46:28

OS:Ubuntu16.04LTS
Resis:3.2.11(3.x以后支持集群)

单机

1、先决条件

sudo apt install build-essential
sudo apt install g++

2、下载

http://download.redis.io/releases/下载相应版本的redis.

3、安装

切换到root下;否则带sudo.

# 解压
tar -zxvf redis-3.2.11.tar.gz
cd redis-3.2.11
# 安装
make 
make install PREFIX=/usr/local/redis

4、修改配置文件

/usr/local/redis/bin目录下修改redis.conf:

# 注释掉
bind 127.0.0.1
# 默认是yes,改为no
protected-mode no

5、启动

5.1、前端启动

# 切换到/usr/local/redis/bin目录下
./redis-server

5.2、后端启动

从redis源目录中复制redis.conf/usr/local/redis/bin下.
修改配置文件redis.conf,将daemonizeno改为yes.

./redis-server redis.conf
# 验证
ps aux | grep redis

集群

通过在主机上开放不同端口号模拟多主机的集群环境.
至少需要3个主节点,另外每个主节点配置一个从节点,总共至少需要6个节点,所以需要开放至少6个端口号,比如:7001-7006.

1、先决条件

sudo apt install ruby
sudo apt install rubygems
sudo gem install redis -v 3.3.0

2、修改配置文件

a、首先在/usr/local/redis-cluster目录下创建6个目录,分别为redis01-redis06,并将/usr/local/redis/bin目录拷贝到6个目录下

sudo cp -r /usr/local/redis/bin /usr/local/redis-cluster/redid01

b、修改配置文件redis.conf

# 默认端口号为6379
port 7001
# 默认是注释掉的,去掉注释.
cluster-enabled yes

3、启动实例

/usr/local/redis-cluster目录下创建start.sh脚本,内容如下:


cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..

注意;如果该脚本没有执行权限,请使用命令chmod +x start.sh
使用命令 ./start.sh 运行脚本,即可启动6个redis实例.

4、创建集群

使用如下命令:

./redis-trib.rb create --replicas 1 192.168.2.104:7001 192.168.2.104:7002 192.168.2.104:7003 192.168.2.104:7004 192.168.2.104:7005  192.168.2.104:7006

5、测试集群

使用如下命令连接集群

# 其中-c代表连接集群
redis-cli -h 192.168.2.104 -p 7002 -c

出现如下图所示时,表示集群搭建成功
Redis之集群搭建

6、关闭

# -p指定端口号
redis-cli -p 7001 shutdown