安装环境:

两台虚拟机都是Centos 7.0

IP分别为:192.168.149.132  192.168.149.133

Redis采用的版本是redis-3.2.4

集群是采用两台虚拟机模拟8个节点,一台机器4个节点,创建出4 master、4salve 环境。

1、首先在192.168.149.132上安装单机版

下载安装包:

wget http://download.redis.io/releases/redis-3.2.4.tar.gz

解压:

tar –xvf redis-3.2.4.tar.gz

进入安装目录进行安装,注意要使用有root权限的账户进行操作,因为在安装过程中需要操作许多系统文件路径,如果没有权限则会安装报错。

make && make install

其中有许多依赖包,如果缺就安装即可,一般不会缺。

至此单机redis安装完毕,接下来启动服务:

cd src

./redis-server

Ok服务启动成功

接下来我们小小测试一下。没问题!

一般redis我们经常做为消息服务器使用,如下:

当然redis作为消息服务器有更加复杂的应用,可以自己去摸索。

2、集群配置,在192.168.149.133上同样安装redis

拷贝文件:

redis-trib.rb是官方提供的一款集群工具,后面要用

创建redis节点:

在redis安装目录下创建 redis_cluster目录

在 redis_cluster 目录下,创建名为7010、7011、7012、7013的目录

并将 redis.conf 拷贝到这三个目录中,分别修改这三个redis.conf配置文件,修改内容如下:

port  7010          //端口7010 7011 7012 7013       
bind 本机ip         //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes     //redis后台运行
pidfile  /var/run/redis_7010.pid          //pidfile文件对应
cluster-enabled  yes                           //开启集群  把注释#去掉
cluster-config-file  nodes_7010.conf   //集群的配置  配置文件首次启动自动生成 
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes      //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

启动集群服务:

查看启动情况:

没有问题

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,之前已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成集群。

redis-trib.rb  create  --replicas  1  192.168.149.133:7010 192.168.149.133:7011  192.168.149.133:7012 192.168.149.133:7013 192.168.149.132:7014  192.168.149.132:7015  192.168.149.132:7016 192.168.149.132:7017

报错了,因为这个工具是用 ruby 实现的,所以需要安装 ruby。

安装ruby:

yum install ruby ruby-devel rubygems rpm-build

gem install redis

安装成功后执行之前的命令,又报错了:

redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口

集群总线端口为redis客户端连接的端口 + 10000

修改防火墙配置将端口加入进去,注意两台虚拟机都需要:

cd /etc/sysconfig

vi iptables

保存后重启防火墙

ps:如果没有iptables-services服务的话,可以先安装:yum install iptables-services

好了,现在再次创建集群:

终于配置成功启动

ps:这里一不小心就有个巨坑错误如下:

提示某个节点不为空,让你去检查,其实这里是因为我们在上一次启动配置或者redis非正常停止的时候,有生成过一些.aof或者.rdb文件,只需要删除掉就ok。

网上有相关方法,如果碰到可以针对性的去找找。

接下来我们试试是否可以使用了。

使用192.168.149.133的7011节点输入数据,7010节点监听

中文居然被转译了,再来一次

经过测试我们的集群可以使用了啦!简单吧

redis单机安装以及简单redis集群搭建的更多相关文章

  1. redis 在windows 上面的安装和使用,集群搭建

    redis作为nosql数据库,将数据存储到内存中(缓存),具有非常高的性能.下面讲解一下redis的安装及java api的使用. 1:redis 安装 windows 上面直接下载msi文件,安装 ...

  2. redis 5.0.3 讲解、集群搭建

    REDIS 一 .redis 介绍 不管你是从事Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了 ...

  3. redhat6.5 redis单节点多实例3A集群搭建

    在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建. 单节点单实例搭建可以参看这个网:https://www.cnblogs.com/butterflies/p/9628 ...

  4. kafka系列一、kafka安装及部署、集群搭建

    一.环境准备 操作系统:Cent OS 7 Kafka版本:kafka_2.10 Kafka官网下载:请点击 JDK版本:1.8.0_171 zookeeper-3.4.10 二.kafka安装配置 ...

  5. Centos7安装升级Ruby和集群搭建参考

    安装升级Ruby参考:https://blog.csdn.net/qq_26440803/article/details/82717244 集群搭建参考:https://www.cnblogs.com ...

  6. redis编译安装、哨兵、集群

    编译安装 #下载源代码解压 wget https://download.redis.io/releases/redis-5.0.13.tar.gz -P /home/ tar -xvf /home/r ...

  7. Redis单机数据迁移至Sentinel集群

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  8. 【工具-Nginx】从入门安装到高可用集群搭建

    文章已收录至https://lichong.work,转载请注明原文链接. ps:欢迎关注公众号"Fun肆编程"或添加我的私人微信交流经验 一.Nginx安装配置及常用命令 1.环 ...

  9. redis集群搭建(简单简单)一台机器多redis

      redis集群搭建 在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程 下载redis压缩包,然后解压压缩文件: 进入到解压缩后的redis文件目录(此时可以看到Makef ...

随机推荐

  1. 基于spring多数据源动态调用及其事务处理

    需求: 有些时候,我们需要连接多个数据库,但是,在方法调用前并不知道到底是调用哪个.即同时保持多个数据库的连接,在方法中根据传入的参数来确定. 下图的单数据源的调用和多数据源动态调用的流程,可以看出在 ...

  2. linux下安装telnet

    1:yum install telnet-server 2:编辑设置 /etc/xinetd.d/telnet ,将disable= yes设置成disable= no 3:service  xine ...

  3. crontab中引入环境变量(比如需要执行tomcat的关闭启动)

    起因 crontab中的定时任务,执行到关闭tomcat时,报环境变量找不到 解决方案 1.使用 . /etc/profile 引入环境变量 ###推荐, 实测ubuntu12 成功 2.使用 sou ...

  4. H5 data-*容易忽略的问题

    H5添加了data-*属性,非常方便 但经常忽略小写的问题, H5要求属性名全部小写,驼峰式命名的习惯掉坑了 测试代码如下: <html> <head> <script ...

  5. java equals和==区别及string类的说明

    一.equals和==的区别 1.1.equals之string字符串的比较 1.1.1.源码如下图 if (this == anObject) {            return true;  ...

  6. pyparsing:定制自己的解析器

    在工作中,经常需要解析不同类型的文件,常用的可能就是正则表达式了,简单点的,可能会使用awk.这里要推荐一种比较小众的方式,使用pyparsing来解析文件. pyparsing可以做些什么呢?主要可 ...

  7. winform制作小工具的技巧

    在使用winfrom制作一些工具的时候,一些基本设置都是去属性里面找来找去,一段时间就忘了,记录记录以备不时之需. 一.窗体绘制的常用设置 窗体的设置应当在窗体构造函数中InitializeCompo ...

  8. JDBC02 利用JDBC连接数据库【使用数据库连接池】

    目录 1/2/3  Statement 和 Preparedstatement 的区别 4 读取properties配置文件 5 数据库连接池 6 利用数据库连接池连接数据库 1 使用Statemen ...

  9. 学习JavaScript时的三部分

    JavaScript = ECMAScript + DOM + BOM 其中ECMAScript表示的是基本语法,包括我们实现JS的基本语法,如变量的声明.基本的语句(if.for.switch等) ...

  10. 字符的读写函数:fgetc()和fputc()

    fgetc();    功能:    从文件中读取字符.    头文件:  #include <stdio.h>    函数原型:int fgetc(FILE *stream);    返 ...