首页 > 数据库 >Redis 5.0 安装

Redis 5.0 安装

时间:2024-10-16 16:43:52浏览次数:7  
标签:5.0 127.0 ## Redis redis data 0.1 安装 节点

注意事项

默认文件存放位置

  • 可执行文件(如redis、redis-server、redis-sentinel、redis-cli):/usr/local/bin

  • 库文件:/usr/local/lib

  • 配置文件:/usr/local/etc

  • 资源文件:/usr/local/share

版本大全

https://download.redis.io/releases/?_gl=1*1i0ead3*_gcl_au*MjAxNzQxMDA1LjE3Mjg2MzE4Mzg

Redis-cli --help

## 不展示警告信息
--no-auth-warning
## 以集群的形式启动客户端
-c

安装单实例步骤

  1. 下载
wget https://download.redis.io/releases/redis-5.0.9.tar.gz
  1. 解压
tar -zxvf redis-5.0.9.tar.gz 
  1. 编译
cd redis-5.0.9
make

cd ..
mkdir redis
## mkdir bin
    
  1. 安装
## 回到redis编译的目录redis-5.0.9
make PREFIX=/data/dba/yanhao/redis/redis1/redis install
## 这里指定了目标目录,之后在卸载时,直接用rm -rf /data/dba/yanhao/redis/redis1/redis即可删除redis。
  1. 启动
./redis-server /data/dba/yanhao/redis/redis1/redis.conf  &

./redis-server /data/dba/yanhao/redis/cluster/node1/redis.conf  &


  1. 连接
##  -h <hostname>      Server hostname (default: 127.0.0.1).
##  -p <port>          Server port (default: 6379).
##  -s <socket>        Server socket (overrides hostname and port).
##  -a <password>      Password to use when connecting to the server.
##                     You can also use the REDISCLI_AUTH environment
##                     variable to pass this password more safely
##                     (if both are used, this argument takes predecence).
##  -u <uri>           Server URI.
  
./redis-cli -h 127.0.0.1 -p 63790 -a 123456

所使用的配置文件

# 是否以守护进程启动,默认:no
daemonize no
port 63790
logfile /data/dba/yanhao/redis/redis1/redis.log
requirepass 123456
databases 16
# 日志级别配置 默认:notice
## debug:能设置的最高的日志级别,打印所有信息,包括debug信息。
## verbose:打印除了debug日志之外的所有日志。
## notice:打印除了debug和verbose级别的所有日志。
## warning:仅打印非常重要的信息。
loglevel notice

常见配置

基本配置

## 是否以守护进程启动 默认:no
daemonize no
## 用于设置Redis绑定的网络接口(网卡)。如果不配置bind,默认情况下Redis监听所有可用的网卡,redis只接受来自绑定网络接口的请求。
## Redis的配置文件中一般默认有bind 127.0.0.1,只允许本地连接,如果想要被远程访问注释掉bind配置或者bind外网ip即可。
bind 127.0.0.1
## 是否开启保护模式 默认:yes,是否有效会被bind和requirepass配置影响
## 当protected-mode为yes
### 注释bind和requirepass,redis的保护模式生效,只能通过本地连接
### 只注释bind,配置requirepass,redis的保护模式失效,可以通过密码远程连接
### 只注释requirepass,redis的保护模式失效,可以通过bind的ip无密码连接
## 当protected-mode为no
### 无论上面的哪种场景,客户端都可以根据 bind 及 requirepass 实际参数来连接到 redis
protected-mode yes
## redis服务端口 默认:6379
port 6379
## 客户端连接空闲时间单位秒,如果在指定时间内没有操作则会断开连接 默认:0(不超时)
timeout 0
## tcp心跳检测时间单位秒,对访问客户端的一种心跳检测,每个n秒检测一次 默认:0(不检测),建议设置成60
tcp-keepalive 0
## 客户端最大连接数,设置redis同时可以与多少个客户端进行连接 默认:10000
maxclients 10000
## 日志级别配置 默认:notice
## debug:能设置的最高的日志级别,打印所有信息,包括debug信息。
## verbose:打印除了debug日志之外的所有日志。
## notice:打印除了debug和verbose级别的所有日志。
## warning:仅打印非常重要的信息。
loglevel notice
## 日志文件输出路径配置
## 该路径默认为空。可以根据自己需要把日志文件输出到指定位置。
logfile ""
## 数据库数量配置 默认:16
databases 16
## 连接密码配置 默认无密码
requirepass 123456
## 配置data目录
dir /data/dba/yanhao/redis/redis1/data

RDB全量持久化配置

# 持久化数据存储在本地的文件名称 默认:dump.rdb
dbfilename dump.rdb
# 持久化数据存储在本地的路径,默认:./(当前工作目录)
dir /data

# 用于设置RDB持久化的时间间隔和条件
## 表示每900秒内有至少1个写操作就保存一次RDB文件
save 900 1
## 表示每300秒内有至少10个写操作就保存一次RDB文件
save 300 10
## 表示每10秒内有至少1000个写操作就保存一次RDB文件
save 60 10000

# 当RDB持久化时出现错误无法继续时,是否阻塞客户端变更操作,错误可能因为磁盘已满/磁盘故障/OS级别异常等 默认:yes
stop-writes-on-bgsave-error yes  
# 是否启用RDB文件压缩,默认: yes,压缩往往意味着额外的cpu消耗,同时也意味这较小的文件尺寸以及较短的网络传输时间  
rdbcompression yes  

AOF增量持久化配置

# 是否开启AOP 默认:no
appendonly yes  

# 指定AOF文件名称  
appendfilename appendonly.aof  

# 用于设置AOF文件的同步策略 默认:everysec
## 可以选择"always"、"everysec"或"no"。always表示每次写入都同步,everysec表示每秒同步一次,no表示由操作系统决定何时同步
appendfsync everysec  

# 用于设置自动AOF重写的阈值。当AOF文件的扩展比例超过该值时,Redis会自动执行重写操作。默认值为100,表示当AOF文件的大小是上一次重写后大小的一倍时触发重写。  
auto-aof-rewrite-percentage 100  

# 用于设置自动AOF重写的最小大小。只有在AOF文件的大小大于该值时,才会执行重写操作。默认值为64MB,建议512mb
auto-aof-rewrite-min-size 64mb  

# 用于设置在执行AOF文件重写时是否禁用同步。如果设置为yes,则在进行重写时不会进行同步操作,默认:no
no-appendfsync-on-rewrite no  

# 用于设置在加载AOF文件时是否允许Redis忽略出现错误的命令。如果设置为"yes",则忽略错误;如果设置为"no",则不允许加载出现错误的AOF文件。默认:yes
aof-load-truncated yes

# 用于设置AOF文件的开头是否包含RDB格式的部分。如果设置为"yes",则在AOF文件的开头会先保存一份RDB格式的数据,这有助于加速数据加载。默认:no
aof-use-rdb-preamble no

Redis 过期key监听配置

# key过期监听 默认:""(关闭),将notify-keyspace-events设置为Ex代表开启
notify-keyspace-events Ex

主从部署

复制一个配置文件,修改相应的差异化参数,如数据目录、pid文件、log文件等等

port 63791
requirepass 123456
## 主节点地址
replicaof 127.0.0.1 63790
## 主节点登录密码 
masterauth new2020

启动从节点

 bin/bin/redis-server /data/dba/yanhao/redis/redis1/redis_63791.conf &

测试

连接到主节点,
set test aaa
再到从节点验证

登录到从节点,执行info命令

info

登录到主节点,执行info命令

info

哨兵模式部署(1主、1从、3哨兵)

配置文件

解压编译出来的redis文件夹中copy一个出来

cp sentinel.conf /data/dba/yanhao/redis/redis1/

## 创建相应的配置文件,
## 启动sentinel节点
bin/bin/redis-server /data/dba/yanhao/redis/redis1/sentinel_63792.conf --sentinel &

只需要考虑这些参数,sentinel节点配置文件与主从的配置文件不一样

daemonize的值从no设置为yes
##pidfile /usr/local/redis/run/redis-sentinel.pid
##logfile "/usr/local/redis/logs/redis-sentinel.log"
## dir /usr/local/redis/tmp
##设置redis主机IP地址,端口,选举次数
sentinel monitor mymaster 127.0.0.1 63790 2     
## 设置redis主机访问密码  
sentinel auth-pass mymaster 123456       
## 心跳检测8000毫秒,如果主机8秒内没有响应,就会在从机开始选举         
sentinel down-after-milliseconds mymaster 8000     
## 执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步   
sentinel parallel-syncs mymaster 1        

启动sentinel节点

 printf '%s\n' 2 3 4 | xargs -I{} -t ./redis-server /data/dba/yanhao/redis/redis1/sentinel_6379{}.conf --sentinel &

关闭节点

printf '%s\n' 63792 63793 63794 | xargs -I{} -t  ./redis-cli -h 127.0.0.1 -p {} -a 123456 shutdown

查看信息,是否配置ok

info
## 看sentinel数量和slave数量

集群模式部署

部署

配置文件

/data/dba/yanhao/redis/cluster/node1/redis.conf
....
/data/dba/yanhao/redis/cluster/node6/redis.conf
daemonize yes
bind 127.0.0.1
protected-mode yes
port 10000
timeout 0
tcp-keepalive 0
maxclients 10000
loglevel notice
## 日志文件输出路径配置
## 该路径默认为空。可以根据自己需要把日志文件输出到指定位置。
logfile ""
## 数据库数量配置 默认:16
databases 16
## 连接密码配置 默认无密码
requirepass 123456
## 配置data目录
dir /data/dba/yanhao/redis/cluster/node1/data


## 集群参数配置
cluster-enabled yes
cluster-config-file /data/dba/yanhao/redis/cluster/node1/nodes.conf
masterauth 123456

一键启动多个redis

 printf '%s\n' 1 2 3 4 5 6 | xargs -I{} -t ./redis-server /data/dba/yanhao/redis/cluster/node{}/redis.conf &

查看集群节点配置文件

printf '%s\n' 1 2 3 4 5 6 | xargs -I{} -t cat  /data/dba/yanhao/redis/cluster/node{}/nodes.conf

关闭节点

printf '%s\n' 10000 10001 10002 10003 10004 10005 | xargs -I{} -t  ./redis-cli -h 127.0.0.1 -p {} -a 123456 shutdown

创建集群

./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster create --cluster-replicas 1 127.0.0.1:10000 127.0.0.1:10001 127.0.0.1:10002 127.0.0.1:10003 127.0.0.1:10004 127.0.0.1:10005

槽迁移、添加删除节点

启动两个节点

1. 按照上文步骤,创建两个节点的配置文件以及目录
2. 启动

添加主节点

## 第一个ip是要添加的节点ip:端口号,第二个ip为集群中任意一个机器ip:端口号

./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster add-node 127.0.0.1:10006 127.0.0.1:10000

## reshard新增的主节点分配槽
./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster reshard 127.0.0.1:10006
## 输入yes
## 输入槽的数量

添加从节点

## 跟上述步骤一样,需要先将节点添加到集群中
./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster add-node 127.0.0.1:10007 127.0.0.1:10000

## 登入新增加的节点
./redis-cli -h 127.0.0.1 -p 10007 -a 123456
## 为其指定出节点,0b68705276db5d11e7e9133ab5f87dff855dfe3a为增加的主节点10006的id
CLUSTER REPLICATE 0b68705276db5d11e7e9133ab5f87dff855dfe3a

删除主节点

  1. 迁移槽位,删除节点之前需将其槽位迁移到其他主节点
## 如:要将10006节点上的槽位迁移到10000节点上
./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster reshard 127.0.0.1:10000
## 选择迁移的槽位
## 输入接收节点id
## 输入源节点id

  1. 删除主节点
## 集群中任意机器ip:端口,要删除的主节点id
./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster del-node 127.0.0.1:10000  0b68705276db5d11e7e9133ab5f87dff855dfe3a
  1. 删除从节点
./redis-cli -h 127.0.0.1 -p 10000 -a 123456 --cluster del-node 127.0.0.1:10007  59c9722e1bb45c6b2bc57988991666a5c323c5ab

报错及解决

  • (error) MOVED 4768 127.0.0.1:10000

启动redis-cli客户端时没加-c参数

./redis-cli -h 127.0.0.1 -p 10003 -a 123456 -c

总结

其实无论是mysql、mongo或者redis也好,安装的要点就在于data目录、存放二进制文件目录以及配置文件的创建以及授权。如mysql主要是mysql目录(解压出来的带有二进制文件的目录)、data目录(存放数据的)、my.cnf(mysql配置文件),在mysql中这些文件的都需要将所有者和所有组都改成mysql,如果有其他文件需要生成,则文件的父目录需要mysql能够读写。

  1. 配置文件参考 https://blog.csdn.net/weixin_44606481/article/details/133949570

  2. redis单实例安装参考 https://www.cnblogs.com/ShineLeBlog/p/17622001.html

  3. 主从配置参考 https://cloud.tencent.com/developer/article/1707104

  4. 集群搭建参考https://blog.csdn.net/weixin_44642403/article/details/118885921

标签:5.0,127.0,##,Redis,redis,data,0.1,安装,节点
From: https://www.cnblogs.com/tyhA-nobody/p/18470284

相关文章

  • Redis 数据导入导出
    方式一:redis-dump前置安装redis-dumphttps://blog.csdn.net/zhanaolu4821/article/details/103684237数据导出##-uuri##-a密码##-ddatabase##导出所有库/usr/local/bin/redis-dump-u127.0.0.1:63790-a123456>/data/dba/yanhao/test/testredis.json##导......
  • 基于Eclipse的ABAP程序开发---系统安装、配置(转载)
    这几天运维过程中遇到了以前外部顾问写的CDS视图,乍一看有点懵,于是开始着手自学。我打算将自己学习过程中的心得和需要记录下来的问题写在这部分博客里。系统准备阶段1.Eclipse、Java环境的安装和配置;(具体安装过程网上很多,这里不再赘述)我的Eclipse版本:2024-06(4.32.0) AD......
  • 矢量图形处理软件Adobe Illustrator (Ai) 下载安装(附win/mac安装包)
    目录一、软件简介主要功能应用领域二、系统要求Windows系统要求macOS系统要求三、安装步骤1.获取安装包2.安装软件3.配置与启动一、软件简介AdobeIllustrator,简称Ai,是一款由Adobe公司开发的矢量图形处理软件。它广泛应用于出版、多媒体和在线图像的各个领......
  • jdk1.6,jdk1.7,jdk1.8安装共存问题
    1.今天遇到了需要编辑开发公司老项目的情况,之前本人电脑就装了1.6和1.8的jdk,现在老项目优需要安装jdk1.7运行,便有了这个问题,再次记录下2.首先需要安装对应的jdk,以及环境变量,我这里只展示三者共存的环境变量设置,其余单一的配置环境变量,网上都有就不在此啰嗦了3.用JAVA_H......
  • windows下安装rabbitmq
    下载软件rabbit是是使用erlang语言编写的,因此需要下载ERLANG,注意rabbitmq的版本和ERLANG的兼容性我们现在erlang26.2的版本https://www.erlang.org/patches/otp-26.2rabbitmq使用3.13.6版本安装软件最好先关掉360等杀毒软件先安装erlang安装路径不要有中文......
  • 【LRC2024】桌面图像编辑和管理软件和安装步骤(附百度云安装包)
    目录一、软件简介1.软件概述2.主要功能二、系统要求1.最低系统要求2.推荐系统要求三、安装步骤1.获取安装包2.运行安装程序Windows系统Mac系统3.完成安装Windows系统Mac系统一、软件简介1.软件概述AdobeLightroomClassic(简称LRC)是一款专为数码摄......
  • 【k8s】基于k8s安装高可用HPA扩展
    基于k8s安装高可用HPA扩展最近在部署k8s集群的时候有个需求,需要容器能够弹性扩展,如果资源达到一定程序,能够自动新建容器和销毁容器释放资源,这时候就想到了HPA能够实现这个功能,通过metrics-server来监控容器资源的使用情况,根据实际业务系统是否需要扩展定好规则从而到达自动......
  • OpenEuler 软件安装与服务管理全攻略
        在OpenEuler操作系统的日常使用中,软件安装和服务管理是至关重要的操作环节。本文将以严谨的方式为大家详细阐述OpenEuler中安装软件的多种方法,涵盖RPM、DNF的概念与操作命令以及操作实验,同时还包括源代码软件的安装方法和使用systemd进行服务管理的内容。......
  • vbox7安装winxp
    用当前版本的virtualbox安装xp一直是个问题,装着装着就没响应了,进度条挂在那,看着动其实不动,参数也试着调了调,可反复试还是不成了,一度认为试兼容问题,好几次需用到xp系统时愣是卡在那,4-7的版本都试了试,不成,今日偶然间撞成了,设置需满足三个条件:1.cpu只能选单核,超出一个就会卡在安装进......
  • vue脚手架的安装
    1.安装vscode2.安装node3.换淘宝源npmconfigsetregistryhttps://registry.npmmirror.com4.安装vue和vue脚手架npminstallvuenpminstall-g@vue/cli5.新建文件夹,创建一个项目vuecreatemy_project6.把这个文件夹拖入vscode中。打开项目7.ctrl+~打开控制......