docker服务器中redis-cluster集群配置(redis-5.0.7)

docker服务器redis5.0.7版本的cluster集群的搭建


前言

因为需要使用到docker服务器下的redis-cluster集群环境,而以前redis3.2.8版本的redis搭配起来费事费力还没有成功,所以使用了较新一些的redis版本----redis-5.0.7。

一、在centos7上安装redis-5.0.7

默认:dockers已经安装成功

1.1下载tar包

		http://download.redis.io/releases/redis-5.0.7.tar.gz

1.2把进行安装

	  首先是把下载的包传输到所要安装的机器上(我就是在根目录下)			
	  tar -zxvf redis-5.0.7.tar.gz
	  cd redis-5.0.7
	  make && make PREFIX=/usr/local/redis install    (安装到所指定的路径的目录下)
	  cd /usr/local/redis/bin     (可以通过ls  查看 是否有文件存在) 
	  cd redis-5.0.7
	  mkdir /usr/local/redis/etc
	  cp redis.conf /usr/local/redis/etc
	  vim redis.conf  (修改redis配置)
	  bind 127.0.01  注释掉(为的是可以外网访问)
	  ./usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf  (其中之后 通过 ps -ef|grep redis    查看是否运行)

二、Redis cluster 集群搭建(以3主3从为例 2台服务器 并且集群最少为6个节点)

 **这在(192.168.95.98 192.168.95.96)两个机器上的操作类似,以98为例(但是注意两台机器上端口号尽量不要相同)**

2.1 编写配置文件

#编写目录
mkdir -p /usr/local/docker-redis/redis-cluster
#切换至指定目录
cd /usr/local/docker-redis/redis-cluster/
#编写 redis-cluster.tmpl 文件
vi redis-cluster.tmpl

代码如下(示例):

port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
pidfile /var/run/redis_${PORT}.pid
appendonly yes
cluster-enabled yes
cluster-config-file nodes-${PORT}.conf
cluster-node-timeout 15000
cluster-announce-ip 192.168.95.98
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir ./
appendfilename "appendonly.aof"
appendfsync everysec

2.2编写一个脚本文件

目的:创建 6371 ~ 6373 相关的目录及文件
代码如下(示例):

 for port in `seq 6371 6373`; do \
  			mkdir -p ${port}/conf \
  			&& PORT=${port} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf \
  			&& mkdir -p ${port}/data;\
done
chmod 777 .sh 

执行该.sh文件 会得到6371 ~ 6373 相关的目录及文件(注意看一下是否创建成功),然后可以使用

cat /usr/local/docker-redis/redis-cluster/637{1…3}/conf/redis.conf 进行查看配置文件内容

下面四行可以不进行(因为这个是查看redis 的配置是否成功)
并且可以通过cd /usr/local/redis/bin/
运行 ./redis-server /usr/local/docker-redis/redis-cluster/6371/conf/redis.conf
然后通过ps -ef|grep redis 看到该redis进行是否正常启动
记住查看完之后 需要将该进程给停止掉(kill –9 )

三、在docker配置redis cluster 容器

3.1 创建redis 容器

   docker run -d --net host --restart=always --name redis-6371 -v /usr/local/docker-redis/redis-cluster/6371/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/docker-redis/redis-cluster/6371/data/:/data redis:5.0.7 redis-server /etc/redis/redis.conf

这个语句中的 –net host 是为了连网 --restart=always 则是让docker会自动重启redis --name redis-6371 这个则是每个redis给予不同的名字(名字不能相同)
/usr/local/docker-redis/redis-cluster/6371/conf/redis.conf 这个是2.3得到的文件下的文件 redis:5.0.7 这个则需要dockers 下来下来的镜像版本

3.2 循环运行3.1语句 将其中的6371 改为6372 6373 即可(没有写成脚本 所以只能自己修改数字的执行)

3.3 把192.168.95.96机器上也根据(从头开始配置)上面的步骤启动完成之后再进行以下步骤

3.4 随便进去一个容器中

docker exec -it redis-6371 bash

3.5切换到该目录下

 cd /usr/local/bin/

3.6 将6个节点集群起来

redis-cli -a 1234 --cluster create 192.168.95.98:6371 192.168.95.98:6372 192.168.95.98:6373 192.168.95.96:6374 192.168.95.96:6375 192.168.95.96:6376 --cluster-replicas 1

3.7 进去redis 客户端 查看

 redis-cli -c -a 1234 -h 192.168.95.98 -p 6371

进去之后可以通过cluster nodes 和cluster info 查看集群是否配置成功了

总结

第一次进行配置这个环境,因为在redis3.2.8上面配置了2天左右实在还是无法实现所需要的环境,所以使用redis5.0.7实现。

  • 38
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值