分布式缓存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集群,首先得考虑下面的几个问 ...
随机推荐
- Oracle表数据转换为XML格式数据
转自:https://blog.csdn.net/smile_caijx/article/details/83352927 使用DBMS_XMLGEN可以解决问题 SELECT DBMS_XMLGEN ...
- Apache Commons FileUpload实现文件上传
一.Apache Commons-FileUpload简介 Apache Commons是一个专注于可重用Java组件的所有方面的 Apache 项目. Apache Commons项目由三个部分组成 ...
- mysql8.x 新版本jdbc连接方式
旧版本,MySQL Connector/J 5.x 版本的连接方式:url = jdbc:mysql://localhost:3306/thrcloud_db01?useUnicode=true&am ...
- Find 命令记录
当需要查找一个时间的文件时 使用find [文件目录] -mtime [时间] 例如:查看mysql.bak目录下的1天前的文件 find mysql.bak -mtime 找到此文件之后需要将它移动 ...
- Jquery简单闭包
<html> <body> <script src="Js/Index.js"></script> <script type= ...
- jquery属性文档事件等操作
1.jq方法attr removeAttr script标签大部分都是写在body标签上.下面的情况下$符号是拿不到的. 将它放到上面就能拿到$对象了.但是不能获取body里的元素.因为代码执行顺序从 ...
- C++(四十)— C++中一个class类对象占用多少内字节
一个空的class在内存中多少字节?如果加入一个成员函数后是多大?这个成员函数存储在内存中什么部分? 一个Class对象需要占用多大的内存空间.最权威的结论是: 非静态成员变量总合. 加上编译器为了C ...
- mysql in条件查询到底会不会用到索引
MySQL 的 in 查询在 5.5 以上的版本中存储引擎都是 innodb 的,正常情况下会走索引的!至于 MyISAM 没试过! 如果是 5.5 之前的版本确实不会走索引的,在 5.5 之后的版本 ...
- 抖音热门BGM爬虫下载
下午无聊在某网上刷了会儿抖音,发现有些音乐还是挺好听的,可以用来做手机铃声,于是想办法从某网上把歌曲爬下来 附上代码: #!/usr/bin/env python # -*- coding: utf- ...
- ORA-12638: Credential retrieval failed 解决办法
ORA-12638 ORA-12638: Credential retrieval failed 身份证明检索失败 解决办法: 修改sqlnet.ora文件(位置:$ORACLE_HOME ...