centos 7 redis 集群搭建记录
- 下载并安装redis
命令如下
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 make
安装过程中若报错参考后面解决方案
- 修改配置文件
命令如下
vim redis.conf #进入vim后按下 / 输入要查找的内容按回车,按n查找下一个 #按i进入编辑模式,编辑完之后再按esc退出编辑模式 #按shift+; 输入命令 wq 按回车 保存并退出,脚本建好之后更脚本文件执行权限
主要修改点如下图:
1.protected-mode no 保护模式为yes时远程机器连接不上
2.cluster-enabled yes 打开集群支持
3.port 复制到集群文件夹之后修改端口号
4.pidfile 复制到集群文件夹之后修改进程号记录文件名
5.cluster-config-file 复制到集群文件夹之后修改文件名并打开注释(删除最前面的#号)
- 在redis-4.0.1目录中创建文件夹 并复制redis.conf到各个目录
#创建6个文件夹 mkdir redis1 redis2 redis3 redis4 redis5 redis6 #将修改好的redis.conf复制到上述文件夹中 echo redis1 redis2 redis3 redis4 redis5 redis6 | xargs -n 1 cp -v redis.conf
创建完后如下图
- 修改各个目录配置文件
主要修改点,可以只修改五个文件夹的文件,端口号不要冲突,文件名也只改数字就行:
1.port 6379 依次 6380 6381 6382 6383 6384
2.pidfile /var/run/redis_6379.pid …
3.cluster-config-file nodes-6379.conf …
- 在redis-4.0.1目录下编写启动脚本
#输入命令 vim start.sh #进入vim后按下字母 i 进入编辑状态,输入脚本内容 #在XShell下复制好下面内容按shift+insert粘贴内容,再按esc退出编辑模式 #按shift+; 输入命令 wq 按回车 保存并退出,脚本建好之后更脚本文件执行权限 #更改权限命令 chmod 700 start.sh #以下为脚本内容 9-15行 #!/usr/bin/bash nohup ./src/redis-server redis1/redis_6379.conf >nohup.out 2>&1 & nohup ./src/redis-server redis2/redis_6380.conf >nohup.out 2>&1 & nohup ./src/redis-server redis3/redis_6381.conf >nohup.out 2>&1 & nohup ./src/redis-server redis4/redis_6382.conf >nohup.out 2>&1 & nohup ./src/redis-server redis5/redis_6383.conf >nohup.out 2>&1 & nohup ./src/redis-server redis6/redis_6384.conf >nohup.out 2>&1 & #脚本保存之后执行命令启动redis ./start.sh #再执行命令检查是否启动成功 ps aux|grep redis
检查结果如下图
复制redis-trib.rb到redis-4.0.1目录并执行创建集群命令
#在redis-4.0.1目录中执行创建集群命令 ./src/redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
创建确认输入yes按回车,如下图
创建成功如下图
- 在redis-4.0.1目录下编写关闭集群脚本
#操作参考创建启动脚本,脚本内容如下 #!/usr/bin/bash ./src/redis-cli -p 6379 shutdown ./src/redis-cli -p 6380 shutdown ./src/redis-cli -p 6381 shutdown ./src/redis-cli -p 6382 shutdown ./src/redis-cli -p 6383 shutdown ./src/redis-cli -p 6384 shutdown
解决方案
1.【时间戳 2017-07-24 21:58:34 是未来的 4658300.712501815 秒之后】 本人是在虚拟机上进行安装,之前虚拟是处于挂起状态,直接恢复后时间未同步,所以遇到此问题。
解决方法:
#最简单的方法 date -s '2017-07-27 22:49:50' #长久的方法 安装ntp时间同步 yum -y install ntp #centos 7下设置开机启动 systemctl enable ntpd #centos 7启动服务 启动之后时间就更新了,前提网络是通的 systemctl start ntpd #centos 6 或其他 设置开机启动 chkconfig ntpd on #centos 6 或其他 检查设置项 chkconfig|grep ntpd ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 ntpdate 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
2.make时出现下图错误,由于未安装gcc导致
解决方法:
#安装gcc命令 yum install gcc
3.make时出现下图错误,由于解压时报错,时间同步之后未重新解压导致
解决方法,重新解压,命令:
#移除原先解压的文件(可选) rm -rf redis-4.0.1 #重新解压 tar xzf redis-4.0.1.tar.gz
4.创建集群命令报错:/usr/bin/env: ruby: 没有那个文件或目录
解决办法:
#安装ruby yum install ruby