此文档主要介绍在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. Python中readline()函数 去除换行符

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...

  2. linux性能系列--网络

    一.为啥网络监控不好做?   回答:网络是所有子系统中最难监控的了.首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内.这些因素包括,延迟.冲突.阻塞等 等.由于网络监控中, ...

  3. canvas小球 时间demo

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. Nginx学习.md

    正常运行的必备配置 user Syntax: user user [group]; Default: user nobody nobody; Context: main 指定运行worker进程的用户 ...

  5. python中的装饰函数

    在面向对象(OOP)的设计模式中,decorator被称为装饰模式.OOP的装饰模式需要通过继承和组合来实现,而Python除了能支持OOP的decorator外,直接从语法层次支持decorator ...

  6. python Queue在两个地方

    其一: Source code: Lib/queue.py The queue module implements multi-producer, multi-consumer queues. It ...

  7. 问题:从键盘读取特定类型的数据(使用Scanner读取int类型)

    import java.util.Scanner; public class ScannerIntTest{ public static void main(String [] args){ int ...

  8. μCOS-II系统之事件(event)的使用规则及Semaphore的相互排斥量使用方法

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wavemcu/article/details/27798493 ****************** ...

  9. Git删除commit提交的log记录

    基于 GitFlow 工作流,可能某个提交(commit)导致了 bug,或者有多个提交需要返工,此时你就会用到删除提交. 接下来的内容都基于下面这张 git log 提交记录图来写.   git l ...

  10. PHP去重可用

    //国外 $arr6 = array_merge($arr2,$arr4); $arr8 = array(); $arr10 = array(); foreach($arr6 as $k6=> ...