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保存的是一 ...
随机推荐
- Linux基本操作 9----- 认识与学习bash
一 认识bash这个shell 1 管理整个计算机硬件的其实就是操作系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想打到的工作. 2 只要能够 ...
- easyui tree在struts1中的使用
前段时间写过类似的功能,开发环境是struts2,jdk1.6,tomcat 而这次是修改N年前的项目 项目的开发环境为struts1,jdk1.4,weblogic8,比较过时所以就增加了使用eas ...
- ios项目开发(天气预报项目):通过经纬度获取当前城市名称
1 . 在项目里加入� CoreLocation.framework 2 .在 .h 文件输入例如以下: 1.#import <CoreLocation/CLLocation.h> ...
- Linux lsof命令使用小结
lsof(list open files)是一个列出当前系统打开文件的工具.在Linux环境下,任何事物都是以文件的形式存在,通过文件不仅可以访问常规数据,还可以访问网络连接和硬件.所以,如传 ...
- 学习笔记之Java程序设计实用教程
Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...
- 去掉Eclipse中的Validating
去掉Eclipse中的Validating 最近我的Eclipse一直经常效验javascript,我疯了校验了一个多小时还是在验.我只能在项目的.project文件中: 去掉.project文件中的 ...
- Tomcat启动报错org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]”
1.使用netstat查看端口8080的使用情况: netstat -ano | findstr 8080 结果为: 最后一列表示使用8080端口的进程PID,如果返回结果为空则说明没有被使用. 2. ...
- 使用socket实现FTP程序
#-*- coding:utf-8 -*- import socketserver from module import * class server: def __init__(self,reque ...
- Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
1.kill掉列出的进程: [root@localhost mysql]# ps -a | grep -i mysql pts/ :: mysqld_safe pts/ :: mysqld <d ...
- Linux下librdkafka客户端的编译运行
Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来 ...