搭建redis(单机、集群和哨兵)

3,342 阅读3分钟

1、部署单机redis

(1)下载redis安装包

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

(2)解压到指定文件夹

tar zxvf redis-4.0.10.tar.gz
mv redis-4.0.10 /usr/local/redis/

(3)编译安装

cd /usr/local/redis
make
make install

(4)修改redis的配置文件

vim /usr/local/redis/redis.conf
port 6379
daemonize yes
bind 0.0.0.0
pidfile /var/run/redis_6379.pid
cluster-enabled no
appendonly yes

(5)启动redis

redis-server /usr/local/redis/redis.conf

2、部署redis集群

(1)创建文件夹

mkdir -p /usr/local/redis-cluster/{9001,9002,9003,9004,9005,9006}/data

(2)修改/usr/local/redis/redis.conf的配置文件为集群模式,如下:

port 9001
daemonize yes
bind 0.0.0.0
dir /usr/local/redis-cluster/9001/data/
pidfile /var/run/redis_9001.pid
cluster-enabled yes
cluster-config-file nodes9001.conf
cluster-node-timeout 2000
appendonly yes

(3)拷贝配置文件到创建的6个端口的文件夹,并修改配置文件中的端口

cd /usr/local/redis-cluster
echo 9001/ 9002/ 9003/ 9004/ 9005/ 9006/ | xargs -n 1 cp -v /usr/local/redis/redis.conf

(4)启动6个redis服务

redis-server /usr/local/redis-cluster/9001/redis.conf
redis-server /usr/local/redis-cluster/9002/redis.conf
redis-server /usr/local/redis-cluster/9003/redis.conf
redis-server /usr/local/redis-cluster/9004/redis.conf
redis-server /usr/local/redis-cluster/9005/redis.conf
redis-server /usr/local/redis-cluster/9006/redis.conf

(5)安装ruby,如果提示版本需要大于2.2.2,需要使用rvm安装ruby

yum install ruby
yum install rubygems
gem install redis 

(6)启动集群

/usr/local/redis/src/redis-trib.rb create --replicas 1 服务器ip:9001 服务器ip.42:9002 服务器ip:9003 服务器ip:9004 服务器ip:9005 服务器ip:9006	

3.安装哨兵

(1)创建redis实例和sentinel的目录

mkdir -p /usr/local/redis-sentinel/{8001,8002,8003}/data
mkdir -p /usr/local/redis-sentinel/sentinel

(2)修改redis主节点8001的配置文件

cd /usr/local/redis-sentinel/8001
vim redis.conf
# 端口
port 8001

# 注释以下内容开启远程访问
# bind 127.0.0.1

# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 修改pidfile指向路径
pidfile "/usr/local/redis-sentinel/redis8001.pid"

#日志文件
logfile "/usr/local/redis-sentinel/log/redis8001.log"

#数据库文件名
dbfilename "dump.rdb"

#数据库文存放目录
dir "/usr/local/redis-sentinel/8001/data"

(3)修改redis从节点8002的配置文件,同理修改从节点8003的配置文件

cd /usr/local/redis-sentinel/8002
vim redis.conf
# 端口
port 8002

# 注释以下内容开启远程访问
# bind 127.0.0.1

# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 修改pidfile指向路径
pidfile "/usr/local/redis-sentinel/redis8002.pid"

#日志文件
logfile "/usr/local/redis-sentinel/log/redis8002.log"

#数据库文件名
dbfilename "dump.rdb"

#数据库文存放目录
dir "/usr/local/redis-sentinel/8002/data"

# 主节点的ip和端口
slaveof 127.0.0.1 8001

(4)启动主从节点

/usr/local/redis/redis-server /usr/local/redis-sentinel/8001/redis.conf
/usr/local/redis/redis-server /usr/local/redis-sentinel/8002/redis.conf
/usr/local/redis/redis-server /usr/local/redis-sentinel/8003/redis.conf

(5)修改sentinel的9001节点的配置文件,同理添加9002节点的配置文件

cd /usr/local/redis-sentinel/sentinel
vim sentinel_9001.conf
#添加为后台运行
daemonize yes
##这里从服务1的默认端口我们不动 稍后修改从2即可
port 9001
##这里配置写上主服务器IP 端口 2个sentinel选举成功后才有效
sentinel monitor mymaster 127.0.0.1 8001 2

(6)启动sentinel节点

/usr/local/redis/redis-server /usr/local/redis-sentinel/sentinel/sentinel_9001.conf --sentinel
/usr/local/redis/redis-server /usr/local/redis-sentinel/sentinel/sentinel_9002.conf --sentinel