您的位置:首页 > 数据库 > Redis

Centos 7.5安装部署redis 5.0.0集群

2018-11-21 11:14 776 查看

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


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

二、配置集群环境

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来确认

三、测试

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


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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis redis集群 Centos