安装Redis6.2.7主从哨兵集群教程 |
您所在的位置:网站首页 › sentinel端口 › 安装Redis6.2.7主从哨兵集群教程 |
一、环境描述
部署模式为1主2从3哨兵,对应的机器如下 操作系统 IP地址 主从分配 端口 安装服务(可任选) 安装地址 CentOS 7.9 1.0.0.11 主 10010 redis-6.2.7.tar.gz /opt/software/redis CentOS 7.9 1.0.0.11 哨兵1 10086 redis-6.2.7.tar.gz /opt/software/redis CentOS 7.9 1.0.0.12 从 10010 redis-6.2.7.tar.gz /opt/software/redis CentOS 7.9 1.0.0.12 哨兵2 10086 redis-6.2.7.tar.gz /opt/software/redis CentOS 7.9 1.0.0.13 从2 10010 redis-6.2.7.tar.gz /opt/software/redis CentOS 7.9 1.0.0.13 哨兵3 10086 redis-6.2.7.tar.gz /opt/software/redis 二、下载Redis1、将Redis包先下载到本地 下载地址:https://download.redis.io/releases/redis-6.2.7.tar.gz 2、上传至Linux服务器
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录 # 复制redis配置文件 cp /opt/package/redis-6.2.7/redis.conf /opt/software/redis/bin/ # 新建redis日志目录 mkdir -p /data/redis-logs/ # 新建redis日志空文件 echo "" > /data/redis-logs/redis_error.log 1、编辑主节点 redis.conf 配置文件(1.0.0.11) # 进入redis目录下 cd /opt/software/redis/bin/ # 编辑redis配置文件 vim redis.conf修改内容 # 绑定为本机IP地址或者0.0.0.0都可访问 由 bind 127.0.0.1 修改成: bind 0.0.0.0 # 注意,此处不要采用默认地址 由 port 6379 修改成: port 10010 # 修改成后台进程启动 由 daemonize no 修改成: daemonize yes # 配置日志路径 由 logfile "" 修改成: logfile "/data/redis-logs/redis_error.log" #关闭保护模式(此配置很重要,不配置将无法实现主从切换) 由 protected-mode yes 修改成: protected-mode no # 以下配置主从节点密码,追加在最后即可 # 由# requirepass foobared 去掉#修改成:requirepass redis@2023 # 配置主节点的密码,哨兵容灾切换使用 masterauth redis@2023 # 配置从节点密码 requirepass redis@2023 # 以下配置追加在配置文件后面,防止运维误操作这些不安全的命令 # 禁用命令 rename-command KEYS "" rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" 2、编辑从节点 redis.conf 配置文件(1.0.0.12、1.0.0.13) # 进入redis目录下 cd /opt/software/redis/bin/ # 编辑redis配置文件 vim redis.conf修改内容 # 绑定为本机IP地址或者0.0.0.0都可访问 由 bind 127.0.0.1 修改成: bind 0.0.0.0 # 注意,此处不要采用默认地址 由 port 6379 修改成: port 10010 # 修改成后台进程启动 由 daemonize no 修改成: daemonize yes # 配置日志路径 由 logfile "" 修改成: logfile "/data/redis-logs/redis_error.log" #关闭保护模式(此配置很重要,不配置将无法实现主从切换) 由 protected-mode yes 修改成: protected-mode no # 以下配置主从节点密码,追加在最后即可 # 由requirepass foobared 去掉#修改成:requirepass redis@2023 # 配置主节点的密码,哨兵容灾切换使用 masterauth redis@2023 # 配置从节点密码 requirepass redis@2023 # 以下配置主节点ip、端口,追加在最后即可 # 主节点ip、端口 slaveof 1.0.0.11 10010 # 以下配置追加在配置文件后面,防止运维误操作这些不安全的命令 # 禁用命令 rename-command KEYS "" rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" 3、配置 sentinel 哨兵服务从 redis 的源码目录中复制 sentinel.conf 到 redis 的安装目录 # 复制redis配置文件 cp /opt/package/redis-6.2.7/sentinel.conf /opt/software/redis/bin/ # 新建redis日志目录 mkdir -p /data/redis-logs/ # 新建redis日志目录 echo "" > /data/redis-logs/sentinel_error.log 1、编辑哨兵 sentinel.conf 配置文件(1.0.0.11、1.0.0.12、1.0.0.13) # 进入redis目录下 cd /opt/software/redis/bin/ # 编辑redis配置文件 vim sentinel.conf修改内容 # 注意,此处不要采用默认地址 由 port 26379 修改成: port 10086 #关闭保护模式(此配置很重要,不配置将无法实现主从切换) 由 #protected-mode no 去掉修改成: protected-mode no # 修改成后台进程启动 由 daemonize no 修改成: daemonize yes # 配置日志路径 由 logfile "" 修改成: logfile "/data/redis-logs/sentinel_error.log" # 监控主节点的ip与端口(注意最后2不变) 由 sentinel monitor mymaster 127.0.0.1 6379 2 修改成:sentinel monitor mymaster 1.0.0.11 10010 2 # master 密码 由 # sentinel auth-pass mymaster MySUPER--secret-0123passw0rd 修改成:sentinel auth-pass mymaster redis@2023 4、配置环境变量 # 修改配置文件 vim /etc/profile # 在最后面加入 export REDIS_HOME=/opt/software/redis export PATH=$PATH:$REDIS_HOME/bin # 使配置文件立即生效 source /etc/profile 5、设置开机启动 1、添加开机启动redis服务 vim /etc/systemd/system/redis.service复制粘贴以下内容 [Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/opt/software/redis/bin/redis-server /opt/software/redis/bin/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target注意:ExecStart配置成自己的路径 redis服务操作命令 # 启动redis服务 service redis start systemctl start redis.service # 停止redis服务 service redis stop systemctl stop redis.service # 重新启动服务 service redis restart systemctl restart redis.service # 查看服务当前状态 service redis status systemctl status redis.service # 设置开机自启动 systemctl enable redis.service # 停止开机自启动 systemctl disable redis.service # 重新加载redis服务的配置文件 systemctl daemon-reload 2、添加开机启动sentinel服务 vim /etc/systemd/system/sentinel.service复制粘贴以下内容 [Unit] Description=redis-sentinel After=network.target [Service] Type=forking ExecStart=/opt/software/redis/bin/redis-sentinel /opt/software/redis/bin/sentinel.conf PrivateTmp=true [Install] WantedBy=multi-user.target注意:ExecStart配置成自己的路径 sentinel服务操作命令 # 启动redis服务 systemctl start sentinel # 停止redis服务 systemctl stop sentinel # 重新启动服务 systemctl restart sentinel # 查看服务当前状态 systemctl status sentinel # 设置开机自启动 systemctl enable sentinel # 停止开机自启动 systemctl disable sentinel # 重新加载redis服务的配置文件 systemctl daemon-reload彩蛋:查看redis版本 redis-server -v主节点,找到Replication模块查看 # Replication role:master #当前角色是主机 connected_slaves:2 #主节点下有两个丛机 slave1:ip=1.0.0.12,port=10010,state=online,offset=84,lag=1 #从机的IP和端口 slave0:ip=1.0.0.13,port=10010,state=online,offset=84,lag=1 #从机的IP和端口 master_failover_state:no-failover master_replid:b946de53f8034fbf0517d55debb909135af4d550 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:84 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:84 3、在从节点验证 # 连接客户端 [root@nwtest2 /]$ redis-cli -h 1.0.0.12 -p 10010 # 验证密码 1.0.0.12:10010> auth redis@2023 OK # 查看主节点配置 1.0.0.12:10010> info从节点,找到Replication模块查看 # Replication role:slave #当前角色是从机 master_host:1.0.0.11 #主机IP master_port:10010 #主机端口 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_read_repl_offset:365821 slave_repl_offset:365821 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:898b54bb1bba7d833927119184fb1eb554427211 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:365821 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:365821 4、测试主从1、主节点 1.0.0.11:10010> set k1 v1 OK 1.0.0.11:10010>2、从节点 1.0.0.12:10010> get k1 "v1" 1.0.0.12:10010> 1.0.0.13:10010> get k1 "v1" 1.0.0.13:10010> 5、启动sentinel服务 # 脚本启动sentinel服务 systemctl start sentinel # 查看状态 [root@nwtest1 redis]# ps -ef | grep redis root 933 1 0 10:09 ? 00:00:34 /opt/software/redis/bin/redis-sentinel *:10086 [sentinel] root 934 1 0 10:09 ? 00:00:29 /opt/software/redis/bin/redis-server 0.0.0.0:10010 root 318 9 0 12:41 pts/0 00:00:00 grep --color=auto redis 6、在任意节点验证 # 连接客户端 [root@nwtest1 /]$ redis-cli -h 1.0.0.11 -p 10086 # 查看哨兵信息 1.0.0.11:10010> info sentinel
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |