步骤:
搭建 Redis 三主三从的步骤如下:
- 安装 Redis:在每台服务器上安装 Redis。可以通过源码编译安装、使用包管理工具(如apt、yum)安装或下载预编译的二进制文件进行安装。
- 配置主服务器:选择其中一台服务器作为主服务器,在其配置文件(redis.conf)中进行如下配置:
- 设置bind参数,指定主服务器的IP地址;
- 设置port参数,指定主服务器的端口号;
- 设置daemonize参数为yes,以后台运行 Redis;
- 设置requirepass参数,指定主服务器的密码。
- 配置从服务器:在剩下的服务器上作为从服务器,在其配置文件(redis.conf)中进行如下配置:
- 设置bind参数,指定从服务器的IP服务器托管网地址;
- 设置port参数,指定从服务器的端口号;
- 设置daemonize参数为yes,以后台运行 Redis;
- 设置requirepass参数,指定从服务器的密码;
- 设置masterauth参数,指定主服务器的密码;
- 设置slaveof参数,指定主服务器的IP地址和端口号。
- 启动 Redis:在每台服务器上启动 Redis 服务,可以使用redis-server命令启动。
- 验证主从关系:在主服务器上执行info replication命令,查看主从复制的状态。如果显示有从服务器连接到主服务器,并且状态为up,则表示主从关系建立成功。
- 测试主从复制:在主服务器上设置一个键值对,然后在从服务器上验证是否复制成功。可以使用set和get命令进行测试。
- 配置持久化:在主服务器和从服务器的配置文件中,设置RDB和AOF持久化方式。可以选择使用RDB方式、AOF方式、或者两者同时使用。
- 处理故障情况:如果主服务器宕机,从服务器中的一台可以自动切换为主服务器。可以在从服务器的配置文件中设置slave-priority参数,指定优先级,以确定哪台从服务器将成为新的主服务器。
相关的脚本:
mkdir -p /home/opt/redis-cluster
mkdir -p /home/opt/redis-cluster/node-6379
mkdir -p /home/opt/redis-cluster/node-6479
mkdir -p /home/opt/redis-cluster/node-6379/conf
mkdir -p /home/opt/redis-clust服务器托管网er/node-6379/data
mkdir -p /home/opt/redis-cluster/node-6379/log
mkdir -p /home/opt/redis-cluster/node-6379/run
mkdir -p /home/opt/redis-cluster/node-6479/conf
mkdir -p /home/opt/redis-cluster/node-6479/data
mkdir -p /home/opt/redis-cluster/node-6479/log
mkdir -p /home/opt/redis-cluster/node-6479/run
for i in 1 2 ;do
cp -r /home/opt/redis-6.2.5/redis.conf /home/opt/redis-cluster/node-6379/conf/
cp -r /home/opt/redis-6.2.5/redis.conf /home/opt/redis-cluster/node-6479/conf/
port 27001
bind 192.168.19.161
daemonize yes
pidfile /home/opt/redis-cluster/node-27001/run/redis.pid
logfile "/home/opt/redis-cluster/node-27001/log/stdout.pid"
dir /home/opt/redis-cluster/node-27001/data
cluster-enabled yes
cluster-config-file nodes_27001.conf
cluster-node-timeout 15000
appendonly yes
masterauth
requirepass demo12345678
#bind 127.0.0.1 -::1
port 6479
bind 198.10.51.100
daemonize yes
pidfile /home/opt/redis-cluster/node-6479/run/redis.pid
logfile "/home/opt/redis-cluster/node-6479/log/stdout.pid"
dir /home/opt/redis-cluster/node-6479/data
cluster-enabled yes
cluster-config-file nodes_6479.conf
cluster-node-timeout 15000
appendonly yes
masterauth
requirepass demo12345678
#bind 127.0.0.1 -::1
#!/bin/bash
#创建目录
for host_name in app162 app163
do
ssh -t root@${host_name} 'mkdir -p /home/opt/redis-6.2.5/'
done
#拷贝文件
for host_name in app162 app163
do
scp -r /home/opt/redis-cluster/* root@${host_name}:/home/opt/redis-cluster/
scp -r /home/opt/redis-6.2.5/* root@${host_name}:/home/opt/redis-6.2.5/
done
scp -r /home/opt/redis-cluster/* root@198.10.51.101:/home/opt/redis-cluster/
vi /home/opt/redis-cluster/node-6379/conf/redis.conf
vi /home/opt/redis-cluster/node-6379/conf/redis.conf
#!/bin/bash
for host_name in app161 app162 app163
do
ssh -t learn@${host_name} '/home/opt/redis-6.2.5/bin/redis-server /home/opt/redis-cluster/node-6379/conf/redis.conf ;
/home/opt/redis-6.2.5/bin/redis-server /home/opt/redis-cluster/node-6479/conf/redis.conf'
done
/home/opt/redis-6.2.5/bin/redis-server /home/opt/redis-cluster/node-6379/conf/redis.conf ;
/home/opt/redis-6.2.5/bin/redis-server /home/opt/redis-cluster/node-6479/conf/redis.conf
/home/opt/redis-6.2.5/bin/redis-server /home/opt/redis-cluster/node-6379/conf/redis.conf
/home/opt/redis-6.2.5/bin/redis-server /home/opt/redis-cluster/node-6479/conf/redis.conf
/home/opt/redis-6.2.5/bin/redis-cli -a demo12345678 --cluster create 198.10.51.100:6379 198.10.51.100:6479 198.10.51.101:6379 198.10.51.101:6479 198.10.51.102:6379 198.10.51.102:6479 --cluster-replicas 1
/home/opt/redis-6.2.5/bin/redis-cli -h 198.10.5.100 -p 6379 -a demo12345678 -c
/home/opt/redis-6.2.5/bin/redis-cli -h 198.10.5.100 -p 6379 -a demo12345678 cluster info
/home/opt/redis-6.2.5/bin/redis-cli -h 198.10.5.100 -p 6379 -a demo12345678 -c
/home/opt/redis-6.2.5/bin/redis-cli -h 198.10.5.101 -p 6379 -a demo12345678 -c
参考资料:
1.https://blog.csdn.net/zhangbeizhen18/article/details/131097115?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-131097115-blog-103408425.235%5Ev40%5Epc_relevant_anti_vip_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-131097115-blog-103408425.235%5Ev40%5Epc_relevant_anti_vip_base&utm_relevant_index=2
2.https://blog.51cto.com/u_16099249/6349361
3.https://blog.csdn.net/zczzsq/article/details/8162339
4.https://blog.csdn.net/weixin_51468875/article/details/114269711
可能遇到的问题:
1.权限问题
报XXX文件不够 直接 chmod a+x 文件名即可
2.集群通信问题
firewall-cmd –permanent –zone=trusted –add-source=198.10.51.0/24
firewall-cmd –reload
3.[ERR] Node 192.168.117.134:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
删除对应数据节点的文件数据即可。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 【强化学习】12 —— 策略梯度(REINFORCE )
文章目录 前言 策略梯度 基于策略的强化学习的优缺点 Example:Aliased Gridworld 策略目标函数 策略优化 策略梯度 利用有限差分计算策略梯度 得分函数和似然比 策略梯度定理 蒙特卡洛策略梯度(Monte-Carlo Policy Gra…