docker配置redis6.0.5集群
docker配置redis6.0集群方案
docker安装
请直接挂载课程配套的Centos7.x镜像, docker官方建议使用CentOS7
(1)yum 包更新到最新
sudo yum update
(2)安装需要的软件包, yum-util
提供yum-config-manager
功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(3)设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4)安装docker
sudo yum install docker-ce
(5)安装后查看docker版本
docker -v
redis安装
docker pull redis
docker inspect redis
看看redis的版本
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"GOSU_VERSION=1.12",
"REDIS_VERSION=6.0.5",
"REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.0.5.tar.gz",
"REDIS_DOWNLOAD_SHA=42cf86a114d2a451b898fcda96acd4d01062a7dbaaad2801d9164a36f898f596"
]
redis配置
- docker启动redis
docker run -d --net=redis_net1 --ip=172.19.0.2 -p 7000:7000 -v ~/redis_cluster/7000/redis.conf:/usr/local/etc/redis/redis.conf -v ~/redis_cluster/7000/data:/data --name=r1 redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --net=redis_net1 --ip=172.19.0.3 -p 7001:7001 -v ~/redis_cluster/7001/redis.conf:/usr/local/etc/redis/redis.conf -v ~/redis_cluster/7001/data:/data --name=r2 redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --net=redis_net1 --ip=172.19.0.4 -p 7002:7002 -v ~/redis_cluster/7002/redis.conf:/usr/local/etc/redis/redis.conf -v ~/redis_cluster/7002/data:/data --name=r3 redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --net=redis_net1 --ip=172.19.0.5 -p 7003:7003 -v ~/redis_cluster/7003/redis.conf:/usr/local/etc/redis/redis.conf -v ~/redis_cluster/7003/data:/data --name=r4 redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --net=redis_net1 --ip=172.19.0.6 -p 7004:7004 -v ~/redis_cluster/7004/redis.conf:/usr/local/etc/redis/redis.conf -v ~/redis_cluster/7004/data:/data --name=r5 redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --net=redis_net1 --ip=172.19.0.7 -p 7005:7005 -v ~/redis_cluster/7005/redis.conf:/usr/local/etc/redis/redis.conf -v ~/redis_cluster/7005/data:/data --name=r6 redis redis-server /usr/local/etc/redis/redis.conf
创建redis集群
redis-cli --cluster create 172.19.0.2:7000 172.19.0.3:7001 172.19.0.4:7002 172.19.0.5:7003 172.19.0.6:7004 172.19.0.7:7005 --cluster-replicas 1
输出
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 172.19.0.6:7004 to 172.19.0.2:7000
Adding replica 172.19.0.7:7005 to 172.19.0.3:7001
Adding replica 172.19.0.5:7003 to 172.19.0.4:7002
M: b8fd74f8cdebf46d5e64694db040576e8d7d0609 172.19.0.2:7000
slots:[0-5460] (5461 slots) master
M: aea806a312049e4c3235e7ea24535a9a45773136 172.19.0.3:7001
slots:[5461-10922] (5462 slots) master
M: 90251b4a1d3c4357e5e41a1fc20863ff43155096 172.19.0.4:7002
slots:[10923-16383] (5461 slots) master
S: 4349d4b9c31de77a8d6b32db2a75b4fe1e34c0e0 172.19.0.5:7003
replicates 90251b4a1d3c4357e5e41a1fc20863ff43155096
S: de30cea9db4d5788f949e7d8939b7b552d7610b3 172.19.0.6:7004
replicates b8fd74f8cdebf46d5e64694db040576e8d7d0609
S: 673518cedabea7dccf2a5c560fb36ef2154cb860 172.19.0.7:7005
replicates aea806a312049e4c3235e7ea24535a9a45773136
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
.
>>> Performing Cluster Check (using node 172.19.0.2:7000)
M: b8fd74f8cdebf46d5e64694db040576e8d7d0609 172.19.0.2:7000
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 90251b4a1d3c4357e5e41a1fc20863ff43155096 172.19.0.4:7002
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
M: aea806a312049e4c3235e7ea24535a9a45773136 172.19.0.3:7001
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 673518cedabea7dccf2a5c560fb36ef2154cb860 172.19.0.7:7005
slots: (0 slots) slave
replicates aea806a312049e4c3235e7ea24535a9a45773136
S: 4349d4b9c31de77a8d6b32db2a75b4fe1e34c0e0 172.19.0.5:7003
slots: (0 slots) slave
replicates 90251b4a1d3c4357e5e41a1fc20863ff43155096
S: de30cea9db4d5788f949e7d8939b7b552d7610b3 172.19.0.6:7004
slots: (0 slots) slave
replicates b8fd74f8cdebf46d5e64694db040576e8d7d0609
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
最终要的是后面两个OK, 如果是这样那么配置成功
现在在docker里面用redis-cli试试看看配置成功了没有
root@ca396eb86f71:/bin# redis-cli -p 7000 cluster nodes
这里我们docker exec连接的redis节点本身就是7000, 如果写上7001可能不会显示下面这些信息了
90251b4a1d3c4357e5e41a1fc20863ff43155096 172.19.0.4:7002@17002 master - 0 1594611038536 3 connected 10923-16383
aea806a312049e4c3235e7ea24535a9a45773136 172.19.0.3:7001@17001 master - 0 1594611037000 2 connected 5461-10922
b8fd74f8cdebf46d5e64694db040576e8d7d0609 172.19.0.2:7000@17000 myself,master - 0 1594611038000 1 connected 0-5460
673518cedabea7dccf2a5c560fb36ef2154cb860 172.19.0.7:7005@17005 slave aea806a312049e4c3235e7ea24535a9a45773136 0 1594611037832 6 connected
4349d4b9c31de77a8d6b32db2a75b4fe1e34c0e0 172.19.0.5:7003@17003 slave 90251b4a1d3c4357e5e41a1fc20863ff43155096 0 1594611038000 4 connected
de30cea9db4d5788f949e7d8939b7b552d7610b3 172.19.0.6:7004@17004 slave b8fd74f8cdebf46d5e64694db040576e8d7d0609 0 1594611038838 5 connected
主机上安装redis
在主机上编译redis6.0(需要注意gcc版本好像), 我在主机上编译的是redis5, 然后给我改成redis6 发现编译时, gcc版本过低了, 主机4.8版本的gcc, 需要更新到9.3
安装redis6.0
- 检测gcc版本
gcc -v
如果版本低于5, 需要升级
这里我们升级到gcc9
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
- 设置gcc版本
#临时修改gcc版本
scl enable devtoolset-9 bash
#永久修改gcc版本
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
再看看gcc的版本
只要是9就行
- 编译redis
cd redis-6.0.5
make all && make install
编译成功
[root@centOS redis-6.0.5]# make install
cd src && make install
make[1]: Entering directory `/root/redis-6.0.5/src'
CC Makefile.dep
make[1]: Leaving directory `/root/redis-6.0.5/src'
make[1]: Entering directory `/root/redis-6.0.5/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/root/redis-6.0.5/src'
redis-cli连接集群
[root@centOS redis-6.0.5]# redis-cli -c -h 172.19.0.2 -p 7000
172.19.0.2:7000> set name zhazha
-> Redirected to slot [5798] located at 172.19.0.3:7001
OK
172.19.0.3:7001> get name
"zhazha"
172.19.0.3:7001>
集群配置成功
注意企业中不这样用, 太慢了, 所以待续
docker配置redis6.0.5集群的更多相关文章
- Docker:docker搭建redis6.0.8集群
下载redis镜像 #拉取镜像 docker pull redis:6.0.8 查看版本 #查看版本 docker inspect redis 生成redis.conf配置文件 #在 /home/re ...
- Redis6.0.6集群服务搭建
实现目标 一台主机上搭建3主3从高可用redis集群 环境 Linux :CentOS7 Redis : 6.0.6 准备工作 1.查看是否有安装wget命令,如果没有安装使用yum命令安装wgt命令 ...
- Redis-4.0.11集群配置
版本:redis-3.0.5 redis-3.2.0 redis-3.2.9 redis-4.0.11 参考:http://redis.io/topics/cluster-tutorial. 集群 ...
- Redis-5.0.5集群配置
版本:redis-5.0.5 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...
- Redis 3.0 Cluster集群配置
Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...
- 配置redis 4.0.11 集群
配置redis 4.0.11 集群 准备redis 软件和redis配置文件 启动Redis服务 /data/soft/redis/src/redis-check-aof --fix /log/red ...
- docker环境下solrcloud+zookeeper集群部署教程
前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...
- 使用Docker Swarm搭建分布式爬虫集群
https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653195618&idx=2&sn=b7e992da6bd1b2 ...
- Docker搭建MySQL的PXC集群
原文:Docker搭建MySQL的PXC集群 一.简介 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galer ...
随机推荐
- Linux_ACL文件访问控制列表
一.ACL文件访问控制列表 前言 1️⃣:ACL-文件访问控制列表: 2️⃣:ACL可以针对单个用户,单个文件或目录来进行r.w.x的权限设定,特别适用于需要特殊权限的使用情况. 3️⃣:ACL就是可 ...
- IDEA 全局搜索 Jar 包中源码内容
引言 项目开发过程中,经常遇到需要在依赖的 Jar 包查看源码,查找类方法和属性,介绍两种在 IDEA 中搜索 Jar 包内容的方式 方式一:双击 SHIFT 快捷键 输入需要查询的类名或方法名 方式 ...
- Python基础之变量、输入、输出
一.Hello World程序 在Windows终端执行python C:\Users\renyz02>python Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 2 ...
- HTML html5 语义化标签
什么是语义化标签 语义化标签就是具有某种含义及结构的标签,让其更容易理解和使用. HTML5 新增了一些语义化标签,如下: article article 标签装载显示一个独立的文章内容.例如一篇完整 ...
- KEIL中查看程序存储空间的大小
Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间,RO-data是 Read Only 只读常 ...
- 2.1PyCharm 的初始设置
PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...
- Step By Step(编写C函数的技巧)
Step By Step(编写C函数的技巧) 1. 数组操作: 在Lua中,"数组"只是table的一个别名,是指以一种特殊的方法来使用table.出于性能原因,Lua的C ...
- MindSpore循环神经网络
MindSpore循环神经网络 一. 神经网络的组成 神经元模型:首先简单的了解以下构成神经网络的最基础单元:神经元.每个神经元与其它神经元相连,处于激活状态时,就会向相连的神经元发送相应信号.从而改 ...
- Jittor 的Op, Var算子
Jittor 的Op, Var算子 要使用jittor训练模型,需要了解两个主要概念: Var:Jittor的基本数据类型 Operations:Jittor的算子与numpy类似 首先,开始使用Va ...
- CUDA 9中张量核(Tensor Cores)编程
CUDA 9中张量核(Tensor Cores)编程 Programming Tensor Cores in CUDA 9 一.概述 新的Volta GPU架构的一个重要特点是它的Tensor核,使T ...