redis集群部署

Redis集群特性:

redis集群方式支持主从自动切换

redis集群只有一个库,单例或者主从的话有多个库

redis集群去中心化,只要通过其中一个入口连接即可

安装Redis

关闭防火墙/对应的端口

关闭防火墙systemctl stop firewalld

开放指定端口firewall-cmd --zone=public --add-port=1935/tcp --permanent

下载redis或者移动对应的zip

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

使用xftp进行传输zip包

安装编译依赖环境

[root@node1 ~]# yum install -y wget gcc gcc-c++ make tar openssl openssl-devel cmake

编译安装

[root@node1 ~]# tar -zxvf redis-5.0.7.tar.gz  解压文件

[root@node1 ~]# cd /usr/local/redis-5.0.7/      

[root@node1 redis-5.0.7]# make && make install 编译

Redis集群部署

redis自带集群搭建,演示主使用7000 7001 7002,从使用8000 8001 8002

创建自定义配置文件存放目录

[root@node1 ~]# mkdir -p /usr/local/redis/cluster

拷贝配置文件

cp /usr/local/redis-5.0.7/redis.conf  /usr/local/redis/cluster/redis_7001.conf

cp /usr/local/redis-5.0.7/redis.conf  /usr/local/redis/cluster/redis_8001.conf

创建数据存放路径,修改属主和属组

[root@node1 ~]# useradd redis

[root@node1 ~]# chown -R redis:redis /usr/local/redis

[root@node1 ~]# mkdir -p /data/redis/cluster/{redis_7001,redis_8001}

[root@node1 ~]# chown -R redis:redis /data/redis

修改配置文件

[root@node1 ~]# cat  /usr/local/redis/cluster/redis_7001.conf

bind 192.168.14.210      

port 7001

daemonize yes

pidfile "/var/run/redis_7001.pid"

logfile "/usr/local/redis/cluster/redis_7001.log"

dir "/data/redis/cluster/redis_7001"

#replicaof 192.168.14.210 6379

masterauth 123456

requirepass 123456

appendonly yes

cluster-enabled yes

cluster-config-file nodes_7001.conf

cluster-node-timeout 15000

[root@node1 ~]# cat  /usr/local/redis/cluster/redis_8001.conf

bind 192.168.14.210

port 8001

daemonize yes

pidfile "/var/run/redis_8001.pid"

logfile "/usr/local/redis/cluster/redis_8001.log"

dir "/data/redis/cluster/redis_8001"

#replicaof 192.168.14.210 6379

masterauth 123456

requirepass 123456

appendonly yes

cluster-enabled yes

cluster-config-file nodes_8001.conf

cluster-node-timeout 15000

配置详解:

配置

详情

bind

指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将只处理本地的  0.0.0.0全部的

port

端口

daemonize

是否在后台执行  yes  后台运行

pidfile

redis的进程文件

logfile

#指定了服务端日志的级别。级别包括:debug(很多信息,方便开发、测试),verbose(许多有用的信息,但是没有debug级别信息多),notice(适当的日志级别,适合生产环境),warn(只有非常重要的信息)

dir

数据目录,数据库的写入会在这个目录。rdb、aof文件也会写在这个目录

masterauth

配置master的密码,这样可以在连上master后进行认证。

requirepass

requirepass配置可以让用户使用AUTH命令来认证密码,才能使用其他命令。这让redis可以使用在不受信任的网络中。为了保持向后的兼容性,可以注释该命令,因为大部分用户也不需要认证

appendonly

持久性问题  aof开启

cluster-enabled

集群开关,默认是不开启集群模式

cluster-config-file

集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。这个文件并不需要手动

配置,这个配置文件有Redis生成并更新,每个Redis集群节点需要一个单独的配置文件,请确保与实例运行的系

统中配置文件名称不冲突

cluster-node-timeout

节点互连超时的阀值。集群节点超时毫秒数,集群自动进行主从切换

replicaof

主从复制

protected-mode

保护模式,yes就是不允许外网访问。

更多可参考

(30条消息) redis配置文件中常用配置详解_itboy-CSDN博客_redis配置文件详解

启动redis

[root@node1 ~]# redis-server  /usr/local/redis/cluster/redis_7001.conf

[root@node1 ~]# redis-server  /usr/local/redis/cluster/redis_8001.conf

启动集群

redis-cli -a 123456 --cluster create 192.168.14.210:7001 192.168.14.210:8001 192.168.14.211:7002 192.168.14.211:8002 192.168.14.212:7003 192.168.14.212:8003 --cluster-replicas 1

验证集群

连接任意一台客户端:

[root@node1 ~]# redis-cli -c -h 192.168.14.210 -p 7001 -a 123456

提示:-a访问服务端密码,-c表示集群模式,指定ip地址和端口号

集群对应命令:

查看集群状态(主从关系)CLUSTER NODES

查看集群信息 CLUSTER INFO

将节点的配置文件保存到硬盘里面 CLUSTER SAVECONFIG 

(30条消息) redis cluster(2)- redis集群常用命令_黄规速博客:学如逆水行舟,不进则退-CSDN博客_redis查看集群状态命令

Redis Cluster日常操作命令梳理 - 散尽浮华 - 博客园 (cnblogs.com)

集群数据通过以上配置会被分为三份,采用哈希槽 (hash slot)的方式来分配16384slot的话,它们三个节点分别承担的slot 区间是:

节点node1覆盖0-5460

节点node2覆盖5461-10922

节点node3覆盖10923-16383

使用ruby辅助安装redis集群:(redis5.0之前)

https://blog.csdn.net/qq_38011415/article/details/105057516

你可能感兴趣的:(linux,运维,linux)