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多机集群的更多相关文章

  1. redis多机集群部署文档

    redis多机集群部署文档(centos6.2) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下 ...

  2. Redis存储Tomcat集群的Session

    Redis存储Tomcat集群的Session 如何 做到把新开发的代码推送到到生产系统中部署,生产系统要能够零宕机.对使用用户零影响. 设想 是使用集群来搞定,通过通知负载均衡Nginx,取下集群中 ...

  3. Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

    Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 ============================= 蕃薯耀 2017年11月27日 http: ...

  4. Redis 高可用集群

    Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...

  5. Redis进阶实践之十 Redis主从复制的集群模式

    一.引言        Redis的基本数据类型,高级特性,与Lua脚本的整合等相关知识点都学完了,说是学完了,只是完成了当前的学习计划,在以后的时间还需继续深入研究和学习.从今天开始来讲一下有关Re ...

  6. redis整合Spring集群搭建及业务中的使用

    1.redis安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一步:redis的源码包上传到li ...

  7. Redis+TwemProxy(nutcracker)集群方案部署记录

    Twemproxy 又称nutcracker ,是一个memcache.Redis协议的轻量级代理,一个用于sharding 的中间件.有了Twemproxy,客户端不直接访问Redis服务器,而是通 ...

  8. Redis Cluster(集群)的搭建

    一.Redis的下载.安装.启动(单实例) 我们统一将Redis安装在/opt目录下,执行命令如下: $ cd /opt $ wget http://download.redis.io/release ...

  9. Redis+Twemproxy+HAProxy集群(转) 干货

    原文地址:Redis+Twemproxy+HAProxy集群  干货 Redis主从模式 Redis数据库与传统数据库属于并行关系,也就是说传统的关系型数据库保存的是结构化数据,而Redis保存的是一 ...

随机推荐

  1. Linux基本操作 9----- 认识与学习bash

    一 认识bash这个shell 1 管理整个计算机硬件的其实就是操作系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想打到的工作. 2 只要能够 ...

  2. easyui tree在struts1中的使用

    前段时间写过类似的功能,开发环境是struts2,jdk1.6,tomcat 而这次是修改N年前的项目 项目的开发环境为struts1,jdk1.4,weblogic8,比较过时所以就增加了使用eas ...

  3. ios项目开发(天气预报项目):通过经纬度获取当前城市名称

     1 . 在项目里加入� CoreLocation.framework 2 .在 .h 文件输入例如以下: 1.#import <CoreLocation/CLLocation.h> ...

  4. Linux lsof命令使用小结

        lsof(list open files)是一个列出当前系统打开文件的工具.在Linux环境下,任何事物都是以文件的形式存在,通过文件不仅可以访问常规数据,还可以访问网络连接和硬件.所以,如传 ...

  5. 学习笔记之Java程序设计实用教程

    Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...

  6. 去掉Eclipse中的Validating

    去掉Eclipse中的Validating 最近我的Eclipse一直经常效验javascript,我疯了校验了一个多小时还是在验.我只能在项目的.project文件中: 去掉.project文件中的 ...

  7. 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. ...

  8. 使用socket实现FTP程序

    #-*- coding:utf-8 -*- import socketserver from module import * class server: def __init__(self,reque ...

  9. 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 ...

  10. Linux下librdkafka客户端的编译运行

    Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来 ...