此文档主要介绍在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. 沉淀,再出发:web前端的一些认识

    沉淀,再出发:web前端的一些认识 一.前言 作为程序员,我一直认为全栈是一种最基本的能力,没有了这种目标就会发现自己越往后面发展路就越窄,很多自己不了解的东西会阻塞自己去理解整个系统的开发过程和效率 ...

  2. homebrew命令

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  3. TCP/IP 协议图--TCP/IP 基础

    1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议.实际生活当中有时也确实就是指这两种协议.然而在很多情况下,它只是利用 IP 进行通信时所 ...

  4. 结构类型:Struct

    一.概述: 结构类似于类,但结构为值类型,存储于栈中. 结构不能继承和被继承,但可实现接口. 结构成员访问级别有public,private(默认) ,internal. 1.简单结构 可以将无方法, ...

  5. 初进MFC的世界,太奇妙。第六次作业----未完待续

    又一次的迁徙.我希望能够早些抵达. 第六次作业-未完待续!图形界面,计算器文件 本次的作业是给自己的计算器加一个可视化的窗口,我开始也是很激动和憧憬的,看了很多的界面库,发现并没有想象的那么简单,因为 ...

  6. Java虚拟机13:Java类加载机制

    前言 我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用.而虚拟机如何加载这些.class文件?.class文件的信息 ...

  7. BZOJ1177:[APIO2009]Oil(枚举,前缀和)

    Description 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M×N个小块. Siruseri地质 ...

  8. windows下使用Git

    如何在windows下使用Git? 通过这里下载Git bash,你就可以像在Linux命令行一样操作git工具. 进入Git bash环境,默认是在当前用户路径下. 在Linux下,我们有根目录,在 ...

  9. HDU 2544最短路 (迪杰斯特拉算法)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others)    Me ...

  10. vlc源码分析(五) 流媒体的音视频同步

    vlc播放流媒体时实现音视频同步,简单来说就是发送方发送的RTP包带有时间戳,接收方根据此时间戳不断校正本地时钟,播放音视频时根据本地时钟进行同步播放.首先了解两个概念:stream clock和sy ...