Redis多机集群
Redis集群。网上很多教程,只是按着它的步骤来做只能在单机上跑,而已不有点抗。也不用密码验证
开始:
1:redis集群最少需要要6个服务器端,因此先搞6台虚拟机 我用 centOS-7 mini 每台给最少内存
IP固定为:200、201、202、203、204、205、206
Vi /etc/sysconfig/network-scripts/ifcfg-XXX 里修改
一般只修改
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.200 #IP
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 #网关
DNS1=192.168.1.1 #写路由地址
安装ruby、zlib、rubygems (一般安装ruby会同时安装其它两个组件)
注意:最好不要去下载 ruby.gz来安装。试过安装完后会出现找不到zlib的错误信息,试了网上很多方法都不行。有兴趣折腾的可以玩玩,也可能是我手贱
Yum install –y ruby
下载ruby redis 接口(可以gem install redis 直接安装但速度奇慢)
自选择要下载的版本 https://rubygems.org/gems/redis
安装 gem install redis-XX.gem (redis-XX.gem上面网址下载的gem脚本)
下载安装redis
官方安装教程:先安装 yum install gcc
$ wget http://download.redis.io/releases/redis-3.2.1.tar.gz
$ tar xzf redis-3.2.1.tar.gz
$ cd redis-3.2.1
$ make
如果报错,make指定参数: make MALLOC=libc 再跑
安装(可以省略):make install
运行: src/redis-server &
客户端连接: src/redis-cli
测试get/set 能过后输入 shutdown 关闭redis
配置redis
复制一份: cp redis.conf cluster.conf
修改 cluster.conf相关参数
port 2000
daemonize yes #后台服务必须的
cluster-enabled yes
cluster-config-file nodes.conf #集群信息(自动生成)
appendonly yes
#bind 127.0.0.1 注掉
Protected-mode no #确保空密码能连接
用scp把redis复制到其它机器
scp redis-xx root@192.168.1.x:/tmp/redis-xx
都复制完就把每一台的redis开起来
daemonize yes 这个参数配成YES后启动服务是没有提示启动是否正常的,你可以用客户端连接看看,也要看看端口是否以在监听
netstat –tln
如果工具没安装 yum install –y net-tools 安装
一切正常了
建立群集:
./src/redis-trib.rb create --replicas 1 192.168.1.200:2000 ….. 192.168.1.205:2000
表示一个主再多少个从机
中间要输入yes回车
完成。
用客户端连接随便一台试试
在客户端查看信息:
CLUSTER INFO
CLUSTER SLOTS
到此集群完成
集群完成后,现在可能配置连接密码验证
cluster.conf修改
或者用客户端设置
config set requirepass 123456
注意:能过客户端设置的密码,在重启后消失。
redis-trib.rb 有比较多的功能,添加节点、删除节点等等。还要有就集群后 redis-cli 单机客户端基上每次get/set 操作都会返回 [err]move …. 的跳转信息,这是正常的。
Redis多机集群的更多相关文章
- redis多机集群部署文档
redis多机集群部署文档(centos6.2) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下 ...
- Redis存储Tomcat集群的Session
Redis存储Tomcat集群的Session 如何 做到把新开发的代码推送到到生产系统中部署,生产系统要能够零宕机.对使用用户零影响. 设想 是使用集群来搞定,通过通知负载均衡Nginx,取下集群中 ...
- Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 ============================= 蕃薯耀 2017年11月27日 http: ...
- Redis 高可用集群
Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...
- Redis进阶实践之十 Redis主从复制的集群模式
一.引言 Redis的基本数据类型,高级特性,与Lua脚本的整合等相关知识点都学完了,说是学完了,只是完成了当前的学习计划,在以后的时间还需继续深入研究和学习.从今天开始来讲一下有关Re ...
- redis整合Spring集群搭建及业务中的使用
1.redis安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一步:redis的源码包上传到li ...
- Redis+TwemProxy(nutcracker)集群方案部署记录
Twemproxy 又称nutcracker ,是一个memcache.Redis协议的轻量级代理,一个用于sharding 的中间件.有了Twemproxy,客户端不直接访问Redis服务器,而是通 ...
- Redis Cluster(集群)的搭建
一.Redis的下载.安装.启动(单实例) 我们统一将Redis安装在/opt目录下,执行命令如下: $ cd /opt $ wget http://download.redis.io/release ...
- Redis+Twemproxy+HAProxy集群(转) 干货
原文地址:Redis+Twemproxy+HAProxy集群 干货 Redis主从模式 Redis数据库与传统数据库属于并行关系,也就是说传统的关系型数据库保存的是结构化数据,而Redis保存的是一 ...
随机推荐
- Java数据类型(一)
1 public class VarDemo 2 { 3 public static void main(String []args){ 4 //先声明后赋值 5 int number; 6 numb ...
- Android 上拉加载更多功能
前几天看了github上面的例子,参照它的实现,自己又稍微改了一点,往项目里面增加了一个上拉加载更多功能.具体的实现如下: 首先要重写ListView: import android.content. ...
- iOS 有关自动轮播图片
//初始化当前视图 _currentImageView = [[UIImageView alloc] init]; [_currentImageView setImageWithURL:[NSURL ...
- ZOJ 3822 Domination 期望dp
Domination Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showProblem ...
- JQuery Mobile navbar动态刷新创建
今天突然用到须要动态改变tab页, 布局代码例如以下: <div data-role="navbar" id='divtab'> <ul id='divtabul ...
- mac10.7安装xcode3.2.5和xcode4.2过程和方法
关于mac10.8安装xcoce3.2.5 五国或者不能成功的原因,看文章的最后部分. 大致浏览一下下面的内容,其实基本都是一样的,第一篇说明多个版本的xcode如何共存,后面的讲述如何安装xcode ...
- 应聘.net开发工程师常见的面试题(五)
1.描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 答:不是.可以用任意类型. 2.在C#中,string str = null 与 string str = ” ” 请尽量使用文字或图象 ...
- java_jdbc_spring框架查询操作简例
1.添加commons-dbcp-1.4,commons-logging,commons-pool-1.2//线程池,commons.collections-3.2.1.jar,spring.jar ...
- Helpers\Cookie
Helpers\Cookie The Cookie helper has the following methods: Cookie::exists($key); Returns true or fa ...
- swift 如何使用OC中宏的功能
swift中没有宏的概念,那么我们在swift使用宏的功能来提高效率呢? 一.使用关键字 let 来声明一个常量 存储相应的值,以下代码声明了常量 myColor 来存储一种指定的颜色 let my ...