简单记录一下
1.redis安装
# 安装gcc
yum install -y gcc
#下载
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
#解压
tar -zxf redis-5.0.3.tar.gz
#编译
cd redis-5.0.3
make
#安装
make install PREFIX=/usr/local/redis
如果编译的时候碰到如下错误:
没有jemalloc内存分配器的话,make命令改为
make MALLOC=libc
补充:安装jemalloc
安装包git地址:https://github.com/jemalloc/jemalloc/releases
下载压缩包,如图:
解压命令:
tar -xjvf jemalloc-5.2.1.tar.bz2
如果报错说明没有安装bzip2,先安装
yum install -y bzip2
2.redis主从 1主2从
#进入redis目录,新建conf配置目录
cd /usr/local/redis
mkdir conf
#从编译目录把配置文件复制过来,我的编译目录在/opt下
cp /opt/redis-5.0.3/redis.conf conf/
#再生成两分配置文件
cp redis.conf redis2.conf
cp redis.conf redis3.conf
#修改redis2.conf port
port=6380
#修改redis2.conf 是主的slave节点
slaveof 127.0.0.1 6379
#修改redis3.conf port
port=6381
#修改redis3.conf 是主的slave节点
slaveof 127.0.0.1 6379
#打开3个终端页面,启动三个redis实例
#进入redis的bin目录,启动主
./redis-server ../conf/redis.conf
#启动两个从
./redis-server ../conf/redis2.conf
./redis-server ../conf/redis3.conf
启动redis-cli终端
#在redis bin目录下,打开一个redis-cli
./redis-cli -p 6379
#设置一个key
set name zhangsan
# 再打开一个
./redis-cli -p 6380
get name
从节点可以读取,但是不能写
3.配置哨兵模式
当主节点挂的时候,从节点中选出新的主节点,当挂掉的节点(原主节点)再启动的时候,就变成了从节点。
#在redis目录下,新建sentinels配置目录
cd /usr/local/redis
mkdir sentinels
#进入sentinels配置目录,从编译目录复制sentinel.conf
cd sentinels
cp /opt/redis-5.0.3/sentinel.conf sentinel1.conf
# 再复制出两份
cp sentinel1.conf sentinel2.conf
cp sentinel1.conf sentinel3.conf
#修改配置文件
123配置文件 port 分别是 26379 26380 26381
#配置哨兵监控的主节点信息
#最后的2表示出发故障的最少哨兵数
sentinel monitor mymaster 127.0.0.1 6379 2
关闭6379的主节点,等待几秒钟,会选取新的master节点,日志如下: