Redis 5 集群搭建

实验环境

在VMware中准备3个虚拟机,每个虚拟机部署2个redis,实现一个总共6个节的redis集群。

redis服务使用单独的redis用户和用户组启动。所有文件都在/home/redis目录下。

  • OS: CentOS-7-x86_64-Minimal-1804
  • redis: redis-5.0.0

安装配置

集群规划

  • 192.168.212.141
  • 192.168.212.142
  • 192.168.212.143

[7001]: 192.168.212.141:7001,192.168.212.142:7001,192.168.212.143:7001

[7002]: 192.168.212.141:7002,192.168.212.142:7002,192.168.212.143:7002

单实例编译安装

源码包安装需要gcc

yum install gcc-c++

添加redis用户和用户组

groupadd redis
useradd -g redis redis

编译

编译到当前目录

cd /home/redis/redis-5.0.0
make

编译到指定目录

cd /home/redis/redis-5.0.0
make PREFIX=/home/redis/master install
make PREFIX=/home/redis/slave install

单机集群搭建

cd /home/redis/redis-5.0.0
make PREFIX=/home/redis/cluster/7001 install
make PREFIX=/home/redis/cluster/7002 install
make PREFIX=/home/redis/cluster/7003 install
make PREFIX=/home/redis/cluster/7004 install
make PREFIX=/home/redis/cluster/7005 install
make PREFIX=/home/redis/cluster/7006 install

配置修改(redis.conf)

port

指定端口

port 7001
pidfile

后台模式运行的时候,pid写入指定的文件

pidfile /home/redis/cluster/7001/redis.pid
logfile

配置日志输出路径

logfile /home/redis/cluster/7001/logs/redis.log
daemonize

以后端模式运行,退出控制台的时候服务依然后台跑着。

daemonize yes
requirepass

设置访问密码

requirepass <user-password>
masterauth

集群模式下面,同时设置这个配置项目密码,用于主从同步的时候进行安全验证。

masterauth <user-password>
bind

特别注意

是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。

如果指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定,就说明可以接受来自任意一个网卡的Redis请求。

bind 127.0.0.1 192.168.10.130
cluster-enabled

允许集群模式。

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

启动

直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。

修改redis.conf配置文件, daemonize yes 以后端模式启动。

注意

一定要进入bin目录的上级目录!

cd /home/redis/master/bin
./bin/redis-server ./redis.conf

端口配置,redis.conf配置中如下配置项。

port 7001

集群配置

redis 5.0以后集群组网直接采用编译包中的redis-cli,直接采用c++编译,不需要ruby环境。集群组网命令如下:

./redis-cli 
--cluster create 
192.168.212.141:7001 
192.168.212.142:7001 
192.168.212.143:7001 
192.168.212.141:7002 
192.168.212.142:7002 
192.168.212.143:7002 
--cluster-replicas 1

注意

集群设置了密码组网的时候需要加上密码 -a itclj123456

./redis-cli 
--cluster create 
127.0.0.1:7001 
127.0.0.1:7002 
127.0.0.1:7003 
127.0.0.1:7004 
127.0.0.1:7005 
127.0.0.1:7006 
--cluster-replicas 1 
-a itclj123456

在这里插入图片描述

另外注意,由于linux防火墙问题,执行上面命令可能会遇到连接不通的,可以linux防火墙。

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

测试

下载一个windows的客户端Redis-x64-3.2.100.zip,解压后里面有个redis-cli.exe,这个就是一个window客户端工具,命令行里面调用,具体命令如下:

D:\redis>redis-cli.exe -c -h 192.168.212.141 -p 7001
192.168.212.141:7001> keys *
(empty list or set)
192.168.212.141:7001> set itclj itclj20181114
-> Redirected to slot [14516] located at 192.168.212.143:7001
OK
192.168.212.143:7001> get itclj
"itclj20181114"

集群设置了密码,客户端连接的时候需要设置密码。

redis-cli.exe -c -h 192.168.212.141 -p 7001 -a itclj123456

连接参数说明

-c : 表示连接集群
-h : 表示连接的redis主机
-p : 表示连接的redis实例端口
-a : 表示连接redis集群的密码

参考


补充说明

redis 3.X 4.X集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境,集群配置方式如下。

安装ruby

yum install ruby
yum install rubygems

安装ruby和redis的接口程序

gem install redis

组件集群

./redis-trib.rb --replicas 192.168.212.141:7001 192.168.212.142:7001 192.168.212.143:7001 192.168.212.141:7002 192.168.212.142:7002 192.168.212.143:7002
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值