linux Redis5.0.0集群搭建,Centos 7.5安装部署redis 5.0.0集群

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。和Memcached类似,但它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set -有序集合)和hash(哈希类型)。与Memcached相同的是,为了保证访问效率,数据都是缓存在内存中;与Memcached不同的是,redis会周期性的把更新的数据写入磁盘或者写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis的数据可以从master(主)服务器向任意数量的slave(从)服务器上同步,从服务器也可以是关联其他从服务器的主服务器,执行单层树复制,是Redis集群的一个重要特性。Redis集群最少要求6个节点,共需要6台机器,由于资源有限,我这边准备了3台机器,每台机器上配置两个节点。

系统环境

主机名

IP地址

操作系统

节点

Redis1

192.168.2.206

Centos 7.5 64位

Master port 7001、slave port 7002

Redis2

192.168.2.209

Centos 7.5 64位

Master port 7001、slave port 7002

Redis3

192.168.2.210

Centos 7.5 64位

Master port 7001、slave port 7002

一、安装redis

1、安装编译相关软件包

[root@redis1 ~]# yum -y install make gcc gcc-c++ wget

2、下载redis并解压

[root@redis1 tmp]# wget http://download.redis.io/releases/redis-5.0.0.tar.gz

[root@redis1 tmp]# scp redis-5.0.0.tar.gz root@192.168.2.209:/tmp/

[root@redis1 tmp]# scp redis-5.0.0.tar.gz root@192.168.2.210:/tmp/

[root@redis1 tmp]# tar zxvf redis-5.0.0.tar.gz

3、安装redis

[root@redis1 tmp]# cd redis-5.0.0/

[root@redis1 redis-5.0.0]# make

[root@redis1 redis-5.0.0]# make install PREFIX=/data/redis

625d3c4b2f8209f82d8511fb76817703.png

出现上图画面表示安装成功

二、配置集群环境

1、复制配置文件

注:每台机器两个实例,故需要复制两份对应的配置文件

[root@redis1 redis-5.0.0]# mkdir /data/redis/conf

[root@redis1 redis-5.0.0]# cp redis.conf /data/redis/conf/redis-7001.conf

[root@redis1 redis-5.0.0]# cp redis.conf /data/redis/conf/redis-7002.conf

2、修改配置文件

修改以下地方

bind 192.168.2.206 #redis监听的本地IP地址

port 7001 #监听端口,另一个节点改为7002

daemonize yes #开启后台运行,no表示运行在前台

pidfile /var/run/redis_7001.pid #pid文件,另一个节点改为7002

appendonly yes #开启aof日志,每次写操作都会记录一条日志

cluster-enabled yes #开启集群,把注释#去掉

cluster-config-file nodes-7001.conf #集群的配置文件,首次启动会自动创建,另一个节点改为7002

cluster-node-timeout 15000 #集群节点连接超时时间,15秒

3、添加firewalld防火墙允许端口

[root@redis1 redis-5.0.0]# firewall-cmd --permanent --add-port=7001-7002/tcp

[root@redis1 redis-5.0.0]# firewall-cmd --permanent --add-port=17001-17002/tcp

[root@redis1 redis-5.0.0]# firewall-cmd --reload

4、启动redis服务

创建启动脚本,redis-all.sh

#!/bin/bash

/data/redis/bin/redis-server /data/redis/conf/redis-7001.conf

/data/redis/bin/redis-server /data/redis/conf/redis-7002.conf

将脚本分发到另外两台主机上

[root@redis1 ~]# scp redis-all.sh root@192.168.2.209:/root/

[root@redis1 ~]# scp redis-all.sh root@192.168.2.210:/root/

运行脚本,启动redis,每个节点都要启动

[root@redis1 ~]# sh redis-all.sh

5、启动集群

创建启动集群脚本,redis-cluster.sh

#!/bin/bash

/data/redis/bin/redis-cli --cluster create 192.168.2.206:7001 192.168.2.209:7001 192.168.2.210:7001 192.168.2.206:7002 192.168.2.209:7002 192.168.2.210:7002 --cluster-replicas 1

参数说明

--cluster create:表示创建redis集群

--cluster-replicas 1:表示为集群中的每一个主节点指定一个从节点,即一比一的复制。

将脚本分发到另外两台主机上

[root@redis1 ~]# scp redis-cluster.sh root@192.168.2.209:/root/

[root@redis1 ~]# scp redis-cluster.sh root@192.168.2.210:/root/

运行脚本,启动集群,只需要在其中一个节点启动即可

[root@redis1 ~]# sh redis-cluster.sh

注:中途需要输入yes来确认

a5e078f75bd018f511e5f77a5bd03643.png

三、测试

1、设置redis集群密码

注:所有节点都需要设置密码,且密码必须一致。

[root@redis1 ~]# /data/redis/bin/redis-cli -h 192.168.2.206 -p 7001 -c

192.168.2.206:7001> config set masterauth xuad123456

192.168.2.206:7001> config set requirepass xuad123456

192.168.2.206:7001> exit

2、将密码写入配置文件

注:所有节点都需要将密码写入配置文件

[root@redis1 ~]# /data/redis/bin/redis-cli -h 192.168.2.206 -p 7001 -c -a xuad123456

192.168.2.206:7001> config rewrite

192.168.2.206:7001> exit

37bd338d3966627f153d1f1c4f45fc9f.png

3、查看密码

[root@redis1 ~]# /data/redis/bin/redis-cli -h 192.168.2.206 -p 7001 -c -a xuad123456

192.168.2.209:7001> config get masterauth

192.168.2.209:7001> config get requirepass

5fa2b84bbf60fbd199b88e57927c730e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值