发布时间:2022-10-13 16:30
由于redis是由C语言编写的,它的运行需要C环境,因此我们需要先安装gcc。安装命令如下:
yum install gcc-c++
3.1.对解压后的文件进行编译
3.2.进入redis安装目录下的src文件夹,安装redis
4.1.bind 127.0.0.1注释掉,里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了。
4.2.protected-mode 改为no,默认是设置成yes的, 防止了远程访问
4.3.将daemonize属性改为yes,表示后台启动。
5.1 启动redis5.2 redis客户端连接redis
说明redis已成功安装,并且使用OK。
文本内容如下,redis6380.conf的内容一样,把redis6379.conf的6379都替换成6380就行了,其他的配置文件也一样。
注:/myredis/redis.conf是redis安装目录下的redis.conf配置文件
include /myredis/redis.conf
pidfile "/var/run/redis_6379.pid"
port 6379
dbfilename "dump6379.rdb"
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
redis-server /myredis/redis6379.conf
redis-server /myredis/redis6380.conf
redis-server /myredis/redis6381.conf
redis-server /myredis/redis6389.conf
redis-server /myredis/redis6390.conf
redis-server /myredis/redis6391.conf
redis-cli --cluster create --cluster-replicas 1 121.37.161.244:6379 121.37.161.244:6380 121.37.161.244:6381 121.37.161.244:6389 121.37.161.244:6390 121.37.161.244:6391
此处不要用127.0.0.1,请用真实IP地址
–replicas 1采用最简单的方式配置集群,一台主机,一台从机,正好三组。
redis-cli -c -p 6379
一个集群至少有三个节点
选项—cluster-replicas 1表示希望为集群中的每个主节点创建一个从节点。
分配原则尽量保证每个主数据库运行在不同的IP地址,每个从库和主库不在一个IP地址上。
一个redis集群包含16384个插槽(hashslot),数据库中的每个键都属于这16384个插槽的其中一个。
集群使用公式CRC16(key)%16384来计算键key属于哪个槽,其中CRC16(key)语句用于计算键key的CRC16校验和。
集群中的每个节点负责处理一部分插槽。
集群的从节点卡槽为0,当备份的主节点宕机时,从节点成为新的master时,会复制主节点的hash槽(卡槽)。
根据k1计算到插槽是12706,12706插槽在6381上,就切换到6381上。
问题1,主服务挂掉后的过程
问题2:
如果所有某一段插槽的主从节点都宕掉了,redis服务是否还能继续?
如果所有某一段插槽的主从节点都挂掉,而cluster-require-full-coverage为yes,那么,整个集群都挂掉了。
如果所有某一段插槽的主从节点都挂掉,而cluster-require-full-coverage为no,那么,该插槽数据全都不能使用,也无法存储。其他插槽部分依然可以提供服务。
redis.conf中的参数cluster-require-full-coverage