linux环境下,redis集群搭建经验分享

减少了对数据库的读操作,数据库的压力降低 ,加快了响应速度 缓存机制可谓是做到了完美一绝,下面我就centos7环境下的redis-5.0.12版本,集群搭建做个分享,由于集群搭建需要多个主机,这里为了节省资源,我在一台主机上搭建,设置不同的端口来启动redis实例,真实的环境里面只是ip地址不一样,搭建流程都是一样的,请大家多多提出宝贵意见!

搭建redis集群至少需要三个master,我们这里搭建三个master节点,并且给每个master在搭建两个slave节点,总共九个节点;

配置编译环境:

sudo yum install gcc-c++

官网下载redis-5.0.12版本,上传到linux环境下http://download.redis.io/releases/

这里直接通过命令去操作wget http://download.redis.io/releases/redis-5.0.12.tar.gz

下载后解压至当前目录   

tar -zxvf redis-5.0.12.tar.gz,

由于需要多个端口这里对解压后的文件进行命名,解压后的目录,

mv redis-5.0.12 redis_16379

进入主目录,进行配置修改,

cd redis_16379/

修改redis.conf配置信息,

这里简要说明下, redis默认端口是6379,我们是集群搭建,理论上来说是多个主机同时启动这个端口,但是这里通过定义不同的端口来区分,端口定义如下16379-16387,9个redis实例

我们这里先修改16379的配置信息,为了规范,这里创建一个文件夹,后续日志、pid等信息都放到这个目录下:mkdir data,

开始修改conf,vim redis.conf

这个文件里面主要修改以下配置

ip,protected-mode保护模式,port(端口),daemonize运行模式,pidfile地址,logfile日志路径,dir数据目录,

protected-mode关闭保护模式

port,6379改为16379

daemonize运行模式,no改为yes

pidfile地址

logfile日志路径

dir数据目录

修改配置文件,保存退出:wq

这里我们启动试试,看看配置的是不是有问题哈

src/redis-server redis.conf

看着没啥问题,端口已经启动,

我们用自己的客户端工具连接下试试

远程连接成功,好到这里我们搭建才做好第一步,搭建一个redis实例,

我们再次进入到redis.conf里修改关于集群的配置信息,大概需要修改以下配置

(1)# cluster-enabled yes 放开(启动集群模式)

(2)# cluster-config-file nodes-6379.conf (集群节点信息文件放开,并改为16379)

(3)# cluster-node-timeout 15000 (超时时间放开)

(4)appendonly yes

由于集群直接通信需要密码,所以这里设置密码,

(5)requirepass zhao

(6)masterauth zhao

到这里,我们已经配置好了,我退出保存下,然后启动后看看redis是什么状态,

好,我们已经搭建好了一台redis实例,接下来,我们将redis_16379目录复制一份处理,命名为redis_16380,

将redis_16380里面的redis.conf文件里,所有的16379都替换成16380,

sed -i 's/16379/16380/g' redis_16380/redis.conf ,然后启动redis,

然后用同样的方法,将redis_16381,redis_16382,redis_16383,redis_16384,redis_16385,redis_16386,redis_16387创建出来

redis_16382

redis_16383

......

九个实例都启动好以后,

我们将这九个实例连接起来,找到其中一个实例的全路径,这里以16379所在的目录演示

/root/soft/cluster_reids/redis_16379/src/redis-cli -a zhao --cluster create --cluster-replicas 2 127.0.0.1:16379 127.0.0.1:16380 127.0.0.1:16381 127.0.0.1:16382 127.0.0.1:16383 127.0.0.1:16384 127.0.0.1:16385 127.0.0.1:16386 127.0.0.1:16387

确认,输入yes

redis集群创建成功,3个master,6个slave

我们进入其中一个客户端,看下info信息(zhao是密码)

src/redis-cli -h 127.0.0.1 -p 16379 -a zhao

输入cluster nodes,查看节点信息,和主从的关系信息

至此redis搭建结束。

 

这里有个注意点就是

jedis连接Redis集群时报错:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”

使用jedis测试单节点的操作也成功(确保了端口开启)

只有在测试集群操作的时候失败

我们需要这样启动

/root/soft/study/cluster/redis_16379/src/redis-cli -a zhao --cluster create --cluster-replicas 2 公网ip:16379 公网ip:16380 公网ip:16381 公网ip:16382 公网ip:16383 公网ip:16384 公网ip:16385 1公网ip:16386 公网ip:16387

如果以上没有解决,需要从安装步骤上依次排查,或者是你的安装步骤中出现了遗漏,或者请留言,我们一起探讨下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值