2023年7月26日发(作者:)
在三台服务器,搭建redis三主三从集群⼀、资源准备1、准备三台服务器H1、H2、H3172.26.237.83 H1172.26.237.84 H2172.26.237.85 H3
⼆、配置服务器1、在H1服务器设置SSH免密登录;在H1⽣成RSA公钥和私钥(在H1操作)(1)执⾏ssh-keygen -t rsa命令(2)进⼊⽣成密钥所在的⽂件⽬录cd /root/.ssh/(3)将公钥(名为id_⽂件)追加到认证⽂件(名为authorized_keys⽂件),先后执⾏以下指令:ssh-copy-id 172.26.237.83ssh-copy-id 172.26.237.84ssh-copy-id 172.26.237.85
(注意:这⾥的IP是H1、H2、H3内⽹IP,执⾏后需要输⼊yes和服务器密码)
2、配置域名解析⽂件(负责将主机名称映射到相应的IP地址)(1)在root⽬录创建env⽬录,并进⼊env⽬录下执⾏以下命令cat > /root/env/ <
3、在各个节点下载安装redis安装包(1)创建/root/soft⽬录mkdir -p /root/soft(2)下载安装包、解压、并进⾏编译cd /root/soft# 下载wget /releases/# 解压tar -zxvf # cd redis-5.0.5 进⾏编译make
4、指定配置⽂件(1)创建/root/soft/7000⽬录与/root/soft/7001⽬录cd /root/soft/mkdir 7000cd /root/soft/mkdir 7001(2)将之前创建的源配置⽂件拷贝到7000和7001⽬录下cd /root/envcp -R /root/soft/7000/ -R /root/soft/7001/(3)分别进⼊7000和7001⽬录,修改配置(修改成对应的端⼝),并检查⽂件路径是否正确(4)启动redis-server服务cd redis-5.0.5./src/redis-server ../7000/./src/redis-server ../70001/启动redis-server需要注意,守护进程需要打开,不然启动的时候是不成功的(5)检查是否启动成功ps -ef |grep redis5、创建集群(在H1操作)三主三从架构说明三台服务器,启动6个实例,形成三主三从,其中存储相同数据的主从节点不能落在同⼀台机器上,⽬的是防⽌部署redis的虚拟机宕机从⽽造成主从节点全部失效。实验机器的地址与端⼝如下:172.26.237.83 7000 7001172.26.237.84 7000 7001172.26.237.85 7000 7001
为了使⽤主从节点不落在同⼀台机器上使⽤如下命令:每台ip+port交叉(没有找到命令指定主从节点的关系的⽅法).在⽬录下redis-5.0.5 执⾏./src/redis-cli --cluster create --cluster-replicas 1 172.26.237.83:7000 172.26.237.84:7001 172.26.237.84:7000 172.26.237.85:7001 172.26.237.85:7000 172.26.237.83:7001# 根据提⽰输⼊yes集群创建成功,如下图:
6、测试(1)cd /root/soft/redis-5.0.5(2)进⼊redis客户端 ./src/redis-cli -c -h H1 -p 7000(3)输⼊cluster info 查看集群健康状态(4)输⼊cluster nodes 查看节点健康状态
三、搭建过程遇过的异常1、配置⽂件的保护模式没有修改成no(1)配置⽂件修改前port 7000cluster-enabled yesdir /root/soft/7000cluster-config-file dfile /root/soft/7000/file /root/soft/7000/endonly yesdaemonize yes 抛出异常如下-->[ERR] Node 172.26.237.83:7000 DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted fro 修改后配置⽂件,将保护模式修改成no;(protected-mode no)port 7000cluster-enabled yesdir /root/soft/7000cluster-config-file dfile /root/soft/7000/file /root/soft/7000/endonly yesdaemonize yesprotected-mode no
2、redis配置了密码,创建集群的时候没有输⼊密码,也会报错(1)配置⽂件如下:bind 172.26.237.83port 7000cluster-enabled yesdir /root/soft/7000cluster-config-file dfile /root/soft/7000/file /root/soft/7000/endonly yesdaemonize yesprotected-mode yesrequirepass 注意:绑定地址、保护模式设置为yes,密码最好⼀起设置!!创建集群报错前的命令:./src/redis-cli --cluster create --cluster-replicas 1 172.26.237.83:7000 172.26.237.84:7001 172.26.237.84:7000 172.26.237.85:7001 172.26.237.85:7000 172.26.237.83:7001报错如下-->[ERR] Node 172.26.237.83:7000 NOAUTH Authentication required.
修改后的命令:./src/redis-cli --cluster create --cluster-replicas 1 172.26.237.83:7000 172.26.237.84:7001 172.26.237.84:7000 172.26.237.85:7001 172.26.237.85:7000 172.26.237.83:7001 -a
3。如果服务器开启了防⽕墙,需要开放对应的端⼝在防⽕墙中对端⼝ 7000 7001开放:firewall-cmd --zone=public --add-port=7000/tcp --permanentfirewall-cmd --zone=public --add-port=7001/tcp --permanentfirewall-cmd --reload
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690377503a340404.html
评论列表(0条)