一.安装redis所需依赖
yum install cpp
yum install binutils
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
二.安装Redis
在这一步中,我们可以跟随官网的节奏走官网的Redis步骤,注意下载路径
注意如果出现redis常见错误server.c:5191:24: error: ‘struct redisServer’ has no member named ‘masterhost’请运行一下命令:
1.yum -y install centos-release-scl
2.yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
3.scl enable devtoolset-9 bash
测试:redis-cli -p 6379
三.配置redis
修改配置文件,redis.conf
1.#requirepass foobared,取消注释,foobared修改为自己的密码
2.bind 127.0.0.1,增加注释,取消绑定,提供远程连接
3.启动时需要带配置文件启动,例如:redis-server redis.conf &
四.集群配置
1.创建多个redis.conf配置文件,启动多个redis服务,单机模式下,使用多端口来启动服务,例如7001-7009。使用ps -ef|grep redis查看redis启动情况
2.使用命令创建redis集群
src/redis-cli --cluster create 你的ip:7001 你的ip:7002 你的ip:7003 你的ip:7004 你的ip:7005 你的ip:7006 你的ip:7007 你的ip:7008 你的ip:7009 --cluster-replicas 2 -a 你的redis密码
说明,2代表的是一主有多少个从节点,这里2我配置的是2个从节点,9台redis机器,两个从节点,刚好就是一主两从的配置,当主节点挂掉时,会自动切换到从节点,如果挂掉的主节点恢复了,会当做从节点继续工作。注明,当一个分支的全部节点挂掉,会导致该集群无法使用,而且集群会保持数据持久化,如果想要清空缓存,请看下一步
3.redis集群的操作
重置操作:需要删除所有redis集群机器的备份数据
然后 登陆每个redis服务,运行 flushdb和cluster reset
集群
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。
节点
cluster meet <ip> <port> :将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
cluster forget <node_id> :从集群中移除 node_id 指定的节点。
cluster replicate <master_node_id> :将当前从节点设置为 node_id 指定的master节点的slave节点。只能针对slave节点操作。
cluster saveconfig :将节点的配置文件保存到硬盘里面。
槽(slot)
cluster addslots <slot> [slot ...] :将一个或多个槽( slot)指派( assign)给当前节点。
cluster delslots <slot> [slot ...] :移除一个或多个槽对当前节点的指派。
cluster flushslots :移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
cluster setslot <slot> node <node_id> :将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给
另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
cluster setslot <slot> migrating <node_id> :将本节点的槽 slot 迁移到 node_id 指定的节点中。
cluster setslot <slot> importing <node_id> :从 node_id 指定的节点中导入槽 slot 到本节点。
cluster setslot <slot> stable :取消对槽 slot 的导入( import)或者迁移( migrate)。
键
cluster keyslot <key> :计算键 key 应该被放置在哪个槽上。
cluster countkeysinslot <slot> :返回槽 slot 目前包含的键值对数量。
cluster getkeysinslot <slot> <count> :返回 count 个 slot 槽中的键 。
五. 配置redis-cluster-proxy代理集群
1.安装依赖
yum install centos-release-scl
yum install devtoolset-8-gcc devtoolset-8-gcc-c++
scl enable devtoolset-8 -- bash
2.到git上下载压缩包并解压,https://github.com/RedisLabs/redis-cluster-proxy
然后目录下make
3.配置proxy配置文件----proxy.conf
port 7617 #端口号
bind 0.0.0.0 #绑定的ip
threads 8 #线程数
enable-cross-slot yes #开启跨node查询
cluster 192.168.6.129:7001 #节点地址
auth 123456 #集群redis密码
#启动代理
./src/redis-cluster-proxy -c ./proxy.conf &