不需要安装JDK
$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
然后解压:
$ tar xzf redis-4.0.1.tar.gz
进入目录:
$ cd redis-4.0.1
编译redis:
$ make
(如果你的linux没安装gcc,那么请一定先安装gcc($yum install gcc-c++
))
等待,等待,再等待。
当你看到下面的文字,恭喜您。编译完成。
Hint: It’s a good idea to run ‘make test’ ;)
接下来是修改配置文件,打开刚解压的目录:
主服务器:vim redis.conf
找到:bind 127.0.0.1(修改成:bind 192.168.3.231,记得修改成自己ip,远程才能访问。)
找到:protected-mode yes(设置成:protected-mode no;保护模式关闭,如果你不关闭保护模式,启动哨兵的时候,无法正常运行。还有个解决办法就是你设置密码,但是一般都不设置redis的密码。麻烦,我每次连接还得输入密码。在部署中,可以设置密码。)
找到:daemonize no(设置成:daemonize yes,标示后台启动。)
主服务器:vim sentinel.conf
找到:sentinel monitor mymaster 127.0.0.1 6379 2
这里就设置成:sentinel monitor mymaster 192.168.3.231 6379 1
找到:# protected-mode no(设置成:protected-mode no)(去掉注释,关闭保护模式)
接下来修改从服务器的配置文件
vim redis.conf
找到:# slaveof (把注释去掉,最后我这里是修改成:slaveof 192.168.3.231 6379,这样表明自己是从服务器。)
如果你是做集群,可以把此配置文件,放在不同的服务器上,不需要修改任何配置。
redis
daemonize yes
pidfile /opt/XX/redis/redis6379.pid
protected-mode no
port 6379
logfile "/opt/XX/redis/redis6379.log"
save 900 9999999999
save 300 9999999999
save 60 9999999999
dbfilename dump6379.rdb
dir /opt/XX/redis
从库增加以下配置
slaveof 10.33.32.25 6379
maxmemory 30gb
sentinel哨兵
protected-mode no
port 36379
dir "/opt/XX/redis/sentinel/data/s1"
sentinel monitor r1 10.33.32.25 6379 2 ---每个集群哨兵配置此处一样,都是r1集群名,都监控主库25
sentinel down-after-milliseconds r1 10000
sentinel parallel-syncs r1 1
sentinel failover-timeout r1 10000
sentinel config-epoch r1 5
logfile "/opt/XX/redis/sentinel/logs/s1.log"
⚠️:
1 将sentinel.conf中所有mymaster替换为自定义名字,这里都替换为rX (X=1/2/3),否则哨兵模式无法启动
2 确保配置文件引用的路径都存在(没有的mkdir建立)
配置完成:开始运行。
主服务器:在你解压出来的目录运行:./src/redis-server redis.conf
带参数启动成功:测试:./src/
redis-cli -h 10.XX.16.XX -p 6379
试试输入:info cd /
当前节点是master,有两个从节点,分别是192.168.3.232和192.168.3.233
主服务器开启哨兵模式:
配置读取:nohup ./redis-sentinel /opt/XXXX/redis/conf/sentinel.conf &
启动:./src/redis-cli -h 10.XX.XX.XX -p 36379 info sentinel 查看redis进程及哨兵模式是否生效
ps axu | grep redis
接着启动剩下的2台从库
关闭哨兵模式:./src/redis-cli -p 36379 shutdown
用apt-get
或者yum install
安装的redis,可以直接通过下面的命令停止/启动/重启redis
/etc/init.d/redis-server stop
/etc/init.d/redis-server start
/etc/init.d/redis-server restart
如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli
的shutdown
命令来重启redis
redis-cli -h 127.0.0.1 -p 6379 shutdown
⚠️:
1 redis哨兵集群宕机后重启,先启动redis 主库 ,再redis 从库,最后启动各台sentinel机器;
2 sentinel集群名只能唯一(此处是r1),在配置文件 sentinel monitor r1 主库IP 6379 1 中 33、34、37三台服务器的哨兵配置都保持一样(3个哨兵同时监控主库redis)
windows下的redis管理工具:Redis Desktop Manager