Linux搭建Redis集群

阅读 78

2023-03-31

1.集群介绍

集群:就是有一个主节点,和多个从节点,如果用户量大或者数据大是,单单一个服务器是没有办法直接支撑业务的,最坏的是导致服务器宕机,这时,集群概念出现,主节点(master)有一个负责写入数据,从节点(slave)负责读取数据,这时,可以减少master压力,实现负载均衡,在项目中,master出现宕机的问题也有,这时,会有一个备用的master,这样保障master出现故障,还有一个备用,当请求到来首先由负载均衡服务器处理,把请求转发到另外的一台服务器上。

Linux搭建Redis集群_服务器

2.安装redis(master节点、slave节点)

  • 下载redis
  • 解压redis:tar -xvzf redis-4.0.9.tar.gz
  • 进入目录下进行编译: make
  • 进入到src目录下:make install PREFIX=/usr/local/redis
  • 创建配置文件目录:mkdir /usr/local/redis/etc
  • 移动配置文件到安装目录下:mv redis.conf /usr/local/redis/etc
  • 配置redis为后台启动:vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
  • 设置开机自动启动在/etc/rc.local文件中添加/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 
  • 开启redis:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
  • 将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
  • cp /usr/local/redis/bin/redis-server /usr/local/bin/
  • cp /usr/local/redis/bin/redis-cli /usr/local/bin/

3.配置redis(master节点)

1.master(redis)

1.在主节点(master)创建一个conf目录,目录下三个文件,分别为:6380.conf、6381.conf、6382.conf。

2.6380.conf文件

port 6380 
bind 192.168.80.10
daemonize yes
pidfile 6380.pid
cluster-enabled yes
cluster-config-file 6380_node.conf
cluster-node-timeout 15000
appendonly yes

3.6381.conf文件

port 6381 
bind 192.168.80.10
daemonize yes
pidfile 6381.pid
cluster-enabled yes
cluster-config-file 6381_node.conf
cluster-node-timeout 15000
appendonly yes

4.6382.conf文件

port 6382 
bind 192.168.80.10
daemonize yes
pidfile 6382.pid
cluster-enabled yes
cluster-config-file 6382_node.conf
cluster-node-timeout 15000
appendonly yes

5.启动

#进入conf目录下
redis-server 6380.conf
redis-server 6381.conf
redis-server 6382.conf

2.安装tuby

redis-trib.rb使用ruby实现的所以在执行集群创建命令之前需要安装ruby

#使用curl安装rvm
#安装curl
apt-get install curl

#安装rvm,
curl -L get.rvm.io | bash -s stable
#使用rvm安装tuby

rvm install 2.6.3
rvm use 2.6.3 #启用新版本
rvm remove 2.3.0  # 移除旧版本

#查看版本:
tuby -v

3.开放端口

主节点:要开发6380、6381、6382端口(客户端节点的端口)
要还开放集群总线的端口:16380、16381、16382

firewall-cmd --zone=public --add-port=6380/tcp --permanent 
firewall-cmd --zone=public --add-port=6381/tcp --permanent 
firewall-cmd --zone=public --add-port=6382/tcp --permanent 
firewall-cmd --zone=public --add-port=16380/tcp --permanent 
firewall-cmd --zone=public --add-port=16381/tcp --permanent 
firewall-cmd --zone=public --add-port=16382/tcp --permanent 
firewall-cmd --reload

4.配置redis(slave)

1.slave(redis)

1.在主节点(master)创建一个conf目录,目录下三个文件,分别为:6383.conf、6384.conf、6385.conf。

2.6383.conf文件

port 6383 
bind 192.168.80.11
daemonize yes
pidfile 6383.pid
cluster-enabled yes
cluster-config-file 6383_node.conf
cluster-node-timeout 15000
appendonly yes

3.6384.conf文件

port 6384 
bind 192.168.80.11
daemonize yes
pidfile 6384.pid
cluster-enabled yes
cluster-config-file 6384_node.conf
cluster-node-timeout 15000
appendonly yes

4.6385.conf文件

port 6385 
bind 192.168.80.11
daemonize yes
pidfile 6385.pid
cluster-enabled yes
cluster-config-file 6385_node.conf
cluster-node-timeout 15000
appendonly yes

4.启动

#进入conf目录下
redis-server 6383.conf
redis-server 6384.conf
redis-server 6385.conf

2.开放端口

主节点:要开发6383、6384、6385端口(客户端节点的端口)
要还开放集群总线的端口:16383、16384、16385
firewall-cmd --zone=public --add-port=6383/tcp --permanent 
firewall-cmd --zone=public --add-port=6384/tcp --permanent 
firewall-cmd --zone=public --add-port=6385/tcp --permanent 
firewall-cmd --zone=public --add-port=16383/tcp --permanent 
firewall-cmd --zone=public --add-port=16384/tcp --permanent 
firewall-cmd --zone=public --add-port=16385/tcp --permanent 
firewall-cmd --reload

5.启动集群

在主节点上启动集群(master)

#进入redis安装目录下的src目录下
cd redis-4.0.9/src
#启动集群
./redis-trib.rb create --replicas 1 192.168.80.10:6380 192.168.80.10:6381 192.168.80.10:6382 192.168.80.11:6383 192.168.80.11:6384 192.168.80.11:6385


精彩评论(0)

0 0 举报