此文档主要介绍在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. [Codeup 25481] swan

    莫名其妙还找到了另一个铟炔锶烃的OJ : Codeup墓地 25481: swan 时间限制: 1 Sec  内存限制: 128 MB献花: 86  解决: 13[献花][花圈][TK题库] 题目描述 ...

  2. 单例模式中的volatile关键字

    在之前学习了单例模式在多线程下的设计,疑惑为何要加volatile关键字.加与不加有什么区别呢?这里我们就来研究一下.单例模式的设计可以参考个人总结的这篇文章   背景:在早期的JVM中,synchr ...

  3. Ubuntu 14.04 下安装Skype

    操作1: Ubuntu 14.04 下安装Skype,使用 Ctr+Alt+T组合键打开终端Terminal,输入如下即可: wget -O skype.deb http://download.sky ...

  4. java内部类之成员内部类之局部内部类

    局部内部类特点: 1.定义在代码块.方法体内的类叫局部内部类 2.局部内部类访问外部类的属性和方法使用“外部类名.this.属性名”和“外部类名.this.方法名(参数)”的形式 3.对外部世界完全隐 ...

  5. JavaScript浏览器对象模型(BOM)之history对象

    history 对象是 window 对象的属性,它保存着用户上网的记录,从窗口被打开的那一刻算起. 一.history对象的属性 可以通过判断 history.length,得到是否有历史记录和记录 ...

  6. hook与链表操作

    hook与链表的节点操作有相似之处: 链表的前后顺序相当于程序的执行流: 对链表节点的替换或插入相当于hook技术: 1.替换:用新的节点替换原来的节点: 2.前插入: 3.后插入: 修改原来的结构.

  7. 【51nod 1514】 美妙的序列

    题目 我们发现我们得正难则反 还是设\(f_i\)表示长度为\(i\)的序列个数 考虑容斥 \[f_i=i!-\sum_{j=1}^{i-1}f_j(i-j)!\] \(i!\)显然是总方案数,我们减 ...

  8. 30、springboot与检索(2)

    项目中进行整合: 1.整合 新建项目加入依赖(NoSql) springboot默认使用SpringDate ElasticSearch模块进行操作   查看自动配置类: SpringBoot默认支持 ...

  9. java读写本地xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <confi ...

  10. .NET完全手动搭建三层B/S架构

    简介:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(WebUI).业务逻辑层(BusinessLogicLayer).数据访问层(DataAc ...