环境:

搭建环境为centos7,有外网

IP                           实例端口

192.168.8.28      7000、7001、7002

192.168.8.29      7003、7004、7005

一、搭建过程

1、源码安装新版redis(redis3.0版本后开始支持cluster 模式)

# yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim ruby rubygems unzip git

# cd /usr/local/src/

# wget http://download.redis.io/releases/redis-4.0.10.tar.gz

# tar xf redis-4.0.10.tar.gz

# cd redis-4.0.10

# make && make test && make PREFIX=/usr/local/redis.4_0_10 install

和已安装的redis分开

# mkdir /usr/local/redis.4_0_10/conf

# cp *.conf /usr/local/redis.4_0_10/conf/

# cp src/redis-trib.rb /usr/local/redis.4_0_10/bin/

# ln -s /usr/local/redis.4_0_10/bin/* /usr/local/bin/

# ll /usr/local/bin/

2、reidis集群配置

# mkdir -p /data/redis/redis-cluster

# cd /data/redis/redis-cluster/

# mkdir 7000 7001 7002

# for i in 1 2 3; do echo -e "port 700$i\n\

bind `hostname -I`\n\

daemonize yes\n\

pidfile /var/run/redis_700$i.pid\n\

cluster-enabled yes\n\

cluster-config-file nodes_700$i.conf\n\

cluster-node-timeout 10100" > 700$i/redis.conf; done

# vim 7000/redis.conf

# vim 7001/redis.conf

# vim 7002/redis.conf

3、启动所有的redis

# redis-server /data/redis/redis-cluster/7001/redis.conf

# redis-server /data/redis/redis-cluster/7002/redis.conf

# redis-server /data/redis/redis-cluster/7000/redis.conf

# netstat -antup|grep redis

4、安装ruby-redis集群插件

# gem install redis

安装提示ruby版本必须大于2.2

# gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

导入ssl秘钥,安装rvm

# curl -sSL https://get.rvm.io | bash -s stable

# source /usr/local/rvm/scripts/rvm

# rvm list known

列举包版本信息

# rvm install 2.4

安装2.4

# gem install redis

 

5、创建redis集群

# redis-trib.rb create --replicas 1 192.168.8.28:7000 192.168.8.28:7001 192.168.8.28:7002 192.168.8.29:7003 192.168.8.29:7004 192.168.8.29:7005

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.8.28:7000

192.168.8.29:7003

192.168.8.28:7001

Adding replica 192.168.8.29:7005 to 192.168.8.28:7000

Adding replica 192.168.8.28:7002 to 192.168.8.29:7003

Adding replica 192.168.8.29:7004 to 192.168.8.28:7001

M: ae59c157ae584061c3aa95d5cf19215c2e9d0a73 192.168.8.28:7000

slots:0-5460 (5461 slots) master

M: 2a90c2f1cd733564bffeceff52180c6bc75e8eb9 192.168.8.28:7001

slots:10923-16383 (5461 slots) master

S: 1ec034666aa3ff04fdbd4dd9d1cf18e78aaa1fd7 192.168.8.28:7002

replicates 21d545433fb2df095abc8071a68a869800e2e86a

M: 21d545433fb2df095abc8071a68a869800e2e86a 192.168.8.29:7003

slots:5461-10922 (5462 slots) master

S: b94f1d869a2ccea8fe80b42bbd1f0f3252c0e64a 192.168.8.29:7004

replicates 2a90c2f1cd733564bffeceff52180c6bc75e8eb9

S: 7a4a6f54f4529f001ae3fa4b15a2a392c9c377c2 192.168.8.29:7005

replicates ae59c157ae584061c3aa95d5cf19215c2e9d0a73

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.28:7000)

M: ae59c157ae584061c3aa95d5cf19215c2e9d0a73 192.168.8.28:7000

slots:0-5460 (5461 slots) master

1 additional replica(s)

M: 2a90c2f1cd733564bffeceff52180c6bc75e8eb9 192.168.8.28:7001

slots:10923-16383 (5461 slots) master

1 additional replica(s)

S: b94f1d869a2ccea8fe80b42bbd1f0f3252c0e64a 192.168.8.29:7004

slots: (0 slots) slave

replicates 2a90c2f1cd733564bffeceff52180c6bc75e8eb9

M: 21d545433fb2df095abc8071a68a869800e2e86a 192.168.8.29:7003

slots:5461-10922 (5462 slots) master

1 additional replica(s)

S: 7a4a6f54f4529f001ae3fa4b15a2a392c9c377c2 192.168.8.29:7005

slots: (0 slots) slave

replicates ae59c157ae584061c3aa95d5cf19215c2e9d0a73

S: 1ec034666aa3ff04fdbd4dd9d1cf18e78aaa1fd7 192.168.8.28:7002

slots: (0 slots) slave

replicates 21d545433fb2df095abc8071a68a869800e2e86a

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

6、使用redis-cli测试并获取集群信息
# redis-cli -h 192.168.8.28 -c -p 7000
192.168.8.28:7000> set name wuhan
-> Redirected to slot [5798] located at 192.168.8.29:7003
OK
192.168.8.29:7003> get name
"wuhan"
# redis-cli -h 192.168.8.29 -c -p 7005
192.168.8.29:7005> get name
-> Redirected to slot [5798] located at 192.168.8.29:7003
"wuhan"
192.168.8.29:7003> CLUSTER NODES
列出集群节点
21d545433fb2df095abc8071a68a869800e2e86a 192.168.8.29:7003@17003 myself,master - 0 1550554527000 4 connected 5461-10922
7a4a6f54f4529f001ae3fa4b15a2a392c9c377c2 192.168.8.29:7005@17005 slave ae59c157ae584061c3aa95d5cf19215c2e9d0a73 0 1550554529807 6 connected
ae59c157ae584061c3aa95d5cf19215c2e9d0a73 192.168.8.28:7000@17000 master - 0 1550554529000 1 connected 0-5460
1ec034666aa3ff04fdbd4dd9d1cf18e78aaa1fd7 192.168.8.28:7002@17002 slave 21d545433fb2df095abc8071a68a869800e2e86a 0 1550554529000 4 connected
2a90c2f1cd733564bffeceff52180c6bc75e8eb9 192.168.8.28:7001@17001 master - 0 1550554529083 2 connected 10923-16383
b94f1d869a2ccea8fe80b42bbd1f0f3252c0e64a 192.168.8.29:7004@17004 slave 2a90c2f1cd733564bffeceff52180c6bc75e8eb9 0 1550554527000 5 connected
192.168.8.29:7003> CLUSTER INFO
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:4
cluster_stats_messages_ping_sent:7279
cluster_stats_messages_pong_sent:7086
cluster_stats_messages_meet_sent:3
cluster_stats_messages_sent:14368
cluster_stats_messages_ping_received:7084
cluster_stats_messages_pong_received:7282
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:14368

参考网址:https://www.cnblogs.com/bigdevilking/p/9758143.html

转载于:https://www.cnblogs.com/elephanyu/p/10721889.html

redis cluster搭建相关推荐

  1. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼ Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅功能,官方声 ...

  2. Redis高可用集群Redis Cluster搭建

    前言: Redis3.0版本之前,可以通过Redis Sentinel(哨兵)来实现高可用 ( HA ),从3.0版本之后,官方推出了Redis Cluster,它的主要用途是实现数据分片(Data ...

  3. 非常适合新手的redis cluster搭建过程

    Redis集群演进过程 Redis单节点 主从复制: 复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复. 故障恢复无法自动化:写操作无法负载均衡:存储能力受到单机的限制. 哨兵( ...

  4. Redis Cluster 介绍与搭建

    1. Redis Cluster介绍 Redis Cluster是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求.当遇到单机内存.并发.流量等瓶颈 ...

  5. redis cluster以及master-slave在windows下环境搭建

    一.redis cluster环境搭建: 1.了解Redis Cluster原理: 详细了解可参考:http://doc.redisfans.com/topic/cluster-tutorial.ht ...

  6. redis cluster中添加删除重分配节点例子

    redis cluster中添加删除重分配节点例子 作者:用户 来源:互联网 时间:2016-05-05 10:22:27 摘要: 本文讲的是redis cluster中添加删除重分配节点例子, re ...

  7. 超详细的 Redis Cluster 官方集群搭建指南,适用于 redis 5.x, 6.x

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 旧版本使用 redis-trib.rb ruby 脚本安装集群,5.0版本redis-cli 已经自带 ...

  8. redis集群扩容和缩容_redis集群cluster搭建,扩容缩容

    1.    概要说明 1.1.    概述 本文旨在说明平台部署环境搭建的过程和详细步骤说明,为后面系统部署提供清晰的参考依照. 以下搭建部署的环境,为一个小型的分布式集群环境.满足负载均衡和单点故障 ...

  9. Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)

    前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...

最新文章

  1. 决心迈向公有云?先问这五大问题
  2. aspmysql发布_ASP.NET Entity Framework with MySql服务器发布环境配置
  3. IdentityServer4-前后端分离之Vue
  4. DB2中ixf文件的导入导出
  5. Java 算法 解二元一次方程
  6. java bitmap取出数据库_bitmap一般如何取出其所表示的数据(以java为例)
  7. spark学习-SparkSQL-SparkSession与SparkContext
  8. 利用python进行数据分析—四、Numpy基础:数组与向量化计算
  9. apache 403错误 You don't have permission to access on this server.
  10. pycharm激活码永久有效2019年5月28日
  11. 安卓手机怎么投屏台式计算机WIN7,手机怎么投屏到win7电脑
  12. 胡乱学Java_遇见类与对象
  13. 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
  14. 安装Win 8.1 跳过输入密钥步骤
  15. linux ip添加secondary ip,linux 添加secondary ip
  16. 2021最新微信影视小程序源码无限代开+搭建详细教程
  17. VMware打开.vmx没反应
  18. 儿童学计算机编程好处,孩子学编程的好处和坏处
  19. ARM双核锁步DCLS Lockstep技术研究(FPGA实现)
  20. ogg转mp3格式转换器

热门文章

  1. 技术干货 | jsAPI 方式下的导航栏的动态化修改
  2. AIoT五营连开惊喜活动上线!
  3. 万亩良田,随着稻香河流IoT奔跑
  4. 2021阿里云“API满意度”调研
  5. 知名论坛猴岛游戏论坛宣布永久关闭!
  6. Python小游戏(XO大战)
  7. 数据库面试题【十四、主键使用自增ID还是UUID】
  8. Oracle区概念总结
  9. oracle constraint_type 问题
  10. Oracle分区表 (二)