1、下载安装

[root@ip101 redis-5.0.4]# pwd
/opt/app/redis-5.0.4
[root@ip101 redis-5.0.4]# ls
00-RELEASENOTES BUGS CONTRIBUTING COPYING deps INSTALL Makefile MANIFESTO README.md redis.conf runtest runtest-cluster runtest-sentinel sentinel.conf src tests utils
[root@ip101 redis-5.0.4]# pwd
/opt/app/redis-5.0.4
[root@ip101 redis-5.0.4]# make
........................................................
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
INSTALL redis-check-aof Hint: It's a good idea to run 'make test' ;) make[1]: Leaving directory `/opt/app/redis-5.0.4/src'
[root@ip101 redis-5.0.4]# pwd
/opt/app/redis-5.0.4
[root@ip101 redis-5.0.4]# ls
00-RELEASENOTES BUGS CONTRIBUTING COPYING deps INSTALL Makefile MANIFESTO README.md redis.conf runtest runtest-cluster runtest-sentinel sentinel.conf src tests utils
[root@ip101 redis-5.0.4]# make install [root@ip101 redis-5.0.4]# make uninstall#默认安装到了/usr/local/bin/目录下,更改为redis放置目录
cd src && make uninstall
make[1]: Entering directory `/opt/app/redis-5.0.4/src'
rm -f /usr/local/bin/{redis-server,redis-benchmark,redis-cli,redis-check-rdb,redis-check-aof,redis-sentinel}
make[1]: Leaving directory `/opt/app/redis-5.0.4/src'
[root@ip101 redis-5.0.4]#
[root@ip101 redis-5.0.4]# make PREFIX=/opt/app/redis-5.0.4 install
cd src && make install
make[1]: Entering directory `/opt/app/redis-5.0.4/src' Hint: It's a good idea to run 'make test' ;) INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/opt/app/redis-5.0.4/src'
[root@ip101 redis-5.0.4]# pwd
/opt/app/redis-5.0.4
[root@ip101 redis-5.0.4]# ls #安装了bin工具文件夹
00-RELEASENOTES bin BUGS CONTRIBUTING COPYING deps INSTALL Makefile MANIFESTO README.md redis.conf runtest runtest-cluster runtest-sentinel sentinel.conf src tests utils

2、创建相关文件夹

[root@ip101 redis-5.0.4]# mkdir -p /opt/app/redis-5.0.4/cluster/6379
[root@ip101 redis-5.0.4]# mkdir -p /opt/app/redis-5.0.4/cluster/6380 [root@ip101 redis-5.0.4]# pwd
/opt/app/redis-5.0.4
[root@ip101 redis-5.0.4]# ls
00-RELEASENOTES BUGS CONTRIBUTING deps Makefile README.md runtest runtest-sentinel src utils
bin cluster COPYING INSTALL MANIFESTO redis.conf runtest-cluster sentinel.conf tests
[root@ip101 redis-5.0.4]# pwd
/opt/app/redis-5.0.4
[root@ip101 redis-5.0.4]# cp redis.conf /opt/app/redis-5.0.4/cluster/6379
[root@ip101 redis-5.0.4]# cp redis.conf /opt/app/redis-5.0.4/cluster/6380
[root@ip101 redis-5.0.4]#

3、vi /opt/app/redis-5.0.4/cluster/6379/redis.conf

# 绑定服务器IP地址
bind 192.168.8.101 # 绑定端口号,必须修改,以此来区分Redis实例
port 6379 # 后台运行
daemonize yes # 修改pid进程文件名,以端口号命名
pidfile /var/run/redis-6379.pid # 修改日志文件名称,以端口号为目录来区分
logfile /opt/app/redis-5.0.4/cluster/6379/redis.log # 修改数据文件存放地址,以端口号为目录名来区分
dir /opt/app/redis-5.0.4/cluster/6379/ # 启用集群
cluster-enabled yes # 配置每个节点的配置文件,同样以端口号为名称
cluster-config-file nodes-6379.conf # 配置集群节点的超时时间,可改可不改
cluster-node-timeout 15000 # 启动AOF增量持久化策略
appendonly yes # 发生改变就记录日志
appendfsync always

vi /opt/app/redis-5.0.4/cluster/6380/redis.conf

# 绑定服务器IP地址
bind 192.168.8.101 # 绑定端口号,必须修改,以此来区分Redis实例
port 6380 # 后台运行
daemonize yes # 修改pid进程文件名,以端口号命名
pidfile /var/run/redis-6380.pid # 修改日志文件名称,以端口号为目录来区分
logfile /opt/app/redis-5.0.4/cluster/6380/redis.log # 修改数据文件存放地址,以端口号为目录名来区分
dir /opt/app/redis-5.0.4/cluster/6380/ # 启用集群
cluster-enabled yes # 配置每个节点的配置文件,同样以端口号为名称
cluster-config-file nodes-6380.conf # 配置集群节点的超时时间,可改可不改
cluster-node-timeout 15000 # 启动AOF增量持久化策略
appendonly yes # 发生改变就记录日志
appendfsync always

4、ip102,ip103仿效ip101进行安装和配置

# 绑定服务器IP地址
bind 192.168.8.102
---------------
# 绑定服务器IP地址
bind 192.168.8.102

5、ip101,ip102,ip103配置环境变量

export REDIS_HOME=/opt/app/redis-5.0.4
export PATH=$REDIS_HOME/bin:$PATH
source /etc/profile

6、ip101、ip102、ip103启动redis

[root@ip101 redis-5.0.4]# redis-server /opt/app/redis-5.0.4/cluster/6379/redis.conf
[root@ip101 redis-5.0.4]# redis-server /opt/app/redis-5.0.4/cluster/6380/redis.conf
[root@ip101 redis-5.0.4]# ps aux|grep redis
root 12323 0.1 0.2 144480 2548 ? Ssl 05:01 0:00 redis-server 192.168.8.101:6379 [cluster]
root 12334 0.4 0.2 144480 2548 ? Ssl 05:01 0:00 redis-server 192.168.8.101:6380 [cluster]
root 12343 0.0 0.0 112660 976 pts/0 S+ 05:01 0:00 grep --color=auto redis
[root@ip101 redis-5.0.4]#

7、创建集群

redis-cli --cluster create 192.168.8.101:6379 192.168.8.101:6380 192.168.8.102:6379 192.168.8.102:6380 192.168.8.103:6379 192.168.8.103:6380 --cluster-replicas 1
#################################################################################
[root@ip101 redis-5.0.4]# redis-cli --cluster create 192.168.8.101:6379 192.168.8.101:6380 192.168.8.102:6379 192.168.8.102:6380 192.168.8.103:6379 192.168.8.103:6380 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.8.102:6380 to 192.168.8.101:6379
Adding replica 192.168.8.103:6380 to 192.168.8.102:6379
Adding replica 192.168.8.101:6380 to 192.168.8.103:6379
M: 3784c7f8683faf1adce14c43c4274300fff33c79 192.168.8.101:6379
slots:[0-5460] (5461 slots) master
S: 8181ed88dd5fa1b1165a0b3a4c632de508d5766a 192.168.8.101:6380
replicates a88b9d61503decf0a4b599c169c693add15b2534
M: dfb1bf054d740fa7d3c5487278457034f17ca617 192.168.8.102:6379
slots:[5461-10922] (5462 slots) master
S: bb5ae386877fda949e10f88f051a9006299fba21 192.168.8.102:6380
replicates 3784c7f8683faf1adce14c43c4274300fff33c79
M: a88b9d61503decf0a4b599c169c693add15b2534 192.168.8.103:6379
slots:[10923-16383] (5461 slots) master
S: c36284d8e41f05352dbd4b9c8e88be3d9ef24aba 192.168.8.103:6380
replicates dfb1bf054d740fa7d3c5487278457034f17ca617
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
...
>>> Performing Cluster Check (using node 192.168.8.101:6379)
M: 3784c7f8683faf1adce14c43c4274300fff33c79 192.168.8.101:6379
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: 8181ed88dd5fa1b1165a0b3a4c632de508d5766a 192.168.8.101:6380
slots: (0 slots) slave
replicates a88b9d61503decf0a4b599c169c693add15b2534
S: bb5ae386877fda949e10f88f051a9006299fba21 192.168.8.102:6380
slots: (0 slots) slave
replicates 3784c7f8683faf1adce14c43c4274300fff33c79
S: c36284d8e41f05352dbd4b9c8e88be3d9ef24aba 192.168.8.103:6380
slots: (0 slots) slave
replicates dfb1bf054d740fa7d3c5487278457034f17ca617
M: dfb1bf054d740fa7d3c5487278457034f17ca617 192.168.8.102:6379
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
M: a88b9d61503decf0a4b599c169c693add15b2534 192.168.8.103:6379
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

8、查看集群状态

[root@ip101 redis-5.0.4]# redis-cli --cluster check 192.168.8.101:6379
192.168.8.101:6379 (3784c7f8...) -> 0 keys | 5461 slots | 1 slaves.
192.168.8.102:6379 (dfb1bf05...) -> 0 keys | 5462 slots | 1 slaves.
192.168.8.103:6379 (a88b9d61...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.8.101:6379)
M: 3784c7f8683faf1adce14c43c4274300fff33c79 192.168.8.101:6379
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: 8181ed88dd5fa1b1165a0b3a4c632de508d5766a 192.168.8.101:6380
slots: (0 slots) slave
replicates a88b9d61503decf0a4b599c169c693add15b2534
S: bb5ae386877fda949e10f88f051a9006299fba21 192.168.8.102:6380
slots: (0 slots) slave
replicates 3784c7f8683faf1adce14c43c4274300fff33c79
S: c36284d8e41f05352dbd4b9c8e88be3d9ef24aba 192.168.8.103:6380
slots: (0 slots) slave
replicates dfb1bf054d740fa7d3c5487278457034f17ca617
M: dfb1bf054d740fa7d3c5487278457034f17ca617 192.168.8.102:6379
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
M: a88b9d61503decf0a4b599c169c693add15b2534 192.168.8.103:6379
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@ip101 redis-5.0.4]#

9、使用集群

随意找到一个端口进行连接

[root@ip101 redis-5.0.4]# redis-cli -c -h 192.168.8.102 -p 6380
192.168.8.102:6380> set key1 value1
-> Redirected to slot [9189] located at 192.168.8.102:6379
OK
192.168.8.102:6379> get key1
"value1"
192.168.8.102:6379>

Redis5.0 3台主机三主三从部署Cluster集群的更多相关文章

  1. K8S部署Redis Cluster集群(三主三从模式) - 部署笔记

    一.Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序 ...

  2. centos 7 两台机器搭建三主三从 redis 集群

    参考自:https://linux.cn/article-6719-1.htmlhttp://blog.csdn.net/xu470438000/article/details/42971091 ## ...

  3. 在三台服务器,搭建redis三主三从集群

    一.资源准备 1.准备三台服务器H1.H2.H3 172.26.237.83 H1 172.26.237.84 H2 172.26.237.85 H3 二.配置服务器 1.在H1服务器设置SSH免密登 ...

  4. 搭建Redis三主三从集群

    Redis三主三从集群规划 10.0.128.19   使用端口 7000  7001 10.0.128.22   使用端口 7002  7003 10.0.128.23   使用端口 7004  7 ...

  5. redis cluster + sentinel详细过程和错误处理三主三备三哨兵

    redis cluster + sentinel详细过程和错误处理三主三备三哨兵1.基本架构192.168.70.215 7001 Master + sentinel 27001192.168.70. ...

  6. RocketMQ三主三从二命名服务平滑版本升级实操

    ​本文介绍本次进行RocketMQ平滑过渡升级的实际操作 前文已经介绍过了升级基本原理,主要思想就是先升级NameSrv(命名服务)然后在升级broker节点.broker节点先升级master节点然 ...

  7. 配置redis三主三从

    主从环境 centos7.6 redis4.0.1 主 从 192.168.181.139:6379 192.168.181.136:6379 192.168.181.136:6380 192.168 ...

  8. Redis Cluster 集群三主三从高可用环境搭建

    前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用. Window环境下载地址:https://github.com/tporadowski/redis ...

  9. Redis集群搭建 三主三从

    Redis集群介绍 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis在3.0版本之前只支持单实例模式 虽然支持主从模式,哨兵模式 ...

随机推荐

  1. vue-router History 本地开发环境和nginx配置

    vue-router mode=history本地开发环境配置 解决方法1.修改webpack的的devServer配置项(devServe存在于,rvue-cli2在webapck.config.j ...

  2. js大神成长指路

    随着我的成长,我的兴趣也在不断地分化,他们似乎都是不相关的领域.我喜欢数学就像我喜欢历史一样.我的目标是成为一个多才多艺的人——一个学者——在许多领域都能成为杰出的人才.这是一项艰巨的任务.突然间,我 ...

  3. php--常见算法3

    <?php function leijia($number){ $arr=[]; for($i=1;$i<=$number;$i++) { for($j=1;$j<=$number; ...

  4. 【转】草根老师的 linux字符设备驱动详解

    Linux 驱动 之 模块化编程 Linux 驱动之模块参数和符号导出 Linux 设备驱动之字符设备(一) Linux 设备驱动之字符设备(二) Linux 设备驱动之字符设备(三)

  5. python面向编程:类的组合、封装、property装饰器、多态

    一.组合 二.封装 三.propert装饰器 四.多态 一.组合 ''' 1. 什么是组合 一个对象的属性是来自于另外一个类的对象,称之为组合 2. 为何用组合 组合也是用来解决类与类代码冗余的问题 ...

  6. Keepalived + Haproxy + PXC 理论篇

    最终模型: 将Kp1 + Kp2 分别和Ha1和Ha2部署在一起,同时绑定VIP ip,对外提供访问,同时监控本机的Haproxy的可用性 通过Ha1 + Ha2 为PXC提供负载均衡,分发请求到后端 ...

  7. css 模块化

    什么是css模块化思想?(what) 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释是,在系统的结构中,模块是可组合.分解和更换的单元.模块化是一种处理复杂系统分解成为更好 ...

  8. 第三方库-正则re

    Python正则表达式里的单行re.S和多行re.M模式 Python 的re模块内置函数几乎都有一个flags参数,以位运算的方式将多个标志位相加.其中有两个模式:单行(re.DOTALL, 或者r ...

  9. Angular与Vue

    最近在考虑对前端js框架的选择 根据前人的总结,就总结一下 Angular与Vue 的特点与区别 速度/性能 虽然 Angular 和 Vue 都提供了很高的性能,但由于 Vue 的虚拟 DOM 实现 ...

  10. (十)zabbix监控TCP状态

    1)agent端配置 agent端脚本获取监控项 #vim /etc/zabbix/zabbix_agentd.d/tcp_status.sh #bin/bash [ $# -ne 1 ] & ...