1.前置条件
前置条件:linux已经可以上网,参考:https://www.cnblogs.com/ZenoLiang/p/10201875.html
2.安装redis
2.1依赖包检查
1. yum install cpp -y
2. yum install binutils -y
3. yum install glibc-kernheaders -y
4. yum install glibc-common -y
5. yum install glibc-devel -y
6. yum install gcc -y
7. yum install make -y
2.2下载Redis源码,解压缩后编译源码
$ cd /usr/james
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
注意:如果不能执行,先执行yum install wget -y
$ tar -xzf redis-4.0.6.tar.gz
$ cd redis-4.0.6
$ make #编译
mkdir /usr/wyh #创建一个目录wyh
mkdir/usr/wyh/redis #再创建一个目录redis
cd src/
cp redis-server /usr/wyh/redis
cp redis-benchmark /usr/wyh/redis
cp redis-check-rdb /usr/wyh/redis
cp redis-sentinel /usr/wyh/redis
cp redis-cli /usr/wyh/redis
cd ..
cp redis.conf /usr/wyh/redis
附:设置客户端访问密码
cd /usr/wyh/redis
vi redis.conf
/requirepass #查找,直到找到如下图所示
按键盘 “i键”编辑
然后把密码改成12345678
保存按 “esc键”,再按shift+zz(小写z)e
3.设置主从
远程访问6379节点(后期做为主节点使用):
redis.conf 修改 requirepass 12345678 注释掉bind 127.0.0.1
从节点redis6380.conf, redis6381.conf:
修改 requirepass 12345678 ,注释掉bind 192.168.42.111, 加上masterauth 12345678 ,
加上slaveof 192.168.42.111 6379
redis sentinel哨兵机制配置(也是3个节点):
/usr/local/bin/conf/sentinel_26379.conf
/usr/local/bin/conf/sentinel_26380.conf
/usr/local/bin/conf/sentinel_26381.conf
将三个文件的端口改成: 26379 26380 26381
然后:sentinel monitor mymaster 127.0.0.1 6379 2 //监听主节点6379
sentinel auth-pass mymaster 12345678 //连接主节点时的密码
三个配置除端口外,其它一样。
启动sentinel服务:
./redis-sentinel conf/sentinel_26379.conf &
./redis-sentinel conf/sentinel_26380.conf &
./redis-sentinel conf/sentinel_26381.conf &
测试:kill -9 6379 杀掉6379的redis服务
看日志是分配6380 还是6381做为主节点,当6379服务再启动时,已变成从节点
如果6380升级为主节点:进入6380>info replication 可以看到role:master
打开sentinel_26379.conf等三个配置,sentinel monitor mymaster 127.0.0.1 6380 2
外部应用连接sentinel时, sentinel.conf的protected-mode no改成no
./redis-cli -p 26380 shutdown //关闭