分布式缓存Redis集群搭建
redis安装
1.下载tar包至/opt/redis

2.解压tar包
tar -xvf redis-4.0.14.tar.gz
3. cd redis-4.0.14
make一下。
单节点的redis准备就绪。
相关配置准备:
在/usr/local下建立redis-cluster目录,并建7031-7036文件夹

拷贝修改配置文件
cd /opt/redis/redis-4.0.14
cp redis.conf /usr/local/redis-cluster/7031
cd /usr/local/redis-cluster/7031修改redis.conf
修改项如下:
(1)绑定端口,port 7031
(2)绑定IP,bind 10.200.195.61
(3)指定数据存放路径,dir /usr/local/redis-cluster/7031
(4)启动集群模式,cluster-enabled yes
(5)指定集群节点配置文件,cluster-config-file nodes-7031.conf
(6)后台启动,daemonize yes
(7)指定集群节点超时时间,cluster-node-timeout 5000
(8)指定持久化方式,appendonly yes
上面红色项目最好全部设置,不然会出意想不到的错误,703x最好与节点文件夹保持一致。
将7031的redis.conf改完后再拷贝到剩下的5个目录中,然后只要全局替换redis.conf中的7031为相应的节点即可。
安装ruby
由于Redis 集群客户端实现很少,redis集群的启动需要用到ruby实现的redis-trib.rb,所以我们需要先安装ruby。
[root@localhost redis-cluster]# yum install ruby
[root@localhost redis-cluster]# yum install rubygems
[root@localhost redis-cluster]# gem install redis
这三个步骤必不可少,后面组建cluster时用。
启动redis实例
[root@localhost redis-cluster]#
/usr/local/redis/redis-4.0.14/src/redis-server /usr/local/redis-cluster/7031/redis.conf
分别启动6个redis实例。也可以用脚本循环启动,这样更方便省时
[root@localhost redis-cluster]#
for((i=1;i<=6;i++)); do /opt/redis/redis-4.0.14/src/redis-server /usr/local/redis-cluster/703$i/redis.conf; done
查看redis实例是否启动成功
[root@localhost redis-cluster]# netstat -tunpl | grep redis-server
#或者
[root@localhost redis-cluster]# ps -ef | grep redis-server

创建并启动集群
进入redis安装目录的bin目录下
[root@localhost ~]# cd /opt/redis/redis-4.0.14/src/
/redis-trib.rb create --replicas 1 10.200.195.61:7031 10.200.195.61:7032 10.200.195.61:7033 10.200.195.61:7034 10.200.195.61:7035 10.200.195.61:7036
命令的意义如下:
给定 redis-trib.rb 程序的命令是 create,表示创建一个新的集群。选项 --replicas 1 表示为集群中的每个主节点创建一个从节点。之后跟着的其他参数则是实例的地址列表, 指定使用这些地址所指示的实例来创建新集群。
客户端连接集群
集群启动成功后,我们就可以用任意一个客户端连接集群了,如下

- redis db的数量默认为16,可以通过配置文件修改,但 集群模式下失效,只有db0一个。
集群关闭
关闭集群需要逐个关闭
for((i =1;i<=6;i++)); d( /opt/redis/redis-4.0.14/src -c -h 10.200.195.61 -p 703$i shutdown; done
问题1:
执行命令:./redis-trib.rb
/usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- redis (LoadError)
from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from ./redis-trib.rb:25:in `<main>'
解决方法:
检查 yum install redis
其他的一些问题 请自行百度!
分布式缓存Redis集群搭建的更多相关文章
- 分布式缓存 Redis 集群搭建
Redis 集群简介 Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案.完全去中心化,由多个节点组成,所有节点彼此互联.Redis 客户端 ...
- 分布式缓存Redis集群配置使用
Redis 简介 redis是一种开源的.基于内存的.可持久化的.高性能的Key-Value数据存储系统. redis能做什么? 持久化存储 高速缓存 消息中间件 ...
- Ubuntu16.04.1上搭建分布式的Redis集群
为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...
- Ubuntu16.04.1上搭建分布式的Redis集群,并使用C#操作
为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...
- Redis集群搭建,伪分布式集群,即一台服务器6个redis节点
Redis集群搭建,伪分布式集群,即一台服务器6个redis节点 一.Redis Cluster(Redis集群)简介 集群搭建需要的环境 二.搭建集群 2.1Redis的安装 2.2搭建6台redi ...
- Redis集群搭建及选举原理
redis集群简述 哨兵模式中如果主从中master宕机了,是通过哨兵来选举出新的master,在这个选举切换主从的过程,整个redis服务是不可用的.而且哨兵模式中只有一个主节点对外提供服务,因此没 ...
- Redis 集群搭建详细指南
先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...
- 二、redis集群搭建
redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...
- [转载] Redis集群搭建最佳实践
转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...
随机推荐
- D1-JavaScript
下面的代码,我想要打印出hey jack,结果却打印出hey rose,为什么? function greet(person) { if (person == {name: 'jack'}) { co ...
- angular异步获取数据后在ngOnInit中无法获取,显示undefined解决办法
两种方法 1 通过*ngif动态加载要数据渲染的dom 2 通过路由导航resolve 第一种感觉太麻烦了,要是一个页面请求多个接口,那就不得不写多个*ngif,本人还是更倾向与第二种发法 具体步骤: ...
- navicat for mysql 链接时报错:1251-Client does not support authentication protocol requested by server
客户端使用navicat for mysql.本地安装了mysql 8.0.但是在链接的时候提示: 主要原因是mysql服务器要求的认证插件版本与客户端不一致造成的. 打开mysql命令行输入如下命令 ...
- Unable to guess the mime type as no guessers are available 2 9
做了一个上传图片的功能,在本地上传通过,服务器报 bug Unable to guess the mime type as no guessers are available(Did you enab ...
- es6 javascript的Class 类的继承
原文链接:https://blog.csdn.net/qq_30100043/article/details/53542531 1 基本用法 Class 之间可以通过extends关键字实现继承, 这 ...
- 不错的DSP和FPGA作者
https://blog.csdn.net/wordwarwordwar/article/details/90233903
- (Linux基础学习)第五章:Linux中的screen应用
第1节:安装screen1.加载系统镜像文件,因为screen的安装包在系统镜像文件中图001 2.列出系统上所有的磁盘[root@centos6 ~]# lsblk图002 3.安装screen应用 ...
- WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法
[转] https://www.cnblogs.com/chrischeng/p/10237523.html 最近在做一个WebSocket项目,后台使用了Stomp协议的WebSocketConfi ...
- [转] ubuntu16.04添加系统 service, 并设置开机自动启动
转:https://www.jianshu.com/p/1958878646bd 1. 创建pfly.service文件 2. 执行 systemctl daemon-reload 3. 执行 sy ...
- *DataSet序列化,这段代码研究
DataSet序列化,这段代码研究研究.学习学习. using System; using System.Collections.Generic; using System.Linq; using S ...