安装Redis6.2.7主从哨兵集群教程

您所在的位置:网站首页 sentinel端口 安装Redis6.2.7主从哨兵集群教程

安装Redis6.2.7主从哨兵集群教程

2023-03-10 01:10| 来源: 网络整理| 查看: 265

一、环境描述

部署模式为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 二、下载Redis

1、将Redis包先下载到本地

下载地址:https://download.redis.io/releases/redis-6.2.7.tar.gz

2、上传至Linux服务器

三、安装Redis 1、安装Redis所需依赖 # 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 yum install -y gcc 2、安装Redis # 进入上传包位置 cd /opt/package/ # 在package目录解压redis安装包 tar -zxvf redis-6.2.7.tar.gz # 进入redis待安装文件目录下 cd redis-6.2.7/ # 进行编译redis-6.2.7 make # 进行安装redis-6.2.7并指定安装目录 make install PREFIX=/opt/software/redis

3、启动Redis服务 1、前台启动redis服务 # 进入redis目录 cd /opt/software/redis/bin/ # 启动redis ./redis-server

如上图:redis启动成功,但这种启动需要一直打开窗口,不能进行其他操作,不方便。按 ctrl + c 可以关闭窗口。

2、配置 redis 主从服务

从 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

6、验证主从是否正常 1、启动redis服务 # 启动redis服务 systemctl start redis # 查看状态 [root@nwtest1 ~]# ps -ef | grep redis root 958 1 0 14:31 ? 00:00:00 /opt/software/redis/bin/redis-server 0.0.0.0:10010 root 2234 1 0 14:32 ? 00:00:00 /opt/software/redis/bin/redis-sentinel *:10086 [sentinel] root 2241 218 0 14:32 pts/0 00:00:00 grep --color=auto redis 2、在主节点验证 # 连接客户端 [root@nwtest1 /]$ redis-cli -h 1.0.0.11 -p 10010 # 验证密码 1.0.0.11:10010> auth redis@2023 OK # 查看主节点配置 1.0.0.11:10010> info

主节点,找到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

找到Sentinel模块查看

# Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 # 哨兵已经监听到主节点IP端口与运行状态,并且有2个从节点3个哨兵 master0:name=mymaster,status=ok,address=1.0.0.11:10010,slaves=2,sentinels=3 四、卸载Redis 1、停止redis运行 # 查看redis进程 ps -ef | grep redis # 杀死redis进程:kill -9 进程号 # 或者关闭redis服务 systemctl stop redis.service 2、删除Redis相关文件 # 查找根下所有名字包含Redis的文件 sudo find / -name redis* # 根据查询地址卸载Redis rm -rf 相关地址 rm -rf /opt/software/redis # 删除或注释环境变量中的内容 # export REDIS_HOME=/opt/software/redis # export PATH=$PATH:$REDIS_HOME/bin # 保存退出,然后使配置文件生效 source /etc/profile # 关闭开机自启 chkconfig redis off # 删除开机启动文件 rm -rf /etc/systemd/system/redis.service


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3