redis6.2.6 集群部署
一、环境准备工作
说明:
1)部署环境为本地VMware虚拟机;
2)为了方便统一管理部署的服务,所以使用tar包部署,且安装在/test
目录下。
3)部署集群并且节省服务器数量,采用的是单机部署两个redis
方案,使用6379
和6380
端口
IP地址 | 系统 | 安装目录 | 占用端口 |
---|---|---|---|
192.168.80.40 | CentOS7.4(64 位) | /test | 6379、6380 |
192.168.80.50 | CentOS7.4(64 位) | /test | 6379、6380 |
192.168.80.60 | CentOS7.4(64 位) | /test | 6379、6380 |
所有服务器关闭防火墙和SElinux
systemctl stop firewalld
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
二、单机部署安装
官网下载地址:https://redis.io/download
此版本下载地址为:https://download.redis.io/releases/redis-6.2.6.tar.gz
可以使用wget
在服务器上直接下载,也可以登录官网下载到本地,然后使用终端工具传入。
1、新建目录,下载所需版本的redis
可以单台下载,然后使用scp
传给其他服务器,比下载速度稍快一些。
##所有服务器上新建/test目录
[root@cheng ~]# mkdir /test
[root@cheng ~]# cd /test/
##在192.168.80.40上下载,并传给其他服务器
[root@cheng test]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
[root@cheng test]# scp redis-6.2.6.tar.gz root@192.168.80.50:/test
[root@cheng test]# scp redis-6.2.6.tar.gz root@192.168.80.60:/test
2、所有服务器上解压并安装redis
[root@cheng test]# tar xf redis-6.2.6.tar.gz
[root@cheng test]# cd redis-6.2.6
[root@cheng test]# make && make install
3、所有服务器上创建redis启动6379
和6380
所需的目录和配置文件,配置文件根据模板进行复制改名即可。
[root@cheng redis-6.2.6]# mkdir -p /test/redis-6.2.6/conf/6379
[root@cheng redis-6.2.6]# mkdir -p /test/redis-6.2.6/conf/6380
[root@cheng redis-6.2.6]# cp /test/redis-6.2.6/redis.conf /test/redis-6.2.6/conf/6379/redis_6379.conf
[root@cheng redis-6.2.6]# cp /test/redis-6.2.6/redis.conf /test/redis-6.2.6/conf/6380/redis_6380.conf
4、修改相关的配置参数
vim /test/redis-6.2.6/conf/6379/redis_6379.conf
vim /test/redis-6.2.6/conf/6380/redis_6380.conf
修改参数如下:
redis_6379.conf修改如下:(redis_6380.conf将下列6379替换为6380即可) #大概位置
bind 192.168.146.137 #修改IP #75行
protected-mode no #允许其他服务访问,默认为yes #94行
port 6379 #绑定端口号 #98
timeout 300 #超时时间 #119行
daemonize yes #开启后台运行 #257行
pidfile /test/redis-6.2.6/conf/6379/redis_6379.pid #修改pid进程文件路径和名称 #289行
logfile /test/redis-6.2.6/conf/6379/redis_6379.log #修改日志文件路径和名称 #302行
dir /test/redis-6.2.6/conf/6379 #修改数据文件存放地址 #454行
appendfsync always #发生改变就记录日志 #1282行
cluster-enabled yes #启用集群 #1385行
cluster-config-file /test/redis-6.2.6/conf/6379/nodes-6379.conf #配置每个节点的配置文件 #1393行
cluster-node-timeout 15000 #配置集群节点的超时时间 #1399行
5、启动各个redis实例
(1)前台启动redis进行测试,可以看到没有报错
[root@cheng ~]# cd /test/redis-6.2.6/src/
[root@cheng src]# ./redis-server
(2)每个服务器启动各个redis
实例
[root@cheng src]# /test/redis-6.2.6/src/redis-server /test/redis-6.2.6/conf/6379/redis_6379.conf
[root@cheng src]# /test/redis-6.2.6/src/redis-server /test/redis-6.2.6/conf/6380/redis_6380.conf
[root@cheng src]# ps -ef |grep redis
三、加入集群查看状态
1、在任意服务器上输入一下命令
./redis-cli --cluster create 192.168.80.40:6379 192.168.80.40:6380 192.168.80.50:6379 192.168.80.50:6380 192.168.80.60:6379 192.168.80.60:6380 --cluster-replicas 1
2、查看单机和集群的状态
./redis-cli -h 192.168.80.40 -p 6379
192.168.80.40:6379> cluster info ##单机状态
192.168.80.40:6379> cluster nodes ##集群状态
3、其他常用命令
1) 查看keys个数
keys * #查看所有keys
keys prefix_* # 查看前缀为"prefix_"的所有keys
2) 清空数据库
flushdb #清除当前数据库的所有keys
flushall #清除所有数据库的所有keys
3、redis的3种启动方法
(1) ./redis-server & #加上‘&’号使redis以后台程序方式运行
(2) ./redis-server /etc/redis/6379.conf #通过指定配置文件启动(如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:redis-cli -h 192.168.80.40 -p 6380)
(3) service redisd start #使用redis启动脚本设置开机自启动
4、设置密码
1、修改配置文件中的requirepass
项,设置redis
密码,建议使用强密码,可以参考此网页:随机密码生成
vim /test/redis-6.2.6/conf/6379/redis_6379.conf
vim /test/redis-6.2.6/conf/6380/redis_6380.conf
修改项如下:解除注释并修改
2、杀掉进程,然后重启redis
,然后随便使用一个命令,可以看到报错,原因是没有使用密码登录,登录后就可以正常使用了。