背景
很多小伙伴在学习redis的时候都只在windows上搭建过redis,然后工作之后也只是在应用redis。那么redis在Linux上如何搭建呢?集群如何搭建呢?本文不讲原理,只讲实际操作。真的很简单。
环境
- Linux-Ubuntu 20.04.6 LTS x86_64
- Redis 6.2.6
准备工作
1、下载redis
https://redis.io/download/
英语好的可以直接找历史版本下载,英语不好的直接页面翻译。现在学编程对英语不好的人很友好。
然后选择6.2.6版本
2、Linux-Ubuntu 安装 Redis
进入Linux中你想要安装的目录
cd myspace/
创建文件夹
mkdir redis
进入创建的文件夹
cd myspace/redis
将第一步复制的链接通过下载
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
解压Redis压缩包
tar -zxvf redis-6.2.6.tar.gz
解压出来的文件为 redis-6.2.6
进入文件夹中
cd redis-6.2.6
安装make编译(注:如果您的服务器中已经有make编译器,这一步请忽略,因为redis源码是C语言编写的,所以编译需要C语言编译器)
sudo apt-get update
sudo apt-get install make
编译Redis(这一步编译时间较长,请耐心等待)
sudo make
## 如果失败 请先执行
sudo make MALLOC=libc
## 在执行
sudo make
然后测试是否编译成功(这一步运行时间也很长,请耐心等待)
sudo make test
安装Redis
sudo make install
大功告成,这样子你的redis就在你的Ubuntu中就算配置全部完成了。
以上步骤执行完毕之后你就会在你的文件夹中发现两个文件 redis-server redis-cli 这就是你安装好的应用。
- redis-server 就是你要启动的玩意儿。
- server-cli 是你的服务启动起来之后登录的工具。
配置Redis.conf
这下你的redis的文件夹中就只有三个有用文件
- redis-server
- server-cli
- redis.conf
保留这三个文件其他的都可以全部删除。
其中redis.conf文件就是你redis-server玩意儿启动的配置文件。
创建六个文件夹 分别为
mkdir redis-node1
以此类推
- redis-node1
- redis-node2
- redis-node3
- redis-node4
- redis-node5
- redis-node6
初学者不用看网上的配置,想要优化或者实际应用到redis的某些细节可以好好的看看配置。一般企业中redis的配置以下就足够了。 注:我就直接用集群的配置文件做演示。
# 服务端启动的端口
port 9011
# 绑定的 IP 地址,0.0.0.0 表示监听所有网络接口
bind 0.0.0.0
# RDB 持久化设置
# 在 900 秒(15 分钟)内,如果至少有 1 个 key 发生了变化,就执行一次 RDB 持久化
save 900 1
# 在 300 秒(5 分钟)内,如果至少有 10 个 key 发生了变化,就执行一次 RDB 持久化
save 300 10
# 在 60 秒内,如果至少有 10000 个 key 发生了变化,就执行一次 RDB 持久化
save 60 10000
# 如果执行 RDB 持久化时出现错误,停止写入操作
stop-writes-on-bgsave-error yes
# 启用 RDB 文件压缩
rdbcompression yes
# 启用 RDB 文件检验和
rdbchecksum yes
# 启用集群模式
cluster-enabled yes
# 主节点的密码验证
masterauth 11111
# 集群的密码验证
requirepass 11111
# 集群配置中向其他节点广播的 IP 地址
cluster-announce-ip 11.11.32.12
# 集群配置中向其他节点广播的端口
cluster-announce-port 9011
# 以守护进程(后台)方式运行 Redis
daemonize yes
# 在配置文件中指定主节点配置
# replicaof no one
# 从节点可以直接指定主键点的ip 和 端口
# replicaof 127.0.0.1 6379
启动redis的六个节点
启动命令
/redis-server redis-node1.conf
如果需要自定义主从节点
# 主节点
redis-server --slaveof no one
# 从节点 直接指定主节点的 ip和端口
redis-server --slaveof 127.0.0.1 6379
以此类推分别启动其他五个节点。
检测是否启动成功
检测命令
ps -ef | grep redis-server
查看是否启动成功
集群连接
集群连接命令。
redis-cli -a "111111" --cluster create 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006 --cluster-replicas 1
其他问题
解决重启redis集群问题。
1、全部停止所有集群
2、删除 appendonly.aof 和 dump.rdb
3、删除所有节点的cluster-config-file
4、重新启动