目录

一、首先配置redis.conf文件,... 1

1、获取配置文件... 1

2、修改各配置文件的参数... 2

二、下载redis镜像、启动容器... 2

1、创建网络... 2

2、拉取镜像并启动容器... 2

三、设置redis集群... 3

1、安装ruby. 3

2、安装redis-cluster的ruby接口,并启动集群... 3

3、测试... 3

redis集群的安装:版本至少是3.2.8及其以上,这里以3.2.8版本为例说明

本次在本地主机启动6个redis容器,相当于6个节点,容器使用的ip: 192.168.100.101~106

本文档部署时建议直接复制粘贴

一、首先配置redis.conf文件,

1、获取配置文件

[root@cdh01 ~]# wget http://download.redis.io/releases/redis-3.2.8.tar.gz

[root@cdh01 ~]# tar xf redis-3.2.8.tar.gz

[root@cdh01 ~]# mkdir -p /myredis/conf/

[root@cdh01 ~]# for i in `seq 6`;do cp redis-3.2.8/redis.conf /myredis/conf/redis$i.conf;done

[root@cdh01 ~]# ls /myredis/conf/     #可以看到共6各文件,每个容器对应一个文件

redis1.conf  redis2.conf  redis3.conf  redis4.conf  redis5.conf  redis6.conf

2、修改各配置文件的参数

a、修改监听

[root@cdh01 ~]# for i in `seq 6`;do sed -i "s/bind 127.0.0.1/bind 192.168.100.10$i/g" /myredis/conf/redis$i.conf;done

b、开启集群功能

[root@cdh01 ~]# for i in `seq 6`;do sed -i 's/# cluster-enabled yes/cluster-enabled yes/g' /myredis/conf/redis$i.conf;done

c、启动AOF增量持久化策略

[root@cdh01 ~]# for i in `seq 6`;do sed -i 's/appendonly no/appendonly yes/g' /myredis/conf/redis$i.conf;done

二、下载redis镜像、启动容器

1、创建网络

docker network create --subnet=192.168.100.0/24 staticnet

docker network ls

2、拉取镜像并启动容器

[root@cdh01 ~]# docker pull redis:3.2.8

[root@cdh01 ~]# for i in `seq 6`;do docker run -d -v /myredis/conf/redis$i.conf:/usr/local/etc/redis/redis.conf -p 700$i:6379 --name myredis$i --net staticnet --ip 192.168.100.10$i redis:3.2.8 redis-server /usr/local/etc/redis/redis.conf;done

三、设置redis集群

1、安装ruby

首先安装rvm,然后用rvm安装ruby

a.安装rvm

http://rvm.io/rvm/security #查看最新的key,下面的key可能会失效

[root@150 ~]# gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

[root@150 ~]# \curl -sSL https://get.rvm.io | bash -s stable

[root@150 ~]# source /usr/local/rvm/scripts/rvm

b.查看RVM中ruby的版本

rvm list known | grep ruby

c.选择一个版本ruby版本安装,这边选择的是ruby 2.4.1

rvm install 2.4.1

d.使用ruby版本并设置为默认版本

rvm use 2.4.1 --default

e.将ruby和gem放入到全局变量

如果是按照前面安装的,ruby和gem的位置应该在/usr/local/rvm/rubies/ruby-2.4.1/bin/这个目录下,如果不在,可以使用whereis ruby 和 whereis  gem来查找,找到位置后,使用软链命令

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/gem  /usr/bin/

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby  /usr/bin/

到这里ruby就安装完成了

 

2、安装redis-cluster的ruby接口,并启动集群

[root@cdh01 ~]# gem install redis  #安装接口

[root@cdh01 ~]# ruby /root/redis-3.2.8/src/redis-trib.rb create --replicas 1 192.168.100.101:6379 192.168.100.102:6379 192.168.100.103:6379 192.168.100.104:6379 192.168.100.105:6379 192.168.100.106:6379

如果一切顺利,你会看到类似这样的消息: [OK] All 16384 slots covered

3、测试

本地连接可以用容器的ip

redis-cli -h 192.168.100.101 -c -p 6379

远程机器连接要使用宿主机的的ip

[root@bigdb01 ~]# redis-cli -h 172.16.20.90 -c -p 7004

 

结语:至此redis的单机与集群的安装和启动就成功了

利用docker部署redis集群的更多相关文章

  1. laravel项目利用twemproxy部署redis集群的完整步骤

    Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数.下面这篇文章主要给大家介绍了关于laravel项目利用twemproxy部署redis集群的相关资 ...

  2. 利用Docker搭建Redis集群

    Redis集群搭建 运行Redis镜像 分别使用以下命令启动3个Redis docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/lib ...

  3. docker部署redis集群

    一.查询最新redis镜像 docker search redis 二.下载redis镜像 docker pull redis 三.创建一个文件夹,以及创建redis-cluster.tmpl模板文件 ...

  4. Docker部署Redis集群(主从复制 高可用)

    环境 vmware12+centos7 关于环境安装可以参考我的另一篇博客 https://www.cnblogs.com/pengboke/p/13063168.html 1.清理环境 我这里用的虚 ...

  5. 利用 docker 部署 elasticsearch 集群(单节点多实例)

    文章目录 1.环境介绍 2.拉取 `elasticserach` 镜像 3.创建 `elasticsearch` 数据目录 4.创建 `elasticsearch` 配置文件 5.配置JVM线程数量限 ...

  6. 基于Docker的redis集群搭建

    Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html 基于Docker搭建Redis集群 环境:6个节点,三主三从 制作Redis镜 ...

  7. docker 实现redis集群搭建

    摘要:接触docker以来,似乎养成了一种习惯,安装什么应用软件都想往docker方向做,今天就想来尝试下使用docker搭建redis集群. 首先,我们需要理论知识:Redis Cluster是Re ...

  8. 5分钟实现用docker搭建Redis集群模式和哨兵模式

    如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...

  9. window下使用Redis Cluster部署Redis集群

    日常的项目很多时候都需要用到缓存.redis算是一个比较好的选择.一般情况下做一个主从就可以满足一些比较小的项目需要.在一些并发量比较大的项目可能就需要用到集群了,redis在Windows下做集群可 ...

随机推荐

  1. jmeter 多压力机并发测试过程

    要实现多台压力机并发,就必须有多台服务器上安装了jmeter程序包,首先把一台服务器作为主压力机,测试脚本放到这台机器上,主压力机与从压力机在同一局域网中,服务器之间可以ping通 第一步:在linu ...

  2. Idea_学习_05_Intellij Idea自动添加注释的方法

    二.参考资料 1. Intellij Idea自动添加注释的方法

  3. Git_错误_02_error: src refspec master does not match any

    现象:在一个目录下初始化仓库之后,就开始push到github,结果出现了这个错误. 错因:初始化仓库之后,并没有使用git add,git commit 命令将文件添加到git仓库中,所以仓库为空, ...

  4. Android之Widget学习总结

    1.Widget设计步骤 需要修改三个XML,一个class: 1)第一个xml是布局XML文件(如:main.xml),是这个widget的.一般来说如果用这个部件显示时间,那就只在这个布局XML中 ...

  5. PS 滤镜— —Marble 效果

    clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...

  6. Agc003_D AntiCube

    传送门 题目大意 给定$N$个数,求一个最大的子集,使得任意两两的乘积不是一个完全立方数. $n\leq 10^5 A_i\leq 10^{10}$ 题解 考虑两两乘积为$x^3$,由于$x^3\le ...

  7. Agc016_D XOR Replace

    传送门 题目大意 给定两个长为$n$的序列$A,B$你可以进行若干组操作,每次操作选定一各位置$x$,令$A_x$等于$A$的异或和. 问能否通过一定操作使得$A$成为$B$,如果能,求最小操作书数. ...

  8. 【LeetCode】137. Single Number II

    题目: Given an array of integers, every element appears three times except for one. Find that single o ...

  9. javascript基础之两种函数的定义方法

    第一种方式:可以在函数定义之前调用也可以在函数定义之后调用: (0)函数的调用 add(,) //可以调用 (1)函数的定义: function add(x,y) { console.log(x+y) ...

  10. stm32之UCOS-III

    一.UCOS-III 学习UCOS-III,一般会学习以下内容: 任务创建.删除.挂起.恢复等: 临界区:独占CPU,尽量少用,否则会降低效率: 时间管理:时钟节拍(基于硬件定时器).软件定时器: 互 ...