此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群

搭建环境: ubuntun 16.04 + redis-3.0.6

本文章分为三个部分:redis安装、搭建redis集群

一.本机安装redis:

    1.下载redis: wget http://download.redis.io/releases/redis-3.0.6.tar.gz

    2.redis安装解压、编译与安装:安装路径在root用户下的:~/softwares文件下

        解压:先将安装包放到~/softwares文件下, 然后执行:tar -zxvf redis-3.0.0.6.tar.gz,解压完成后,就会有一个redis-3.0.0.6文件夹

        编译:先 cd /redis-3.0.0.6,进入此文件夹, 然后运行命令: make

        安装:make install PREFIX=~/softwares/redis-3 (PREFIX=~/softwares/redis-3:redis指定的安装路径)

    3.启动redis-server:

        复制redis.conf配置文件:在~/softwares/redis-3.0.0.6目录下,执行:cp redis.conf ~/softwares/redis-3/bin,就会将文件移过来

        修改配置文件:cd ~/softwares/redis-3/bin目录下, 将redis.conf 里面的 "daemonize no" 改为"daemonize yes"

        启动:在当前目录下,执行: ./redis-server ./redis.conf

        查看启动是否成功: ps -ef|grep redis

    4.登录redis-cli:要保证当前路径在~/softwares/redis-3/bin下:

        登录:执行命令 ./redis-cli -h 127.0.0.1 -p 6379

二.redis集群的搭建:

    注:该集群中有三个节点,每个节点有一主一备,需要6台虚拟机。在此搭建一个伪分布式的集群,使用6个redis实例来模拟。

    1.安装ruby环境: redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(~/softwares/redis-3.0.0.6/)。

    是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。所以redis集群需要先安装ruby环境

        apt-get install ruby

        apt-get install rubygems

        gem install redis-3.0.6.gem   执行此命令的时候会报一个这样的错:ERROR: Could not find a valid gem 'redis-3.0.0.6'

        (>= 0) in any repository,此时只需要执行此命令:wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem,

        会将redis-3.0.6.gem安装包下载到当前路径,只需要再次执行: gem install redis-3.0.6.gem, 此刻已经成功安装ruby环境

    2.开始搭建redis集群: 在~/softwares下创建redis-cluster文件夹,在该文件夹中创建6个redis实例,端口号从7001~7006

        2.1 首先,创建6个实例,并且从~/softwares/redis-3/bin拷贝redis-cli、redis-server、redis.conf三个文件到每个实例下分别:

            redis-cluster-01: redis-cli、redis-server、redis.conf,

            redis-cluster-02: redis-cli、redis-server、redis.conf

            redis-cluster-03: redis-cli、redis-server、redis.conf

            redis-cluster-04: redis-cli、redis-server、redis.conf

            redis-cluster-05: redis-cli、redis-server、redis.conf

            redis-cluster-06: redis-cli、redis-server、redis.conf

        2.2 然后, 修改6个实例下面的redis.conf文件参数,修改如下:

            redis-cluster-01: 1) 打开 #cluster-enable注释; 2) port修改为:7001; 3) daenonize no 改为:daenonize yes

            redis-cluster-02: 1) 打开 #cluster-enable注释; 2) port修改为:7002; 3) daenonize no 改为:daenonize yes

            redis-cluster-03: 1) 打开 #cluster-enable注释; 2) port修改为:7003; 3) daenonize no 改为:daenonize yes

            redis-cluster-04: 1) 打开 #cluster-enable注释; 2) port修改为:7004; 3) daenonize no 改为:daenonize yes

            redis-cluster-05: 1) 打开 #cluster-enable注释; 2) port修改为:7005; 3) daenonize no 改为:daenonize yes

            redis-cluster-06: 1) 打开 #cluster-enable注释; 2) port修改为:7006; 3) daenonize no 改为:daenonize yes

        2.3 接着, 进入~/softwares/redis-3.0.6/src目录下,将文件redis-trib.rb复制到~/softwares/redis-cluster目录下

            具体执行的命令如下: cd ~/softwares/redis-3.0.6/src  cp redis-trib.rb ~/softwares/redis-cluster

        2.4 下来, 在~/softwares/redis-cluster 创建一个 redis-server.sh的脚本文件,内容如下:

            #!/bin/sh

            cd ./redis-cluster-01/

            ./redis-server ./redis.conf

            cd ..

            cd ./redis-cluster-02/

            ./redis-server ./redis.conf

            cd ..

            cd ./redis-cluster-03/

            ./redis-server ./redis.conf

            cd ..

            cd ./redis-cluster-04/

            ./redis-server ./redis.conf

            cd ..

            cd ./redis-cluster-05/

            ./redis-server ./redis.conf

            cd ..

            cd ./redis-cluster-06/

            ./redis-server ./redis.conf

            cd ..

        2.5 更改脚本权限,并且执行脚本之后,在查看6个redis实例是否正常启动,具体的执行命令如下:

            该权限: chmod 777 start-server.sh

            执行脚本 ./start-server.sh

            查看是否正常启动: ps -ef|grep redis

        2.6 创建集群:

            ./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003

            127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

三.测试集群是否正常:

        登录集群客户端:  redis-cli -h 127.0.0.1 -p 7001(7002, 7003, 7004, 7005, 7006) -c

至此, 一个简单的redis集群就搭建成功了

在linux环境下安装redis并且搭建自己的redis集群的更多相关文章

  1. Linux环境下安装Redis

    记录一下Linux环境下安装Redis,按顺序执行即可,这里下载的是Redis5,大家可根据自己的需求,修改版本号就好了,亲测可行. 1.下载Redis安装包cd /usr/local/wget ht ...

  2. Linux 环境下安装python相关

    目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...

  3. Linux环境下安装Tigase XMPP Server

    Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下 ...

  4. linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)

     linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg) 2013-11-10 16:51:14 分类: 系统运维 为什么要写这篇文章? 答:通过常规的三大步(./confi ...

  5. Linux环境下安装NodeJS和mongoDB

    前面的话 本文将详细介绍如何下Linux环境下安装NodeJS和mongoDB NodeJS [1]使用二进制包安装 1.在官网下载Linux环境下的NodeJS安装包 2.通过xftp软件将安装包上 ...

  6. ElasticHD Linux环境下安装

    ElasticHD Linux环境下安装教程        ElasticHD windows环境下安装教程   上一篇讲了ElasticHD windows环境下安装,这一篇继续说明ElasticH ...

  7. [Linux]pycharm在Linux环境下安装

    之前转载了一个在Windows环境下pycharm专业破解的安装的文章,今天为了在Linux环境下安装使用odoo10,所以尝试在Linux环境下安装pycharm专业破解版看看. windows下安 ...

  8. JavaWeb入门——在Linux环境下安装Tomcat服务器

    JavaWeb入门——在Linux环境下安装Tomcat服务器 摘要:本文主要学习了如何在Linux环境下安装Tomcat服务器. 准备工作 检查Java环境变量 检查系统是否配置了Java的环境变量 ...

  9. Java入门——在Linux环境下安装JDK并配置环境变量

    Java入门——在Linux环境下安装JDK并配置环境变量 摘要:本文主要说明在Linux环境下JDK的安装,以及安装完成之后环境变量的配置. 使用已下载的压缩包进行安装 下载并解压 在Java的官网 ...

随机推荐

  1. php给$_POST赋值会导致值为空

    在调试一个程序的时候发现很奇怪的现象,post传过来的值再某些地方为空,先看下面的代码 <?php if($_POST['submit'] == 'Add'){ if($_POST['type' ...

  2. Monster: half man, half beast and very scary.

    Monster: half man, half beast and very scary. 怪物,半人半兽很吓人.

  3. OC文件操作2

    1.对文件本身的操作 NSManager 2.对文件内容的操作 NSHandle 文件句柄 NSFileHandle * fh = [NSFileHandle fileHandleForReading ...

  4. Hive分区表创建,增加及删除

    1.创建Hive分区表,按字段分区 CREATE TABLE test1 ( id bigint , create_time timestamp , user_id string) partition ...

  5. gluoncv训练faster rcnn的一点小问题

    gt数目超过上限. https://github.com/dmlc/gluon-cv/pull/335/files

  6. [HNOI2006]马步距离

    嘟嘟嘟 这题首先直接bfs可定过不了,因此可以先贪心缩小两个点的距离,直到达到某一个较小的范围(我用的是30),再bfs暴力求解. 首先我们求出这两个点的相对距离x, y,这样就相当于从(x, y) ...

  7. 发送邮件 html格式

    下面黄色代码为实现发送邮件 FileStream fs = new FileStream(Server.MapPath("../ImportUserIOExcel/productConsul ...

  8. Mac OS X文件系统的附加属性@如何彻底删除

    有时候在 Mac 系统下读写 NTFS 分区时,会发现一些文件不能打开. 显示错误为: 项目“XXX”已被 OS X 使用,不能打开. 如果再终端 ls -al 命令一下就可以看到: -rwxr-xr ...

  9. ASP.Net MVC的学习

    套种间作,也挺有意思的——近来学习感悟.DRP学习的同时,折腾了点以前不曾学习但是却很多次耳闻过的东西——Asp.Net中的MVC架构模式. 一.是什么? MVC,即(Model-View-Contr ...

  10. 【luogu P1156 垃圾陷阱】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1156 设\(dp[i][j]\)表示前i堆到达高度j时的所活最长时间 那么一旦到当前状态能到达满足的时间和高 ...