一、安装
- 下载 wget https://download.redis.io/releases/redis-6.2.4.tar.gz
- 解压 tar -zvxf redis-6.2.4.tar.gz
- 安装 make install PREFIX=/usr/local/redis
二、启动
- 前置启动(一般不用)./redis-server 特点: redis启动后,将不能输入其他命令。退出前置启动的方式 ctrl+c
- 后置启动 ./redis-cli ../conf/redis.conf
1) 到redis的解压目录中拷贝 redis.conf 到 redis的安装目录中(和redis-server在同一个目录)
2)打开这个文件(vim命令),修改这个文件中 daemonize 的值为yes(默认为no)
3)在启动redis时, 使用 ./redis-server redis.conf(启动时,指定配置文件)
4)测试后置启动是否成功:多种方式
(1) ps aux|grep redis 查看这个进程是否存在
(2) 使用redis自带的客户端工具
3. 连接客户端 ../redis-cli进入客户端,输入ping 如果返回一个pong 则表示redis启动成功
4. 退出redis客户端的方式: 1 ctrl+c 2 quit 3 exit
5. 停止redis 强制结束程序。强制终止redis进程可能会导致redis持久化数据丢失。正确停止redis的方式应该是向redis发送SHUTDOWN命令,方法为(关闭默认的端口) ./bin/redis-cli shutdown
三、集群搭建
注意要关闭防火墙!!!https://www.cnblogs.com/zxg-blog/p/9835263.html
1. 创建集群文件 mkdir redisCluster,用于存放集群节点
2. 伪集群可以直接复制,建议在配置文件改好之后再复制节点,然后修改节点配置端口
redis, cp -r ./redis ./redis-cluster/redis01
3. 修改配置文件redis.conf
1)port 7000 端口,默认为6379,如果是伪集群,每个节点端口号要不同
2)cluster-enabled yes 打开集群模式
3)daemonize yes 守护线程
4)dir /usr/local/redis-cluster/redis01/ 指定数据文件存放位置,必须要指定不同的目录位置, 不然会丢失数据
5)bind ip 127.0.0.1 或其他ip 绑定ip
其他配置信息:
1)cluster‐config‐file nodes‐8001.conf(集群节点信息文件,这里800x最好和port对应上)
2)cluster‐node‐timeout 5000
3)protected‐mode no (关闭保护模式)
4)appendonly yes
5)requirepass password 设置redis访问密码
6)masterauth password 设置集群节点间访问密码,跟上面一致
配置密码之后,启动客户端要加-a password 参数 ./redis-cli -h 127.0.0.1 -p 7001 -a password
4. 启动每个redis节点,以01为例
cd ./redis-cluster/redis01
./redis-server ../conf/redis.conf
也可以写脚本,依次启动每个节点,然后给执行文件加权限 chmod +x start.sh
5. 创建集群
./redis-cli -a password --cluster create --cluster-replicas 1 ip:port ip:port (所有的节点ip和端口)
顺序为master1 master2 master3 slave1(master1) slave2(master2) slave3(master3)
6. 验证集群
连接一个客户端 ./redis-cli -h 127.0.0.1 -p 7001 -a password
cluster info 查看集群状态
cluster nodes 查看集群节点
info replication
关闭客户端 shutdown [nosave|save]
redis集群搭建结束。
四、常见问题
1. redis集群set报错(error) MOVED 11469 192.168.181.201:7002
解决:没有启动集群模式(即缺少了那个"-c"): redis-cli -c -h ip -p port
2. Make出错,make missing binary operator before token
解决:elif define找了个d,加上 https://www.iteye.com/topic/679065
3. 错误:(error) CLUSTERDOWN Hash slot not served
https://www.cnblogs.com/hanguoqing/p/10411128.html