ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

CentOS 安装Redis单实例 配置主从节点 超详细教程

2021-06-05 22:29:22  阅读:166  来源: 互联网

标签:CentOS Redis redis aubin 6379 master 6.0 root 主从


CentOS7 安装Redis单实例 配置主从节点 超详细教程

CentOS7安装Redis 6.0.9

1.先到准备放安装包的目录,下载安装包

cd /usr/local
mkdir redis
cd redis
https://download.redis.io/releases/redis-6.0.9.tar.gz

​ 解压

tar -zxvf redis-6.0.9.tar.gz

2.因为Redis是用c语言写的,所以需要使用GCC,Redis默认的gcc版本是4.8.5,而Redis 6 支持了多线程,gcc版本需要大于4.9,所以需要升级gcc版本

查看gcc版本

gcc -v

​ 升级gcc版本

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

​ 编译安装

cd redis-6.0.9/src
make install

​ 到这里就安装好了,下面需要修改redis配置

# => 修改成
daemonize no  // 修改成 daemonize yes
bind 127.0.0.1  //注释这一行  否则只能再本机访问
requirepass yourpassword //在外网访问需要配置密码

​ 关闭防火墙,不然后面可能redis的可视化工具可能访问不到

systemctl stop firewalld.service

​ 配置别名

vim ~/.bashrc

​ 在其中添加两行

alias redis='/usr/local/redis/redis-6.0.9/src/redis-server /usr/local/redis/redis-6.0.9/redis.conf'
alias rcli='/usr/local/soft/redis-6.0.9/src/redis-cli'

​ 编译生效

source ~/.bashrc

​ 到这里就能配置好了,使用./src/redis-server --version查看redis版本

[root@aubin redis-6.0.9]# pwd
/usr/local/redis/redis-6.0.9
[root@aubin redis-6.0.9]#  ./src/redis-server --version
Redis server v=6.0.9 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=2f135e9be8d009ba

​ 用redis启动服务,rcli进入客户端,进入后使用auth yourpassword验证身份

[root@aubin redis-6.0.9]# rcli
127.0.0.1:6379> auth 123
OK
127.0.0.1:6379> set sf 123
OK
127.0.0.1:6379> get sf
"123"

配置主从节点

这样Centos 7 上 Redis 单实例就安装好了,然后可以配置主从节点,我这里就直接在redis-6.0.9的子目录下建了,可以自己选择新建的位置,这里我保留了原来的Redis配置,新建了三个节点 1主 2从

复制配置文件

[root@aubin redis-6.0.9]# cp redis.conf redis_6379.conf
[root@aubin redis-6.0.9]# cp redis.conf redis_6380.conf
[root@aubin redis-6.0.9]# cp redis.conf redis_6381.conf

创建对应pid文件

[root@aubin redis-6.0.9]# touch redis-6379.pid
[root@aubin redis-6.0.9]# touch redis-6380.pid
[root@aubin redis-6.0.9]# touch redis-6381.pid

创建rdb文件存放目录

[root@aubin redis-6.0.9]# mkdir db
[root@aubin redis-6.0.9]# cd db
[root@aubin db]# mkdir master
[root@aubin db]# mkdir slave_one
[root@aubin db]# mkdir slave_two

然后 到redis-6.0.9目录 修改配置文件

[root@aubin redis-6.0.9]# 

修改配置文件如下,123是我redis的密码

redis_6379.conf

port 6379
daemonize yes
pidfile /usr/local/redis/redis-6.0.9/redis_6379.pid
dir /usr/local/redis/redis-6.0.9/db/master/
masterauth 123
requirepass 123

redis_6380.conf

port 6380
daemonize yes
pidfile /usr/local/redis/redis-6.0.9/redis_6380.pid
dir /usr/local/redis/redis-6.0.9/db/slave_one/
slaveof 127.0.0.1 6379
masterauth 123
requirepass 123

redis_6381.conf

port 6381
daemonize yes
pidfile /usr/local/redis/redis-6.0.9/redis_6381.pid
dir /usr/local/redis/redis-6.0.9/db/slave_two/
slaveof 127.0.0.1 6379
masterauth 123
requirepass 123

配置完成后启动,先启动主 再启动从

[root@aubin redis-6.0.9]# ./src/redis-server ./redis-6379.conf
[root@aubin redis-6.0.9]# ./src/redis-server ./redis-6380.conf
[root@aubin redis-6.0.9]# ./src/redis-server ./redis-6381.conf

查看redis进程

[root@aubin redis-6.0.9]# ps -ef | grep redis
root       8313      1  0 22:03 ?        00:00:00 ./src/redis-server *:6379
root       8320      1  0 22:03 ?        00:00:00 ./src/redis-server *:6380
root       8327      1  0 22:03 ?        00:00:00 ./src/redis-server *:6381

进入主节点 ,查看相关信息,可以看到role:master 已经有2个从节点

[root@aubin redis-6.0.9]# rcli -p 6379
127.0.0.1:6379> auth 123
OK
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=126,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=126,lag=1
master_replid:8fbd5b155551f4a86a54b2123e6fb8dc42d71776
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:126
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:126

进入从节点 role:slave

[root@aubin redis-6.0.9]# rcli -p 6380
127.0.0.1:6380> auth 123
OK
127.0.0.1:6380> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:392
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:8fbd5b155551f4a86a54b2123e6fb8dc42d71776
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:392
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:392

到这里,主从配置就已经好了,然后可以在主节点中添加数据,在从节点中能查到响应数据(从节点启动时全量同步,之后是增量同步,注意如果同一时间有多个隶属于同一个主节点的从节点启动,可以会造成主节点IO问题)

ps:运行时,为了方便我使用了root账号,正式环境下请使用其他账号,必要时才使用root账号

标签:CentOS,Redis,redis,aubin,6379,master,6.0,root,主从
来源: https://blog.csdn.net/weixin_48349307/article/details/117606742

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有