网站建设培训哪个好,域名免费注册0元注册,前端一般怎样做网站,专业做刀具网站的公司1. 操作环境与升级思路
先安装新的版本新版本设置主从备份#xff0c;将老版本与新版本的数据进行同步新启动一个服务#xff0c;连接新版本redis#xff0c;切换到新服务#xff0c;关闭主从备份kill 老服务, 卸载老版本redis
因为我需要 RedisSearch 所以直接安装 Redi…1. 操作环境与升级思路
先安装新的版本新版本设置主从备份将老版本与新版本的数据进行同步新启动一个服务连接新版本redis切换到新服务关闭主从备份kill 老服务, 卸载老版本redis
因为我需要 RedisSearch 所以直接安装 Redis Stack Server Redis Stack Server 由 RedisRedisSearchRedisJSONRedisGraphRedisTimeSeries 和 RedisBloom 组成1
2 ubuntu 操作步骤
安装环境
lsb_release -a
# Distributor ID: Ubuntu
# Description: Ubuntu 20.04.1 LTS
# Release: 20.04
# Codename: focal安装版本 redis-stack-server-7.2.0-v5
2.1 安装新的版本2
参考的是官方文档
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
echo deb [signed-by/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis-stack-server2.2 新版本设置主从备份将老版本与新版本的数据进行同步
将老版本的数据同步到新版本因为是一次性的所以直接命令行操作就行。
配置文件在 /opt/redis-stack/etc/redis-stack.conf如果需要修改端口就修改这个文件就可以具体参考官方详细示例 我的配置内容如下
port 6380
daemonize yes
requirepass password修改 redis-stack-server 命令将最后的启动参数 --daemonize no 注释掉如下
........省略上面的内容
echo Starting redis-stack-server, database path ${REDIS_DATA_DIR}
# 注释掉 daemonize 参数
# --daemonize no \
${CMD} \
${CONFFILE} \
--dir ${REDIS_DATA_DIR} \
--protected-mode no \
--loadmodule ${MODULEDIR}/rediscompat.so \
--loadmodule ${MODULEDIR}/redisearch.so ${REDISEARCH_ARGS} \
--loadmodule ${MODULEDIR}/redistimeseries.so ${REDISTIMESERIES_ARGS} \
--loadmodule ${MODULEDIR}/rejson.so ${REDISJSON_ARGS} \
--loadmodule ${MODULEDIR}/redisbloom.so ${REDISBLOOM_ARGS} \
--loadmodule ${MODULEDIR}/redisgears.so v8-plugin-path ${MODULEDIR}/libredisgears_v8_plugin.so ${REDISGEARS_ARGS} \
$*启动并开启主从同步3
# 启动 redis
redis-stack-server
# 连接 redis
redis-cli -h localhost -p 6780 -a password
# 在redis-cli 命令行窗口里面执行
# 设置主从备份
REPLICAOF host port
# 如果 master 开启了密码设置一下masterauth 参数
config set masterauth password22.3 新启动一个服务连接新版本redis切换到新服务关闭主从备份
我的服务是 Java 启动的所以修改一下配置文件重新启动一个新服务就可以
# 开启新服务
nohup java -jar project.jar --spring.profiles.activeprod-stage /dev/null 21
# nginx 切换请求到新服务修改配置文件重载nginx
nginx -s reload
# 关闭主从备份否则新版本redis是仅读状态
redis-cli -h localhost -p 6780 -a password
# 在redis-cli 命令行窗口里面执行
REPLICAOF NO ONE2.4 kill 老服务, 卸载老版本redis
# 查找就服务的 进程号
ps -ef|grep project.jar
# 干掉老服务
kill -9 old_pid
# 卸载老版本 redis
apt remove redis-server3 centos 操作步骤
3.1 安装新版本
创建文件 /etc/yum.repos.d/redis.repo内容如下
[Redis]
nameRedis
baseurlhttp://packages.redis.io/rpm/rhel7
enabled1
gpgcheck1执行命令
curl -fsSL https://packages.redis.io/gpg /tmp/redis.key
sudo rpm --import /tmp/redis.key
sudo yum install epel-release
sudo yum install redis-stack-server3.2 接下来的步骤与 Ubuntu 的剩下步骤时一样的
4. 遇见的问题
在执行 sudo yum install epel-release 遇见错误4 CentOS Linux 8 - AppStream 184 B/s | 38 B 00:00 Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist The command ‘/bin/sh -c yum install java -y’ returned a non-zero code: 1 解决方案
cd /etc/yum.repos.d/
sudo sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-*
sudo sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-*
sudo yum update -y在centos启动redis时遇见如下错误5 WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. 执行 sysctl vm.overcommit_memory1 即可 在centos启动redis时遇见如下错误6 libssl.so.10: cannot open shared object file: No such file or directory 执行命令 yum install compat-openssl10 即可 Redis Stack 的那些事儿 ↩︎ Install Redis Stack on Linux ↩︎ Redis主从复制的配置和实现原理 ↩︎ Error: Failed to download metadata for repo ‘appstream’ ↩︎ Redis: Warning Memory overcommit must be enabled ↩︎ libssl.so.10: cannot open shared object file: No such file or directory ↩︎