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

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账号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值