redis5 集群搭建

单节点;

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

redis5 集群搭建_第1张图片

启动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 [email protected] "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一台机器就需要输入一次密码,多了也难搞,可以再配置一个免密登录,可以自行去查看怎么配置,这里就不细写了。

 

 

 

 

你可能感兴趣的:(redis)