喵星之旅-狂奔的兔子-基于docker的redis分布式集群
一、docker安装(略)
二、下载redis安装包(redis-4.0.8.tar.gz)
以任何方式获取都可以。自行官网下载。
三、拉取centos7的docker镜像
命令:docker pull centos:7
这种基于操作系统的安装也适合虚拟机、真机等环境,而且之前查询资料也都是这种情况开始,没有看到直接跳过这步的样例。
四、创建docker网络
由于集群环境要求有明确的ip配置,需要提供固定ip,所以这里创建容器时指定ip,这就要求有可用的网络信息。
docker network create --subnet=172.19.0.0/16 mynetwork
五、创建容器
由于计划每个容器配置两个redis,所以需要3个容器,也可以直接创建6个容器。
docker run -d -v /home/bunny/cento7s/01:/data --network=mynetwork --ip=172.19.0.11 centos:7 /usr/sbin/init
docker run -d -v /home/bunny/cento7s/01:/data --network=mynetwork --ip=172.19.0.12 centos:7 /usr/sbin/init
docker run -d -v /home/bunny/cento7s/01:/data --network=mynetwork --ip=172.19.0.13 centos:7 /usr/sbin/init
六、安装redis
三个容器一样,以第一个容器为例172.19.0.11。
安装redis
首先进入容器,将下载好的redis上传到容器内,这里可以直接拷贝到/home/bunny/cento7s/01。
tar zxvf redis-3.2.5.tar.gz
cd redis-3.2.5
yum install -y wget gcc make tcl
make && make install
开始配置redis.conf
新建2个文件夹/etc/redis/7001 /etc/redis/7002
将配置文件复制到2个文件夹,一个对应端口号7001,一个对应端口号7002.下面只配置7001,7002参考7001的配置。
下面的配置文件一共是2*3=6个,分别对应3个ip,每个ip2个端口。
port 7001
bind 172.19.0.11
daemonize yes
pidfile /var/run/redis_7001.pid
dir /etc/redis/7001/
appendonly yes
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000
七、安装依赖
yum install ruby -y
yum install rubygems -y
gem install redis -v 3.0.7
八、启动redis集群
启动单独的redis
逐一启动6个redis进程,下面两条命令在每个容器内执行,一共6个命令执行。
/usr/local/redis-4.0.8/src/redis-server /etc/redis/7001/redis.conf
/usr/local/redis-4.0.8/src/redis-server /etc/redis/7002/redis.conf
通过ps -ef|grep redis 查看进程,每个容器应该2个进程。
配置集群
./redis-trib.rb create --replicas 1 172.19.0.11:7001 172.19.0.12:7001 172.19.0.13:7001 172.19.0.11:7002 172.19.0.12:7002 172.19.0.13:7002
如果是更新的版本可能是下面这条命令
redis-cli --cluster create 172.19.0.11:7001 172.19.0.12:7001 172.19.0.13:7001 172.19.0.11:7002 172.19.0.12:7002 172.19.0.13:7002 --cluster-replicas 1
然后输入yes确认
登录集群
任何一个单点的ip地址和端口号以集群方式登录都可以,也就是在命令中添加上 -c
喵星之旅-狂奔的兔子-基于docker的redis分布式集群的更多相关文章
- 喵星之旅-狂奔的兔子-基于docker的rabbitmq安装
docker安装参考:喵星之旅-狂奔的兔子-docker安装和基本使用 一.查询镜像名称 由于我们要安装的是有web管理页面的,不能直接拉取,需要指定版本. 登录docker仓库查询:https:// ...
- 搭建基于docker 的redis分布式集群在docker for windows
https://blog.csdn.net/xielinrui123/article/details/85104446 首先在docker中下载使用 docker pull redis:3.0.7do ...
- 喵星之旅-狂奔的兔子-docker安装和基本使用
一.前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. 位.系统内核版本为 3.10 以上. 位系统.参考喵星之旅-狂奔的兔子-linux安装 二.CentOS 7下安装 Doc ...
- 喵星之旅-狂奔的兔子-rabbitmq的java客户端使用入门
一.简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). 消息队列都涉及的生产者消费者模型,不做详解,本文只作为快速使用的参考文档. 消息队列主要有点 ...
- 喵星之旅-狂奔的兔子-myeclipse搭建ssm
. 可以使用试用期限内的myeclipse,也可以找到有授权的机器进行操作.搭建好的项目框架可以直接移植到免费软件eclipse使用.或者直接购买myeclipse授权. 一.创建一个java web ...
- 喵星之旅-狂奔的兔子-centos7一键安装redmine
一.安装环境 CentOS-7-x86_64-DVD-1908.iso 二.获取安装文件 从官网获取,在下载页面提供了多种安装,最下方是一键安装版本,里面有两种选择,一个是安装包,一个是虚拟机硬盘文件 ...
- 喵星之旅-狂奔的兔子-centos7安装MySQL 5.5
安装环境:https://www.cnblogs.com/kittybunny/p/12296078.html 一.下载安装文件 下载地址 https://downloads.mysql.com/ar ...
- 喵星之旅-狂奔的兔子-linux安装
一.前言 本文演示虚拟机安装,和真机区别可能在网卡驱动上有差异. 真机环境:CentOS Linux release 7.6.1810 (Core) 虚拟机(虽然centos系统自带虚拟机软件,但是习 ...
- 喵星之旅-狂奔的兔子-redis使用
一.命令行使用 redis大概有200多命令,这里只是入门级别,列举了一些非常常见的内容,如果这些会了就可以开启redis进一步学习了. 1.登录数据库 我们需要知道ip地址.端口号.密码(如果有). ...
随机推荐
- 查看gcc编译器版本
我们在windows下DS5中编译时使用GCC交叉编译器,但是在ubuntu时也需要使用GCC编译器,这时最好时保持版本一致,所以就需要查看windows下版本,如下图,在按装的文件夹中找到对应得文件 ...
- 关于layui的日期和时间组件laydate闪屏的坑
https://blog.csdn.net/liangwenli_/article/details/82786713 jsp页面: <input type="text" cl ...
- Flink流处理(三)- 数据流操作
3. 数据流操作 流处理引擎一般会提供一组内置的操作,用于对流做消费.转换,以及输出.接下来我们介绍一下最常见的流操作. 操作分为无状态的(stateless)与有状态的(stateful).无状态的 ...
- 题解【洛谷P2513/CJOJ1345】[HAOI2009]逆序对数列
P1345 - [HAOI2009]逆序对数列 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成 ...
- 寒假安卓app开发学习记录(7)
今天学习了Intent的基本用法.Intent是什么?Intent在Android中的核心作用就是“跳转”(Android中的跳转机制),同时可以携带必要的信息,将Intent作为一个信息桥梁.最常用 ...
- LED Decorative Light Supplier Introduction - LED Track Light Products
LED Decorative Light Supplier introduction: LED track light is a track light with LED as the ligh ...
- AC3 bit allocation
1.bit allocation overview bit allocation通过分析audio 信号的频谱envelop,使用masking effect来确定使用多少bit来表示频率系数的man ...
- ubuntu 终端快捷方式汇总
terminal 是一个命令行终端,将启动系统默认的shell,shell是一个解释并执行在命令行提示符输入的命令的程序. 启动 terminal1 在 “面板主页” 的应用程序搜索栏中,输入命令gn ...
- C语言使用信号量机制实例:
C语言使用信号量机制实例: #include <signal.h> #include <unistd.h> #include <stdio.h> #include ...
- pyodbc-的一些说明
cursor的description 可以获得一些关于表的信息 info=cursor.description 此时表中有多少列就有多少个元素,一个元素就是一列的信息(格式是tuple),所以这里的i ...