redis5 集群搭建

  • Post author:
  • Post category:其他


单节点;

wget

http://download.redis.io/releases/redis-5.0.5.tar.gz

tar xzf redis-5.0.5.tar.gz

cd redis-5.0.5

make

cd src

make install

#默认配置启动

./redis-server

#使用配置文件启动

./redis-server ../redis.conf

使用redis的控制台:

./redis-cli

测试安装是否成功

redis检测

多节点:

redis要求至少三主三从共6个节点才能组成redis集群

此前准备了两台机器:192.168.132.11、192.168.131.12  本文集群试用三主三从六个节点

安装操作同上

配置操作:

修改redis配置文件redis.conf:

daemonize yes             # 守护进程模式开启(后台启动)

bind

0.0.0.

0             #默认只监听本机访问也可以将需要访问的IP空格分隔添加在后面,需要注释掉

requirepass 5555  #建议更改,不更改的话,如果后续要设置密码时,就得一个一个节点的设置过去

masterauth mastertest   #建议更改,当master服务设置了密码保护时,slav服务连接master的密码

cluster-enabled yes      #启用集群

cluster-config-file nodes-6379.conf      #集群节点配置文件

需要创建三个文件夹为:

mkdir -p /usr/local/redis-cluster/6379

mkdir -p /usr/local/redis-cluster/6380

mkdir -p /usr/local/redis-cluster/6381

拷贝配置文件

cp /usr/local/redis-5.0.5/redis.conf /usr/local/redis-cluster/6379/redis_6379.conf

cp /usr/local/redis-5.0.5/redis.conf /usr/local/redis-cluster/6380/redis_6380.conf

cp /usr/local/redis-5.0.5/redis.conf /usr/local/redis-cluster/6381/redis_6381.conf

修改配置文件中的port,cluster-config-file,pidfile:

修改标红部份(端口)

port

6379

cluster-config-file nodes-

6379

.conf

pidfile /var/run/redis_

6379

.pid

改完一台机器上的,其他机器的也就ok了

scp -rp ./redis-cluster/ 192.168.132.11/usr/local/

修改/etc/security/limits.conf文件,设置nofile 的值(看情况设置)

* soft nofile 65536

* hard nofile 65536

重启生效

nofile数量 ——文件描述符数量:打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

检验:查看redis的pid,执行cat /proc/$PID/limits5

启动redis:

分别使用3个配置文件启动redis

./redis-server /usr/local/redis-cluster/6379/redis_6379.conf

./redis-server /usr/local/redis-cluster/6380/redis_6380.conf

./redis-server /usr/local/redis-cluster/6381/redis_6381.conf

设置每个redis节点的密码,每个节点密码需要一致(redis_x.conf中设置了 requirepass 5555 可以忽略):

指定端口连接redis

./redis-cli -p 6381

config set requirepass 5555

在其它节点上也做上述操作,

集群管理器启动:

./redis-cli -a 5555 -cluster create 192.168.132.11:6379 192.168.132.12:6379 192.168.132.11:6380 192.168.132.12:6380 192.168.132.11:6381 192.168.132.12:6381 –cluster-replicas 1

1) a   #指定集群密码 。

2) create    #表示创建一个redis集群。

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

遇到Can I set the above configuration?提示时需要输入yes再确认,否则后续连上redis集群,执行set key value就会报错:

到此为止集群搭建就结束了

懒人外记:

按照上述的redis集群启动模式,得连上n台机器,执行n遍启动操作,不如写一个脚本去统一启动:

#!/bin/sh

./redis-server /usr/local/redis-cluster/6379/redis_6379.conf

./redis-server /usr/local/redis-cluster/6380/redis_6380.conf

./redis-server /usr/local/redis-cluster/6381/redis_6381.conf

ssh root@192.168.132.11 “cd /usr/local/redis-5.0.5/src ; ./redis-server /usr/local/redis-cluster/6379/redis_6379.conf ; ./redis-server /usr/local/redis-cluster/6380/redis_6380.conf ; ./redis-server /usr/local/redis-cluster/6381/redis_6381.conf”

./redis-cli -a test –cluster create 192.168.132.11:6379 192.168.132.12:6379 192.168.132.11:6380 192.168.132.12:6380 192.168.132.11:6381 192.168.132.12:6381 –cluster-replicas 1

该脚本每ssh一台机器就需要输入一次密码,多了也难搞,可以再配置一个免密登录,可以自行去查看怎么配置,这里就不细写了。



版权声明:本文为dlm_bk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。