redis5.0集群搭建

Posted 圣痕道心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis5.0集群搭建相关的知识,希望对你有一定的参考价值。

一、安装Redis

1、创建目录,/usr/local/redis

$ mkdir /usr/local/redis

 

2、传包

从官网下载redis-5.0.8.tar.gz上传至Linux的/usr/local/redis目录下

或者在Linux直接wget下载

$ wget http://download.redis.io/releases/redis-5.0.8.tar.gz

3、安装

$ cd /usr/local/redis
$ tar zxvf redis-5.0.8.tar.gz
$ cd /usr/local/redis/redis-5.0.8
$ make

①make失败报错为 gcc:commond not fount.

由于Redis是用C语言写的,需要安装gcc编译,安装命令如下:

$ yum -y install gcc automake autoconf libtool make

②yum安装时卡在获取最近的yum源,此时需要更换yum源,推荐阿里的yum源

③更换yum源安装gcc后重新make依然失败,此时需要执行make clean清理环境,之后重新make成功。

 

二、规划集群架构

1、集群架构为三节点,每节点上起两个服务,分别为主备,三个节点组成Redis集群。

分别为:

主:192.168.0.102:6379   备:192.168.0.102:6380

主:192.168.0.103:6379   备:192.168.0.103:6380

主:192.168.0.105:6379   备:192.168.0.105:6380

注意每台节点都需要安装redis

 

三、修改配置文件

1、每个节点上复制两份redis.conf 分别到 /opt/redis-cluster-6379/ 及/opt/redis-cluster-6380/

$ mkdir /opt/redis-cluster-6379/
$ cp /usr/local/redis/redis-5.0.8/redis.conf /opt/redis-cluster-6380/
$ mkdir /opt/redis-cluster-6380/
$ cp /usr/local/redis/redis-5.0.8/redis.conf /opt/redis-cluster-6380/

2、修改配置文件,以10.1.0.15:6379为例

 

1.修改bind值,是所有终端均可访问
bind 0.0.0.0
2.关闭protected-mode,将yes修改为no
protected-mode no
3.修改端口号为规划的端口号
port 6379
4.修改Redis为后台启动,no改为yes
daemonize yes
5.pidfile改为与端口号一致
pidfile /var/run/redis_6379.pid
6.修改rdb文件名,与端口号保持一致
dbfilename dump-6379.rdb
7.开启Redis集群配置,去掉#号
cluster-enabled yes
cluster-config-file nodes-1-6379.conf
cluster-node-timeout 15000

 

 

ps:cluster-config-file须在集群内全局唯一,推荐节点号+端口格式

⑧保存并退出,将文件名修改为可读性较强,推荐按端口号命名

 

四、启动

1、分别使用每个配置文件启动redis, 在每个节点上依次执行启动

##在redis-5.0.5/src/目录下
$ ./redis-server /opt/redis-cluster-6379/redis-node-1-6379.conf
$ ./redis-server /opt/redis-cluster-6380/redis-node-1-6380.conf

 

 

2、集群启动

①执行启动命令 

$ ./redis-cli --cluster create 192.168.0.102:6379 192.168.0.102:6380 192.168.0.103:6379 192.168.0.103:6380 192.168.0.105:6379 192.168.0.105:6380 --cluster-replicas 1

 

集群启动问题:No route to host

解决办法:

一、停止Linux的防火墙(不建议)

$ systemctl stop firewalld.service

 

  其他相关命令

 

#显示服务的状态
$ systemctl status firewalld.service
#启动防火墙
$ systemctl start firewalld.service

 

二、开放6379,6380,16379(集群总线)端口

firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=6380/tcp --permanent
firewall-cmd --add-port=16379/tcp --permanent firewall
-cmd --reload

参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;

   firwall-cmd安装命令(centOS8已经安装好):

yum install firewalld

 

2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;

  其他相关命令

#查看开放的端口
$ firewall-cmd --list-ports
#查询6379端口是否开放
$ firewall-cmd --query-port=6379/tcp
#移除6379端口
firewall-cmd --permanent --remove-port=6379/tcp

 

 

②确认配置

执行命令后Redis会显示即将生成的集群中每个节点的主备角色,确认后输入yes继续部署

 

 

 ③部署成功后可以看到如下

 

 

参考文献:https://www.cnblogs.com/AzkbanHan/p/11497589.html

以上是关于redis5.0集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

Centos7搭建redis5.0.5集群

从零搭建redis5.0集群配置密码

redis5.0集群搭建

linux redis5.0 集群搭建

Redis5.0集群搭建实战

Redis5.0集群搭建实战