在这篇文章中,我们将带领您了解docker-redis安装的全貌,包括docker安装redis配置的相关情况。同时,我们还将为您介绍有关110redis的哨兵集群redis-clusterdocke
在这篇文章中,我们将带领您了解docker - redis 安装的全貌,包括docker安装redis配置的相关情况。同时,我们还将为您介绍有关110 redis 的哨兵集群 redis-cluster docker 安装、Docker Redis 安装、docker 一小时快速入门之利用docker安装Redis、docker 安装 redis的知识,以帮助您更好地理解这个主题。
本文目录一览:- docker - redis 安装(docker安装redis配置)
- 110 redis 的哨兵集群 redis-cluster docker 安装
- Docker Redis 安装
- docker 一小时快速入门之利用docker安装Redis
- docker 安装 redis
docker - redis 安装(docker安装redis配置)
拉取镜像
docker pull redis:5.0.4
运行
docker run \ -p 7879:7879 \ -v /redis-uums/conf/redis.conf:/etc/redis/redis.conf \ -v /redis-uums/data:/data \ --name redis-uums -d redis:5.0.4 redis-server /etc/redis/redis.conf
注意:
1. /redis-uums/conf/redis.conf 中的 daemonize 要设置成 no
2. /redis-uums/conf/redis.conf 要预先创建好,运行的配置是根据该文件的,而不是 /etc/redis/redis.conf
3. 如果要修改端口号, -p 7879:7879 是必须指定的。不能只修改 /redis-uums/conf/redis.conf 中的端口号
110 redis 的哨兵集群 redis-cluster docker 安装
主要内容:
1 哨兵集群:https://blog.csdn.net/yaooch/article/details/80167571
a 哨兵的介绍:Sentinel(哨兵)是 Redis 的高可用性解决方案:由一个或多个 Sentinel 实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。
b :redis 哨兵配置步骤如下:
1 准备三个 redis 实例,创建三个 redis 配置文件,文件内容如下
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/var/redis/data/"
daemonize yes
注意:这是主库的配置文件,两个从库的配置文件加上: slaveof 127.0.0.1 6379
2 启动三个 reids 实例: redis-server redis-6379.conf
3 检查三个实例的主从身份: redis-cli -p 6379 info replication
4 配置三个哨兵: redis-sentinel-26379.conf 26380.conf, 26381.conf, 文件内容如下:


// Sentinel节点的端口
port 26379
dir /var/redis/data/
logfile "26379.log"
// 当前Sentinel节点监控 127.0.0.1:6379 这个主节点
// 2代表判断主节点失败至少需要2个Sentinel节点节点同意
// mymaster是主节点的别名
sentinel monitor mymaster 127.0.0.1 6379 2
//每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达
sentinel down-after-milliseconds mymaster 30000
//当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,
原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
sentinel parallel-syncs mymaster 1
//故障转移超时时间为180000毫秒
sentinel failover-timeout mymaster 180000
daemonize yes
三个哨兵的配置文件只是端口的不同
5 启动三个哨兵: redis-sentinel redis-sentinel-26379.conf
6 检查哨兵身份信息,检查主从节点健康状态
7 配置完成后,杀死 master 节点,查看主从身份切换是否正常.
2 redis-cluster: https://blog.csdn.net/openbox2008/article/details/80033439
a : 数据分区的介绍: 在介绍 redis cluster 之前,简单介绍分布式数据库的数据分区。所谓的数据分区就是将一个较大的数据集分布在不同的节点上进行缓存。常见的数据分区方式:节点取余,一致性哈希,虚拟槽:在 redis cluster 中使用槽来存储一定范围内的数据集,每个节点上有一定数量的槽。当客户端提交数据时,要根据 crc16 (key)&16383 来计算出数据要落在哪个虚拟槽内。与节点取余和一致性哈希分区不同,虚拟槽分区是服务端分区。客户端可以将数据提交到任意一个 redis cluster 节点上,如果存储该数据的槽不在这个节点上,则返回给客户端目标节点信息,告知客户端向目标节点提交数据。
b : 集群角色有 Master 和 Slave。Master 之间分配 slots,一共 16384 个 slot。Slave 向它指定的 Master 同步数据,实现备份。当其中的一个 Master 无法提供服务时,该 Master 的 Slave 讲提升为 Master,保证集群间 slot 的完整性。一旦其中的某一个 Master 和它的 Slave 都失效,导致了 slot 不完整,集群失效,这时就需要人工去处理了。
c : 为什么要用集群 https://blog.csdn.net/shenjianxz/article/details/59775212
数据量太大,一台服务器的内存是 16-256g, 假如业务需要 500g, 此时应该把数据分到不同的位置,分摊集中式的压力,一堆机器干一件事.
并发问题.redis 官方生成可以达到 10 万 / 每秒,每秒执行 10 万条命令,假如美妙执行 100 万条命令.
d : redis 使用中遇到的瓶颈
我们日常在对于 redis 的使用中,经常会遇到一些问题
1、高可用问题,如何保证 redis 的持续高可用性。
2、容量问题,单实例 redis 内存无法无限扩充,达到 32G 后就进入了 64 位世界,性能下降。
3、并发性能问题,redis 号称单实例 10 万并发,但也是有尽头的。
e : redis-cluster 的优势
1、官方推荐,毋庸置疑。
2、去中心化,集群最大可增加 1000 个节点,性能随节点增加而线性扩展。
3、管理方便,后续可自行增加或摘除节点,移动分槽等等。
4、简单,易上手。
d 集群的配置.https://www.cnblogs.com/pyyu/p/9844093.html
3 docker
Docker Redis 安装
原文: Docker Redis 安装拉取官方的镜像
docker pull redis:3.2
查看
docker images redis
运行容器
docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
说明:
-p 6379:6379 : 将容器的 6379 端口映射到主机的 6379 端口
-v $PWD/data:/data : 将主机中当前目录下的 data 挂载到容器的 /data
redis-server --appendonly yes : 在容器执行 redis-server 启动命令,并打开 redis 持久化配置
查看启动情况,复制下面的 CONTAINER_ID,后面会用到
docker ps
使用 redis 镜像执行 redis-cli 命令连接到刚启动的容器
docker exec -it CONTAINER_ID redis-cli
连接看一下
搞定
下次搭建 Redis 群集
docker 一小时快速入门之利用docker安装Redis
利用docker方式快捷安装redis
#该方式默认下载的最新版本镜像,如需要下载指定版本在redis后面跟:版本号 docker pull redis #查看当前下载redis的镜像 docker images redis #启动 映射到外部的6677 ---> redis客户端直接用服务器ip:6677端口即可请求到redis docker run -it -p 6677:6379 redis
#查看当前运行的容器 docker ps -a
在宿主机创建映射文件 #创建配置目录 mkdir -p /u01/docker/redis/conf #创建数据目录 mkdir -p /u01/docker/redis/data #创建redis配置文件 touch /u01/docker/redis/conf/redis.conf vi /u01/docker/redis/conf/redis.conf redis.conf文件中填写如下内容 #守护进程 daemonize no #注释绑定本地IP #bind 127.0.0.1 #关闭保护模式 protected-mode no #设置口令 requirepass 123456
重新创建目录映射到宿主机的redis容器 #创建启动容器 docker run -it -d --privileged=true -p 6677:6379 -v /u01/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /u01/docker/redis/data:/data --name redis-5.0 redis /etc/redis/redis.conf --appendonly yes
#参数说明 -d: 后台运行容器,并返回容器ID -i: 以交互模式运行容器,通常与 -t 同时使用 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用 --privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限 -v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件 -v /home/docker/redis/data:/data:映射数据目录 redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程 --name : 指定容器名称,这个最好加上,不然看docker进程的时候会很尴尬 --appendonly yes:开启数据持久化
#docker命令批量删除状态为Exited的容器 docker rm $(docker ps -q -f status=exited) 删除容器 根据容器CONTAINER ID #docker rm <CONTAINER ID>
可以用"docker ps -n 5 "看一下最新前5个的container
要查看启动的centos容器中的输出,可以使用如下方式: $ docker logs $CONTAINER_ID ##在container外面查看它的输出 $ docker attach $CONTAINER_ID ##连接上容器实时查看:
docker 容器 启动/ 关闭/重启
docker start 容器id docker stop 容器id docker restart 容器id
docker 服务随系统启动而启动
#systemctl enable docker.service
docker中的不同镜像创建的容器 随系统启动而启动 未启动的容器 #docker run --restart=always 启动中的容器: #docker update --restart=always <CONTAINER ID>
docker 安装 redis
使用 docker 安装 redis
1. 首先下载 redis 镜像:
docker pull redis
3. 在上面创建的目录下使用命令启动 redis 容器
docker run -d -p 6379:6379 -v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name docker-redis docker.io/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
解释一下上面命令的意义:
-d:表示后台运行,不加 - d 执行上面的命令你就会看到 redis 启动的日志信息了
-p:表示端口映射,冒号左面的是我们的宿主机的端口,也就是我们虚拟机的端口,而右侧则表示的是 mysql 容器内的端口
--name:是我们给 redis 容器取的名字
-v:表示挂载路径,$PWD 表示当前目录下,冒号左面的表示我们宿主机的挂载目录,也就是我们虚拟机所在的文件路径,冒号右边则表是的是 redis 容器在容器内部的路径,上面的命令我分别挂载了 redis.conf (redis 的配置文件),如需使用配置文件的方式启动 redis,这里则需要加上,还有 redis 存放数据所在的目录
--appendonly yes:表示 redis 开启持久化策略
redis.conf 配置文件做如下配置主要是为了 redis 的可视化工具 RedisDeskTopManager 能够连接上我们用 docker 跑起来的 redis 服务
#bind 127.0.0.1
bind 0.0.0.0
protected-mode no
daemonize no
我们今天的关于docker - redis 安装和docker安装redis配置的分享就到这里,谢谢您的阅读,如果想了解更多关于110 redis 的哨兵集群 redis-cluster docker 安装、Docker Redis 安装、docker 一小时快速入门之利用docker安装Redis、docker 安装 redis的相关信息,可以在本站进行搜索。
本文标签: