本文主要是记录一下快速搭建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. 关于BackTop按钮的实现

    今天在处理,首页面的制作的时候,在实现backtop按键的时候,有些思路,作为记录. 功能为,点击backtop即可,立马跳到首页的最上面,且backtop只有在页面后1/2处才显示出来. 首先,我们 ...

  2. 浅析pagehelper分页原理

    原文链接 https://blog.csdn.net/qq_21996541/article/details/79796117 之前项目一直使用的是普元框架,最近公司项目搭建了新框架,主要是由公司的大 ...

  3. 如何解决 ajax跨域被阻止 CORS 头缺少 'Access-Control-Allow-Origin'的问题?

    已拦截跨源请求:同源策略禁止读取位于 http://192.168.1.72:8080/securityMonitor_TV/service/getTest 的远程资源. (原因:CORS 头缺少 ' ...

  4. MyArray框架搭建与实现

    #include<iostream> using namespace std; template<class T> class MyArray { public: //构造函数 ...

  5. istio kiali 亲和性调度

    一.节点调度 在开始 kiali 亲和性调度之前,先演示一个简单的例子介绍 pod 选择调度到指定 node: 节点打标 使用命令查看当前所有 k8s 节点: [root@k8s-master ~]# ...

  6. ABP vNext 审计日志获取真实客户端IP

    背景 在使用ABP vNext时,当需要记录审计日志时,我们按照https://docs.abp.io/zh-Hans/abp/latest/Audit-Logging配置即可开箱即用,然而在实际生产 ...

  7. 巧用 Lazy 解决.NET Core中的循环依赖关系

    原文作者: Thomas Levesque 原文链接:https://thomaslevesque.com/2020/03/18/lazily-resolving-services-to-fix-ci ...

  8. 记录一次spring与jdk版本不兼容的报错

    由于公司项目是普通的web工程,没有用上maven,所以笔者在jdk1.8版本下运行项目报了这样的错误 [ERROR]: 2020-03-09 09:38:50 [org.springframewor ...

  9. 微信扫码支付Native方式二以及支付回调

    官方API文档https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5 1.使用jar包 1 <!--微信支付 --> 2 ...

  10. 你还不知道mysql中空值和null值的区别吗?

    前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值.以下带来示例给大家进行讲解. 建表 create table tes ...