如何在Centos7上部署redis4.0.8集群
- 部署条件:需要3台虚拟机(推荐)
- 部署前规划:
用户:redis
用户属组:app
目录:/app/base/redis-cluster
三台机器IP:
redis主节点:172.16.6.64:6379
redis备节点1:172.16.6.65:6379
redis备节点2:172.16.6.66:6379
哨兵端口分别设置为:172.16.6.64:26379,172.16.6.65:26379,172.16.6.66:26379
- 获取集群版本包:
wget http://172.16.6.100:8080/linux/redis_cluster/redis-cluster.tar.gz
- 操作步骤
1.解压集群包
[redis@localhost redis-cluster]$ tar -zxvf redis-cluster.tar.gz [redis@localhost redis-cluster]$ ll 总用量 28840 drwxr-xr-x. 6 redis app 50 5月 6 14:46 redis-1 drwxr-xr-x. 6 redis app 50 5月 6 14:46 redis-2 drwxr-xr-x. 6 redis app 50 5月 6 14:46 redis-3 -rw-rw-r--. 1 redis app 29529211 8月 24 17:19 redis-cluster.tar.gz [redis@localhost redis-cluster]$
2.分别将redis-1,redis-2,redis-3复制到三台机器上(因为我们现在是在其中一台机器,所以只需要把另外两个文件夹复制到另外两台机器上即可)
[redis@localhost redis-cluster]$ scp -r redis-2 [email protected]:/app/base/redis-cluster/ [redis@localhost redis-cluster]$ scp -r redis-3 [email protected]:/app/base/redis-cluster/
3.修改配置文件
[redis@localhost redis-1]$ ll 总用量 0 drwxr-xr-x. 2 redis app 134 5月 6 14:46 bin --命令集目录 drwxr-xr-x. 2 redis app 6 5月 6 14:47 db --数据存放目录 drwxr-xr-x. 2 redis app 45 8月 27 17:53 etc --配置文件目录 drwxr-xr-x. 2 redis app 43 5月 6 14:51 logs --日志目录 [redis@localhost redis-1]$ [redis@localhost redis-cluster]$ cd redis-1/etc/ [redis@localhost etc]$ ll 总用量 12 -rw-r--r--. 1 redis redis 1880 8月 24 17:25 redis.conf --redis配置文件 -rw-r--r--. 1 redis redis 900 8月 24 17:41 sentinel.conf --集群配置文件,只有部署集群时需要,单机可以不需要配置 [redis@localhost etc]$
- redis.conf配置文件内容(主要列出来一些需要修改或者需要注意的地方,其它的配置项基本上可以保持不变):
logfile "/home/redis/redis-cluster/redis-1/logs/redis.log" --日志文件存放路径,需要根据实际目录进行修改 pidfile "/var/run/redis_6379.pid" --需要根据实际路径和端口进行修改 #服务端口号 port 6379 --需要根据实际情况修改 #是否开启哨兵模式 daemonize yes --集群模式必须设置为yes #设置连接redis的密码 #requirepass "admin@123" --redis密码设置,根据需要设置,集群暂时不支持密码 #masterauth "admin@123" --集群密码设置,暂时不支持
- sentinel.conf配置文件内容(部署集群需要):
daemonize yes port 26379 --集群启动端口,根据实际情况修改 bind 0.0.0.0 --设置为0.0.0.0后可以允许任何主机访问,如果只允许某个IP访问可以配置对应的IP地址 logfile "/home/redis/redis-cluster/redis-1/logs/sentinel.log" --日志文件路径,根据实际路径配置 pidfile "/home/redis/redis-cluster/redis-1/etc/sentinel.pid" --pid存放路径配置,根据实际路径配置 #5秒内master6379没有响应,就认为SDOWN sentinel myid 01bd54e7ceb339ccab1beb951226334fd512c9ef sentinel monitor mymaster 172.16.6.64 6379 2 --配置主节点IP地址和端口,2代表有2个备节点,mymaster为应用中配置所需要的code # Generated by CONFIG REWRITE sentinel down-after-milliseconds mymaster 5000 #sentinel auth-pass mymaster admin@123 --redis集群暂时不支持密码,所以注释掉
4.配置备节点
说明:备节点和主节点配置几乎一样,这里只是把不通的地方列出,其它和主节点都完全一样,这里就不再赘述了
slaveof 172.16.6.64 6379 --备节点只需要再redis.conf配置文件最后增加该项即可,IP和端口为主节点的IP和redis端口
5.启动redis集群(需要分别登录到各节点机器去执行启动命令)
说明:必须先启动redis,再启动哨兵
nohup ./redis-server ../etc/redis.conf > ../logs/redis.log & --启动redis nohup ./redis-sentinel ../etc/sentinel.conf > ../logs/sentinel.log & --启动哨兵
6.检查服务
lsof -i:$port
至此,redis集群在Centos7上就部署完了,redis单机就更简单了,只需要部署一个主节点,且不用配置sentinel.conf配置文件,启动redis就可以啦。