本文主要是记录一下快速搭建redis集群环境的方式。

环境简介:centos 7  + redis-3.2.4

本次用两个服务6个节点来搭建:192.168.116.120  和  192.168.116.121

192.168.116.120 端口为7000  7001 7002  3台

192.168.116.121  端口为7000 7001 7002  3台

注意 ,redis 集群使用redis-trib.rb 必须3主3从 ,也就是6个节点!

详细步骤:

1:下载解压redis-3.2.4
cd /usr/local/software
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz 
2.安装  三个节点都安装
cd redis-3.2.4
make && make install
 
3. 将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src
cp redis-trib.rb /usr/local/bin
 
4.创建运行目录复制配置文件 创建3个节点redis
cd /usr/local
mkdir redis-cluster
cd redis-cluster
mkdir redis-3.2.4-node1 redis-3.2.4-node2 redis-3.2.4-node3
cd redis-3.2.4 -node1
mkdir logs data
cd /usr/local/software/redis-3.2.4
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node1
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node2
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node3
cd src
cp redis.cli redis.server /usr/local/redis-cluster/redis-3.2.4-node1
cp redis.cli redis.server /usr/local/redis-cluster/redis-3.2.4-node2
cp redis.cli redis.server /usr/local/redis-cluster/redis-3.2.4-node3
5.3个节点分布进行如下配置
vim /usr/local/redis-3.2.4-node1/redis.conf   //其他两个类似
  找到以下信息并修改
port  7000 //端口7000,7001,7002
bind 192.168.116.120 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /usr/local/redis-cluster/redis-3.2.4-node1/redis_7000.pid //pidfile文件对应7000,7001,7002
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes  //开启aof
logfile "/usr/local/redis-cluster/redis-3.2.4-node1/logs/redis_7001.log" //配置日志输入路劲 7000 7001 7002
dir "/usr/local/redis-cluster/redis-3.2.4-node1/data"  //配置数据文件存放路劲
6.分别运行redis

cd /usr/local/redis-cluster/redis-3.2.4-node1
./redis.server redis.conf
cd /usr/local/redis-cluster/redis-3.2.4-node2
./redis.server redis.conf
cd /usr/local/redis-cluster/redis-3.2.4-node3
./redis.server redis.conf
7.检查是否运行
ps -ef|grep redis
 
8.使用 redis-trib.rb创建集群
8.1 因为依赖ruby  所以先安装ruby

yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

当出现错误时

ERROR:  Error installing redis:
redis requires Ruby version >= 2.2.2.

这一步骤中出现了bug,度娘告诉我是Ruby版本太低,需要升级版本。

先升级ruby版本

curl -L get.rvm.io | bash -s stable


当出现错误时
NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or upgrade to newer version (if available) or use the second method described above.

获得密钥
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

继续执行
curl -sSL https://get.rvm.io | bash -s stable

8.2安装完成,是rvm可用
source /usr/local/rvm/scripts/rvm
8.3查看Ruby可用版本
rvm list known
8.4 即可查看到2.2 2.3 和2.4 三个版本我们安装2.3
 rvm install 2.3.0
这一步可能耗时较长,耐心等待。

8.5 安装gem redis接口
rvm use 2.3.0
rvm remove 1.8.7
ruby --version
gem install redis

8.6 安装rubygems
yum install -y rubygems
到目前为止,我们的Ruby和运行redis-trib.rb需要的环境安装完成了

9.测试集群

redis-trib.rb create --replicas 1 192.168.116.120:7000 192.168.116.120:7001 192.168.116.120:7002 192.168.116.121:7000 192.168.116.121:7001 192.168.116.121:7002
error 1 : 这里出现join......,记得关闭防火墙。  
error 2: 连接失败。需要将logs和data文件先清空,进入redis flushall 即可。在重启redis
10 测试客户端连接
随便进一个节点
redis-cli -h 192.168.116.120 -c -p 7000
set k1 v1
另外一个服务选一个节点
redis-cli -h 192.168.116.121 -c -p 7000
get k1

SUCCESS !

 

centos7 快速搭建redis集群环境的更多相关文章

  1. linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法

    问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...

  2. 用C、python手写redis客户端,兼容redis集群 (-MOVED和-ASK),快速搭建redis集群

    想没想过,自己写一个redis客户端,是不是很难呢? 其实,并不是特别难. 首先,要知道redis服务端用的通信协议,建议直接去官网看,博客啥的其实也是从官网摘抄的,或者从其他博客抄的(忽略). 协议 ...

  3. 搭建redis集群环境

    Redis的集群机制 ============================= 转自http://lib.csdn.net/article/redis/39999 别人写的,写得不错,转了. Red ...

  4. Redis集群环境搭建实践

    0 Redis集群简介 Redis集群(Redis Cluster)是Redis提供的分布式数据库方案,通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.相比于主从复制.哨兵模式, ...

  5. 带你自行搭建虚拟机和Redis集群环境,值得收藏!

    前言: 我们看到分析 Redis 使用或原理的文章不少,但是完整搭建一套独立的 redis 集群环境的介绍,并不是很多或者说还不够详细. 那么,本文会手把手带着大家搭建一套 Redis 集群环境,Re ...

  6. redis集群环境的搭建和错误分析

    redis集群环境的搭建和错误分析 redis集群时,出现的几个异常问题 09 redis集群的搭建 以及遇到的问题

  7. Windows 环境搭建Redis集群(win 64位)

    转: http://blog.csdn.net/zsg88/article/details/73715947 参考:https://www.cnblogs.com/tommy-huang/p/6240 ...

  8. Windows 环境搭建Redis集群

    环境以及引用资料 1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redi ...

  9. windows环境下搭建Redis集群

    转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...

随机推荐

  1. hashmap有一个loadFactory为什么是0.75从泊松分布解析看看

    简述: 写这篇文章是看到网上的一篇面试题,有面试官问hashmap有一个loadFactory为什么是0.75  我先解释一下 0.75上下文,当一个hashmap初始数组大小暂时不考虑扩容情况,初始 ...

  2. 初探JAVA内部类细节一

    定义: 可以将一个类的定义放在另一个类的内部 这就是内部类.--摘自java编程思想 一般实现方式: public class SimpleInnerClass { class Content { p ...

  3. 面试官:数据库自增ID用完了会怎么样?

    看到这个问题,我想起当初玩魔兽世界的时候,25H难度的脑残吼的血量已经超过了21亿,所以那时候副本的BOSS都设计成了转阶段.回血的模式,因为魔兽的血量是int型,不能超过2^32大小. 估计暴雪的设 ...

  4. node实现文件下载

    1.引入fs const fs = require('fs') const path = reqire('path') 2.方法 const downloadFile = function (dest ...

  5. win8.1默认输入法设置

    1.右击左下角,选择控制面板 2.选择更改输入法 3.选择高级设置 4.在替代默认输入法,从下拉列表中选择自己已安装的输入法,比如搜狗拼音输入法,qq拼音输入法等其他输入法

  6. Liunx运维(十二)-Liunx系统常用内置命令

    文档目录: 一.Liunx内置命令概述 二.LIunx常用内置命令实例 1.help查看内置命令帮助2.查看内置命令使用方法3.":" 占位符4. "." 与s ...

  7. HP Proliant DL580 gen9 阵列卡P440AR 高速缓存 被禁用

    摘录内容: IMPORTANT: This issue does NOT occur when the operating system shuts down gracefully. In addit ...

  8. 剑指offer 面试题4:二维数组中的查找

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  9. Tomcat配置上遇到的一些问题

    Tomcat启动:在bin目录下双击startup.bat文件就行. 访问:在浏览器输入http://localhost:8080 回车访问的是自己 的界面: http://othersip:8080 ...

  10. Python作业---内置数据类型

    实验2 内置数据类型 实验性质:验证性 一.实验目的 1.掌握内置函数.列表.切片.元组的基本操作: 2.掌握字典.集合和列表表达式的基本操作. 二.实验预备知识 1.掌握Python内置函数的基/本 ...