微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[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

 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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐