Redis集群安装配置node
为了实现redis高可用性。使用三台虚拟机来实现redis的集群环境安装redis
1.redis集群架构图算法
Redis版本 redis-4.0.2vim
三台服务器:分别为192.168.112.12八、192.168.112.12九、192.168.112.131ruby
2.软件安装服务器
1) tar -zxvf redis-4.0.2.tar.gz架构
2) cd redis-4.0.2app
3) make && make install工具
3.集群环境安装spa
1) 首先在192.168.112.128机器上 /opt/renzl/redis 目录下建立 redis_cluster 目录;
mkdir redis_cluster
2) 进入redis_cluster目录,分别建立7000、7001两个文件夹
mkdir 7000
3) 而后拷贝redis.conf文件到7000目录下
cp /opt/renzl/redis-4.0.2/redis.conf /opt/renzl/redis
第一个路径为解压路径
第二个路径为redis安装路径
4) 别的机器所有执行以上命令或者在一台机器配置完成经过scp命令复制,进行修改
5) 全部机器安装完成后进行以下配置以192.168.112.128 7000为例
vim /opt/renzl/redis/redis_cluster/7000/redis.conf
port 7000 //端口7000,
bind 192.168.112.128 //默认ip为127.0.0.1 须要改成其余节点机器可访问的ip 不然建立集群时没法访问对应的端口,没法建立集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,可选
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有须要就开启,它会每次写操做都记录一条日志
6) 重复以上操做,直至全部的配置文件修改完成
7) 分别启动redis服务
redis-server redis_cluster/7000/redis.conf //实际路径本身调整
每台机器的两个端口启动
8) 经过命令查看是否启动成功
ps -ef | grep redis
正常启动完成后,开始建立集群
9) 建立集群
Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,复制到一台服务器上如:192.168.112.128
cp /opt/renzl/redis-4.0.2/src /opt/renzl/redis
10) 在执行命令前,须要安装ruby 安装过程忽略,可是必须安装ruby2.2以上版本,不然在建立集群时会提示版本有问题。
11) 经过命令来建立集群环境
./redis-trib.rb create --replicas 1 192.168.112.128:7000(全部启动的redis实例,使用空格隔开)
给定 redis-trib.rb 程序的命令是 create,表示建立一个新的集群。选项 --replicas 1 表示为集群中的每一个主节点建立一个从节点。以后跟着的其余参数则是实例的地址列表, 指定使用这些地址所指示的实例来建立新集群。
12) 建立成功
“All 16384 slots covered.”表示集群中的 16384 个槽都有至少一个主节点在处理, 集群运做正常。从打印出来的信息也能够看出,7000,7002,7004是主节点,其它三个是从节点。
13) 经过客户端链接redis服务器
./redis-cli -h 192.168.112.128 -c -p 7000
加参数 -C 可链接到集群,由于上面 redis.conf 将 bind 改成了ip地址,因此 -h 参数不能够省略。
14) 集群验证
set name renzl
会用CRC16算法来取模获得所属的slot,而后将这个key 分到哈希槽区间的节点上,
若是这个时候能过命令来获取将获得以下变化:
链接会自动切换到192.168.112.131:7002上