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>

最新文章

  1. 细说Java主流日志工具库
  2. ANDROID调用webservice带soapheader验证
  3. Java 第18章 多态
  4. jsp应用bootstrap表格应用实例
  5. Rose
  6. Web 研发模式演变
  7. 未能导入activex控件,请确保它正确注册
  8. redis 的基本语法
  9. jQuery工具函数上
  10. PHP 8大安全函数
  11. 1.cocos2dx 3.2环境结构
  12. Python小代码_11_生成小于 n 的裴波那契数列
  13. [leetcode](4.21)4. 有效子数组的数目
  14. 国内最全的Spring Boot系列之二
  15. Java 并发集合的实现原理
  16. Elastic 开发篇(3)
  17. 20190402Linux进阶命令week1.2
  18. Java Networking: UDP DatagramSocket (翻译)
  19. BZOJ.3620.似乎在梦中见过的样子(KMP)
  20. SpringMVC学习笔记1

热门文章

  1. httpclient 多附件上传
  2. 编译原理-递归下降分析法 c程序部分的分析
  3. python制作一个简单词云
  4. PyCharm 创建指定版本的 Django (超详细图解)
  5. 【异常】update更新java.sql.SQLException: Duplicate entry '2019-07-30 00:00:00-110100' for key
  6. linux-Redhat7 windows物理机与虚拟机设置共享目录
  7. java-Freemarker-模板引擎学习
  8. 【两种方式】vuex 如何监听页面状态的变化
  9. 【NOIP2012】同余方程
  10. 8080 端口被占用的解决方法 netstat -ano;taskkill (命令行)