文档章节

Redis集群部署

丈量大地
 丈量大地
发布于 2017/01/18 17:45
字数 921
阅读 63
收藏 0

一、集群规划
部署三组redis集群,每一组为主从关系、数据一样、并且主(master)会同步到从(slave)节点,每一组保存的数据不一样,

 
IP    安装节点    redis服务端口    主从       
192.168.12.128    redis6000    6000    主       
192.168.12.128    redis6001    6001    从       
192.168.12.129    redis6002    6002    主       
192.168.12.129    redis6003    6003    从       
192.168.12.130    redis6004    6004    主       
192.168.12.130    redis6005    6005    从     

主从是有redis自己分配的,我们手动干预不了,一般端口越小越容易被分配为主。
这三组是否为主从,三组数据是否能够共享等问题还需要进一步进行确认!
二、软件准备
 
软件名称    版本    备注    获取软件途径       
VMware_workstation_full_12.5.2    12.5.2    虚拟机    链接:http://pan.baidu.com/s/1pLDCdmz 密码:5wxn       
CentOS_6.5_Final    6.5    linux镜像           
redis-3.2.5.tar    3.2.5    redis版本    链接:http://pan.baidu.com/s/1gf4ySON
密码:brz0       
ruby            通过yarn安装,分三步安装,安装命令如下:
yum install ruby
yum install rubygems
gem install redis --version 3.0.0     

三、环境搭建
31、通过虚拟机创建三台服务器,服务器的IP依次为 192.168.12.128 , 192.168.12.129 ,192.168.12.130
32、在三台服务器中分别安装redis
以下对一台服务器安装redis做说明,其他两台类似,以下操作均在root用户下进行。
321、在/usr/local下创建redis目录:
mkdir redis
322、将redis安装包上传到创建的redis目录中
323、解压redis安装包
tar -txvf redis-3.2.5.tar
324、进入解压后的目录redis-3.2.5,执行安装命令:
make
33、在三台服务器中分别配置redis集群
以下对192.168.12.128服务器的redis做集群配置,其他服务器上只修改对于的redis端口,IP地址信息即可
331、进入/usr/local/redis/redis-3.2.5目录,并创建redis_cluster文件夹:
cd /usr/local/redis/redis-3.2.5
mkdir redis_cluster
332、在redis_cluster目录下创建两文件,名称为这台服务器中规划的redis的端口名:
mkdir 6000
mkdir 6001
333、将redis原始的redis.conf文件分别复制到6000,6001目录下:
cp /usr/local/redis/redis-3.2.5/redis.conf /usr/local/redis/redis-3.2.5/redis_cluster/6000/redis.conf
cp /usr/local/redis/redis-3.2.5/redis.conf /usr/local/redis/redis-3.2.5/redis_cluster/6001/redis.conf
334、分别修改/usr/local/redis/redis-3.2.5/redis_cluster/6000/redis.conf,/usr/local/redis/redis-3.2.5/redis_cluster/6001/redis.conf
修改内容如下,拿端口为6000的redis.conf为例:

bind 192.168.12.128 #配置为当前服务器的IP
port 6000 #redis所在端口
daemonize yes #让redis在后台运行
dir ./    #生成的文件存放在执行启动命令所在目录,生成的文件如nodes-6000.conf、nodes-6001.conf、nodes-6002.conf、
nodes-6003.conf、nodes-6004.conf、nodes-6005.conf
cluster-enabled yes    #构成集群
cluster-config-file nodes-6004.conf #生成的集群文件名,创建集群后,每个redis服务器都会生成对应的文件,其生成路径可通过修改dir ./来设置

34、启动6台redis服务器
先将目录切换到/usr/local/redis/redis-3.2.5/src中,然后在各自的服务器中运行各自的启动命令
./redis-cli -h 192.168.12.128 -p 6000
./redis-cli -h 192.168.12.128 -p 6001
./redis-cli -h 192.168.12.129 -p 6002
./redis-cli -h 192.168.12.129 -p 6003
./redis-cli -h 192.168.12.130 -p 6004
./redis-cli -h 192.168.12.130 -p 6005

35、停用防火墙
不需要重启服务器的命令:service iptables stop
重启服务器后生效的命令:chkconfig iptables off

36、安装运行redis集群工具的第三方软件,如ruby等,依次运行以下命令:
yum install ruby
yum install rubygems
gem install redis --version 3.0.0

37、创建集群
./redis-trib.rb create --replicas 1 192.168.12.128:6000 192.168.12.128:6001 192.168.12.129:6002 192.168.12.129:6003 192.168.12.130:6004 

四、启动测试

41、打开集群客户端
选三台中的一台服务器,首先切换到目录到/usr/local/redis/redis-3.2.5/src下,运行以下命令:
./redis-cli -c -h 192.168.12.128 -p 6000

42、在redis客户端进行增加和获取操作,命令如下:
set name liw
get name liw
 

© 著作权归作者所有

共有 人打赏支持
丈量大地

丈量大地

粉丝 16
博文 52
码字总数 27634
作品 0
都江堰
程序员
私信 提问
如何利用容器实现生产级别的redis sharding集群的一键交付

如何使用容器实现生产级别的Redis sharding集群的一键交付 作者介绍: 张春源 希云cSphere合伙人,国内早期的Docker布道者,对企业应用Docker化有丰富的实践经验,擅长利用Docker践行Devops文...

dockerer
2016/06/21
81
0
bboss 令牌和凭证redis存储机制配置

bboss 提供了四种令牌和凭证存储机制: 内存 不能在集群环境使用,只适用于单机部署应用 数据库 可在集群环境使用,同时适用于单机部署应用 mongodb 可在集群环境使用,同时适用于单机部署应...

bboss
2016/03/29
0
0
Redis企业集群工具RLEC

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50549849 Redis企业集群工具RLEC 作者:chszs,未经博主允许不得转载。经许可的...

chszs
2016/01/20
0
0
闫帆/RedisClusterManager

本项目是Redis Cluster集群的管理工具; 项目地址 : https://git.oschina.net/yanfanVIP/RedisClusterManager 演示地址:http://59.110.161.181 (阿里云网速较慢,请多等待。请尽量不要将Red...

闫帆
2017/04/19
0
0
redis集群部署

网上有很多用Ruby安装Redis-cluster的文章,但是在实际环境下不想安装Ruby,所以本文主要介绍了用Redis命令部署Redis集群,并且为集群中每一个master实例增加一个slave实例。 0 编译安装 也可...

chenhuaming
2016/10/13
14
0

没有更多内容

加载失败,请刷新页面

加载更多

极路由4刷OpenWrt(LEDE)

申请开发者模式 登录路由器后台 进入插件中间 选中路由器信息 申请开发者权限 安装开发者插件 刷 Bootloader 下载 极路由4 的 Breed 通过SSH登录路由器 (必须安装开发者插件,端口 1022 账号...

dingdayu
33分钟前
3
0
浅淡个人学习嵌入式Linux过程

我专业是电子信息工程,在初入大学的时候,我们的班主任便要我们多多去了解一些关于电子方面的知识。后来我了解到了嵌入式,继而了解到了嵌入式Linux。其实我们学习linux差不多就学习linux内...

linux-tao
今天
7
0
SpringBoot使用GraphQL简单学习-1

官网 一、GraphQL简介 1.GraphQL是什么? GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。 GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够...

wind2012
今天
5
0
Android的WIFI局域网对讲机

https://blog.csdn.net/z979451341/article/details/79280749 (三)Android局域网内语音对讲 基于UDP语音传输 https://blog.csdn.net/stormxiaofeng/article/details/80513947 Android7.0手......

shzwork
今天
2
0
vuex

一直有个误区 vuex既然页面刷新会丢失 那还有什么意义 。 重新翻看了下文档才恍然大误,vuex主要解决的是不同组件间的通信。 跨页面数据共享本质上还是用sessionStorage/localStorage...

东东笔记
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部