喵星之旅-狂奔的兔子-基于docker的redis分布式集群
Posted 喵星兔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了喵星之旅-狂奔的兔子-基于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分布式集群的主要内容,如果未能解决你的问题,请参考以下文章