所有类型的Redis安装部署

1、虚机安装单台redis

A、下载包

● 官网下载网页链接:https://redis.io/download

wget https://github.com/redis/redis/archive/7.0.0.tar.gz

B、解压并移动

tar xzf /root/7.0.0.tar.gz
mv redis-7.0.0 /usr/local/

C、安装依赖包、并安装redis

cd /usr/local/redis-7.0.0/
yum -y install gcc-c++
make && make install

D、修改配置文件

vi redis.conf
第 87行: bind 127.0.0.1 -::1
第 111行: protected-mode yes
第 309行: daemonize no
第1036行: # requirepass foobared

#注释掉bind 127.0.0.1,使其他网段能够远程访问(#bind 127.0.0.1)
#设置成no(默认是设置成yes的, 防止了远程访问)(protected-mode no)
#把文件中的daemonize属性改为yes(表明需要在后台运行)(daemonize yes)
#删除前面的注释符号#,并把foobared修改成自己的密码( requirepass 123456)

E、启动并设置开机自启、并启动

/usr/local/redis-7.0.0/src/redis-server /usr/local/redis-7.0.0/redis.conf
echo “/usr/local/redis-7.0.0/src/redis-server /usr/local/redis-7.0.0/redis.conf” >> /etc/rc.d/rc.local

F、测试登录

redis-cli

2、Docker安装单台redis

A、下载redis镜像

#从官方镜像库(hub.docker.com)搜索redis镜像

docker search redis

INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
镜像库 名称 描述 下载量 官方提供 票友提供
docker.io docker.io/redis Redis is an open source 10739 [OK]
docker.io docker.io/bitnami/redis Bitnami Redis Docker Image 212 [OK]
…此处省略部分搜索信息…

#下载搜索出的官方redis镜像

docker pull docker.io/redis
docker images #查看本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis latest bba24acba395 3 days ago 112.6 MB

B、新建挂载配置文件夹

● 因为 redis 默认配置你会发现只能够本地连接,不能进行远程访问,使用 Redis Desktop Manager连接都会报错,因此需要手动挂载 redis 配置文件
● 新建 data 和 conf 两个文件夹,位置随意

mkdir /root/docker/redis/data -p
mkdir /root/docker/redis/conf -p

C、添加配置文件 redis.conf

● 在刚建的 redis/conf/ 中新建 redis.conf ,内容如下:

vi /root/docker/redis/conf/redis.conf

bind 0.0.0.0 #允许远程连接
protected-mode no
appendonly yes #持久化
requirepass 123456 #密码
#masterauth 123456 #配置主从同步密码
#cluster-enabled yes #打开集群模式
#cluster-config-file nodes-6379.conf #集群配置文件
#cluster-node-timeout 15000 #集群超时时间

D、创建 redis 容器并启动

docker run --privileged=true --name redis6379 -p 6379:6379 -v /root/docker/redis/data/:/data -v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d docker.io/redis redis-server /etc/redis/redis.conf --appendonly yes --restart=always

c6af810cd10a516abd26a98d9d911b2cd3f47130ab7db719cd0f4d49e1eed17d

上面命令释义如下:
● -privileged=true: 允许容器对宿主机redis.conf文件的操作权限
● –name:给容器起一个名
● -p:端口映射 宿主机:容器
● -v:挂载自定义配置 自定义配置:容器内部配置
● -d:后台运行
● redis-server --appendonly yes: 在容器执行redis-server启动命令,并打开redis持久化配置
● --restart=always : 设置开机自启

E、启动成功,查看状态

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS 容器ID 依赖镜像 容器默认启动命令 创建时间 状态
PORTS NAMES
端口 容器名
c6af810cd10a docker.io/redis “docker-entrypoint.sh” 41 minutes ago Up 41 minutes 0.0.0.0:6379->6379/tcp my_redis

● 如果容器没起来或者异常则 查看容器日志
[root@lzl ~]# docker logs c6af

F. 容器内部连接进行测试

● 执行docker exec -it my_redis redis-cli 命令,进入终端。
● 通过auth password进行登陆

docker exec -it my_redis redis-cli

127.0.0.1:6379> ping
(error) NOAUTH Authentication required. #没有输入密码进行验证,请输入:auth 你的密码
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set name lzl
OK
127.0.0.1:6379> get name
“lzl”
127.0.0.1:6379>

● 当启动容器端口报错时,可以查看哪个程序在占用,然后杀掉进程
netstat -lntp | grep 6379
sudo kill 6379
● 杀掉占用端口的程序如果使用阿里云等,请务必把相应端口打开

3、docker部署redis无密码集群

A、创建各节点存储路径

mkdir -p /opt/redis/{7000,7001,7002,7003,7004,7005}

B、创建各节点配置文件

cat > /opt/redis/7000/redis.conf << EOF
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize no
protected-mode no
pidfile /data/redis.pid
EOF

批量拷贝配置文件到其他目录下

for i in {7001…7005} ; do cp /opt/redis/7000/redis.conf /opt/redis/KaTeX parse error: Expected 'EOF', got '&' at position 14: i/redis.conf &̲& sed -i 's/700…i’"/’ /opt/redis/$i/redis.conf ;done

C、拉取docker镜像

docker pull redis:6.0.8

D、创建容器

for i in {7000…7005} ; do docker run -d -v /opt/redis/ i : / d a t a − − c p u s = 1 − − m e m o r y = 2 G B − − m e m o r y − s w a p = 0 − − p r i v i l e g e d = t r u e − − r e s t a r t = a l w a y s − − n e t h o s t − − n a m e r e d i s − i:/data --cpus=1 --memory=2GB --memory-swap=0 --privileged=true --restart=always --net host --name redis- i:/data−−cpus=1−−memory=2GB−−memory−swap=0−−privileged=true−−restart=always−−nethost−−nameredis−i redis:6.0.8 redis-server /data/redis.conf ;done

● 以下两步想测试在配置文件中添加认证密码和集群密码,但是启动集群失败

for i in {7001…7005} ;do echo ‘requirepass “123456”’ >> /opt/redis/KaTeX parse error: Expected 'EOF', got '&' at position 14: i/redis.conf &̲& echo 'mastera…i/redis.conf ;done

for i in {7000…7005} ;do sed -i ‘/requirepass “123456”/d’ /opt/redis/KaTeX parse error: Expected 'EOF', got '&' at position 14: i/redis.conf &̲& sed -i '/mast…i/redis.conf ;done

E、创建集群(IP为部署docker的本机ip)

docker exec -it redis-7000 redis-cli -p 7000 --cluster create 192.168.0.24:7000 192.168.0.24:7001 192.168.0.24:7002 192.168.0.24:7003 192.168.0.24:7004 192.168.0.24:7005 --cluster-replicas 1

F、登录集群节点、查看集群信息、查看集群节点信息

docker exec -it redis-7000 redis-cli -p 7000 -c

127.0.0.1:7000> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:330
cluster_stats_messages_pong_sent:340
cluster_stats_messages_sent:670
cluster_stats_messages_ping_received:335
cluster_stats_messages_pong_received:330
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:670
127.0.0.1:7000> cluster nodes
541f7590b33214597e2a3e9ada9ae49283510a0b 192.168.0.24:7003@17003 slave 06c5bd1bdad267ef5139e4001272cfa9e7616fe6 0 1649312950911 2 connected
a0b6d2a00b9707b9eb5866ec33cc94e9563845fa 192.168.0.24:7004@17004 slave b182ae17052b701d5a07dd587c85b2b6ec9ea052 0 1649312951000 3 connected
141dcc2b22faf70562451376fe4413438286dfba 192.168.0.24:7005@17005 slave 5b8814e1ce9f34507d38d39ee61e5d195348e5a7 0 1649312951911 1 connected
5b8814e1ce9f34507d38d39ee61e5d195348e5a7 192.168.0.24:7000@17000 myself,master - 0 1649312950000 1 connected 0-5460
b182ae17052b701d5a07dd587c85b2b6ec9ea052 192.168.0.24:7002@17002 master - 0 1649312950000 3 connected 10923-16383
06c5bd1bdad267ef5139e4001272cfa9e7616fe6 192.168.0.24:7001@17001 master - 0 1649312950000 2 connected 5461-10922
127.0.0.1:7000>

4、docker部署redis有密码集群

A、拉取最新镜像

docker pull redis

B、创建挂载目录

mkdir -p /mnt/redis/{8000…8005}/data

C、创建容器

for i in {8000…8005} ; do docker create --name redis- i − − r e s t a r t = a l w a y s − − n e t h o s t − v / m n t / r e d i s / i --restart=always --net host -v /mnt/redis/ i−−restart=always−−nethost−v/mnt/redis/i/data:/data redis --requirepass 123456 --masterauth 123456 --port $i --appendonly yes --cluster-enabled yes --cluster-announce-ip 192.168.0.24 ; done

D、启动节点容器

for i in {8000…8005};do docker start redis-$i ;done

E、创建redis集群

docker exec -it redis-8000 redis-cli -a 123456 --cluster create 192.168.0.24:8000 192.168.0.24:8001 192.168.0.24:8002 192.168.0.24:8003 192.168.0.24:8004 192.168.0.24:8005 --cluster-replicas 1

F、集群连通测试

docker exec -it redis-8000 redis-cli -h 192.168.0.24 -p 8000 -a 123456 -c
192.168.0.24:8000> cluster nodes
192.168.0.24:8000> cluster info

所有类型的Redis安装部署相关推荐

  1. Redis安装部署配置说明

    1.    redis简介       Redis是个高性能的key-value数据库,它的key具有丰富的数据结构:string,hash,list set和sorted set.作为NOSQL,比 ...

  2. Redis 安装部署介绍

    Redis 安装部署 •单点 •主从复制Replication •高可用 Sentinel •集群Cluster Redis Standalone 1:官方站点: https://redis.io下载 ...

  3. Redis 安装部署教程

    Redis 安装部署教程 通过https://github.com/tporadowski/redis/releases 地址下载Redis-x64-5.0.14.1.msi文件 下载完成,解压,双击 ...

  4. NoSQLRedis的介绍和Redis安装部署,通过yum在线安装Redis,通过源码安装Redis;

    目录 1.Redis简介 1).Redis是什么? 2).Redis能干嘛? 3).可以从哪里去下载Redis? 4).使用Redis进行的多种操作 5).Redis与其他数据库和软件的对比 2.Re ...

  5. redis入门系列(一)redis安装部署

    2019独角兽企业重金招聘Python工程师标准>>> 用了redis一年多了,虽然原理和命令都了解,应付日常工作绰绰有余,但是从没从头到尾的去学习一下redis.从个人经历来讲,这 ...

  6. Redis安装部署使用

    1.安装: (1)下载Redis安装包: https://download.csdn.net/download/qq_33885899/9970129 (2)安装 执行 tar -zxvf redis ...

  7. NOSL redis安装部署 lnmp+redis

    RDBMS 服务软件 • 主流的 RDBMS 软件 – Oracle – DB2 – WS-sqlserver – MySQL NoSQL 服务软件 • 主流软件 – Redis – MongoDB ...

  8. .NET中Redis安装部署及使用方法简介附-开源Redis操作辅助类

    Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. Re ...

  9. .NET中Redis安装部署及使用方法

    Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. Re ...

最新文章

  1. Spring Boot 结合 Redis 缓存
  2. 进程间通信(IPC)学习
  3. Java NIO(十五) Path 的用法
  4. 四川网络推广介绍什么样的网站架构更能吸引蜘蛛爬行抓取?
  5. android热修复原理底层替换,Android 热修复 - 各框架原理学习及对比
  6. [转]xargs详解
  7. 五句话足以改变人生[转]
  8. 码农们的聚餐,会复杂到什么程度?
  9. 局域网中只有一台电脑无法连接共享打印机,其他电脑均可正常连接解决方案
  10. C中常量数组不能修改
  11. pdfobject屏蔽头部工具栏如何兼容ie
  12. AI领域最有影响力100人,Hinton只排31、Bengio竟然没有上榜?
  13. 化繁为简,弱监督目标定位领域的新SOTA - 伪监督目标定位方法(PSOL) | CVPR 2020
  14. HI3518EV200初体验
  15. No Way Out (Single Version) (Theme From Brother Bear) - Phil Collins 歌词
  16. 最短曼哈顿距离(递推+枚举 C++)
  17. VC6 VS2010 环境变量
  18. 决策树的生成之ID3与C4.5算法
  19. matlab下载实录:matlab2022a好用吗
  20. flask(一):简介

热门文章

  1. GridView中BoundField与TemplateField的区别
  2. arm-linux qt交叉编译,qt arm交叉编译命令
  3. html表格内容溢出隐藏,溢出隐藏:最全的利用css解决内容溢出问题的几种方案...
  4. 智慧教室系统--空调集中管控系统
  5. setTimeout()与clearTimeout()
  6. app 发布服务器要什么配置文件,一般视频app服务器要什么配置
  7. 转:德鲁克:你需要利用反面意见做决策
  8. 基于STC89C52RC芯片 高频DDS信号发生器AD9851信号源方波正弦波系统设计
  9. 【Solr - HBase二级索引 —— Lily HBase Indexer】
  10. 飞鸽传书2007 目前可谓是盛行的时代