当前位置:首页 > 数据库 > nosql

[NoSQL数据库] Redis主从部署

一、Redis主节点配置

1.Redis源码编译安装

在CentOS7下:

# 安装gcc编译器
yum install gcc -y
# 下载redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
# 解压缩
tar xzf redis-5.0.7.tar.gz
# 移动文件夹到/usr/local中
mv redis-5.0.7 /usr/local/
# 进入redis目录
cd /usr/local/redis-5.0.7
# 编译
make all
# 安装tcl
yum install tcl -y
# 运行redis测试
make test
# 安装到/usr/local/bin下
make install

进入/usr/local/bin下查看安装好的redis命令:

[root@centos-base bin]# ll
total 32772
-rwxr-xr-x. 1 root root 4366808 Jan  5 14:20 redis-benchmark
-rwxr-xr-x. 1 root root 8125200 Jan  5 14:20 redis-check-aof
-rwxr-xr-x. 1 root root 8125200 Jan  5 14:20 redis-check-rdb
-rwxr-xr-x. 1 root root 4807880 Jan  5 14:20 redis-cli
lrwxrwxrwx. 1 root root      12 Jan  5 14:20 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 8125200 Jan  5 14:20 redis-server

 

2.Redis配置

拷贝redis.conf:

cd /etc
mkdir redis
cd /usr/local/redis-5.0.7
cp redis.conf /etc/redis/redis.conf

修改配置:

vi /etc/redis/redis.conf
bind 192.168.1.181 127.0.0.1 # 服务IP地址
port 6379  # 服务端口
daemonize yes  # 是否以守护进程形式运行
dbfilename dump.rdb  # 持久化数据文件名称
dir /var/lib/redis  # 持久化数据文件存放位置
logfile /var/log/redis/redis-server.log  # 日志文件存放位置
database 16  # 一共16个数据库,编号1~15
slaveof  # 设置主从复制(用于分布式)

注意:持久化数据文件和日志文件的存放地址,要事先创建存放文件目录。

cd /var/lib
mkdir redis
cd /var/log
mkdir redis

 

配置文件参考:

(转自https://blog.csdn.net/ljphilp/article/details/52934933

[NoSQL数据库] Redis主从部署 - 文章图片?View Code

 

3.设置Redis服务

配置systemctl管理Redis服务:

# 编辑文件
vim /usr/lib/systemd/system/redis.service

# 在redis.service文件中加入以下内容 并保存

##########################

[Unit]
Description=Redis-5.0.7-6379
After=network.target

[Service]
Type=forking
PIDfile=/var/run/redis-6379.pid
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

###########################

# 加载服务
systemctl daemon-reload

 

reids服务操作:

systemctl start redis  # 启动
systemctl stop redis  # 停止
systemctl restart redis  # 重启
systemctl status redis  # 查看状态
systemctl enable redis  # 开机启动
systemctl disable redis  # 取消开机启动

 

4.运行Redis

[root@centos-base system]# systemctl start redis
[root@centos-base system]# systemctl status redis
鈼[0m redis.service - Redis-5.0.7-6379
   Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-01-05 15:19:46 CST; 4s ago
  Process: 27232 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS)
  Process: 27243 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 27244 (redis-server)
   CGroup: /system.slice/redis.service
           鈹斺攢27244 /usr/local/bin/redis-server 127.0.0.1:6379

Jan 05 15:19:46 centos-base systemd[1]: Starting Redis-5.0.7-6379...
Jan 05 15:19:46 centos-base systemd[1]: Started Redis-5.0.7-6379.

查看进程:

[root@centos-base system]# ps -ef | grep redis
root      27244      1  0 15:19 ?        00:00:00 /usr/local/bin/redis-server 127.0.0.1:6379
root      27251  17132  0 15:22 pts/0    00:00:00 grep --color=auto redis

 

 

二、Redis从节点配置

1.安装从节点Redis

参照主节点的安装过程,部署一台从节点。

2.配置从节点

修改redis.conf配置文件:

# 修改replicaof配置项,填写主节点IP和端口
replicaof 192.168.1.181 6379

 

3.重启主从节点Redis服务

 

4.查看主节点状态

执行命令:

[root@centos-base system]# redis-cli -h 192.168.1.181 info Replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.180,port=6379,state=online,offset=42,lag=1
master_replid:14e0a788c85de285ae34ab98f41893aaf097335a
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:42
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:42

可以看到,该节点为master节点,已连接的从节点有一台,从节点IP为192.168.1.180,端口为6379。

 

5.查看从节点状态

执行命令:

[root@centos-base system]# redis-cli -h 192.168.1.180 info Replication 
# Replication
role:slave
master_host:192.168.1.181
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:546
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:14e0a788c85de285ae34ab98f41893aaf097335a
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:546
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:546

可以看到,该节点为slave节点,属于主节点192.168.1.181,主节点端口为6379。


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!