Centos7 Redis Cluster集群搭建

redis cluster 安装

  • 启动前的配置

如果直接启动redis,日志会报以下警告,可以选择性的进行配置。
1,/proc/sys/net/core/somaxconn
原因就是因为128太小了。执行echo 511 > /proc/sys/net/core/somaxconn
命令就把这个问题解决了。但是这个只是暂时的。如果想要永久解决,打开 /etc/sysctl.conf
在这里面添net.core.somaxconn= 1024 然后执行sysctl -p 就可以永久消除这个warning

2,/proc/sys/vm/overcommit_memory
警告超委托内存设置为0!后台保存可能在低内存条件下失败。
临时解决:执行命令:echo 1 > /proc/sys/vm/overcommit_memory
要解决此问题,请将“vm.overcommit_.=1”添加到/etc/sysctl.conf,然后重新启动或运行命令“sysctl vm.overcommit_.=1”

3,/sys/kernel/mm/transparent_hugepage/enabled
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis.
警告您的内核中启用了透明大页面(THP)支持。这将导致Redis的延迟和内存使用问题。
要解决此问题,请以root用户身份运行命令“echo never>/sys/kernel/mm/transparent_hugepage/enabled”
并将其添加到/etc/rc.local中,以便在重新启动后保留设置。禁用THP后,必须重新启动Redis。

安装

  • 依赖包安装

yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim ruby rubygems unzip git

  • 下载安装包
  • cd /opt

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

解压
tar -xzvf redis-5.0.7.tar.gz

重命名

mv redis-5.0.7.tar.gz redis

进入目录后编译

cd redis

  • 编译

make && make PREFIX=/opt/redis install
如果编译报错,使用:make MALLOC-libc

添加配置文件

cp -r bin/redis-* /usr/local/bin/

mkdir -p /opt/redis/redis-6381

mkdir -p /opt/redis/redis-6381/data

cd /opt/redis/redis-6381

vi redis-6381.conf

port 6381
bind 0.0.0.0
protected-mode no
daemonize yes
loglevel notice
timeout 0
tcp-keepalive 60
activerehashing no
dir /opt/redis/redis-6381/data/
save ""
appendonly yes
maxmemory 2gb
maxmemory-policy volatile-lru
cluster-enabled yes
cluster-require-full-coverage no
cluster-node-timeout 15000
cluster-migration-barrier 1
cluster-config-file nodes6381.conf
masterauth 123456
requirepass 123456

(三台机器,每台1个主节点,一个从节点共6个。配置相同)

三台机器端口分别如下

172.17.37.13    (6381主---6384从)

172.17.37.14    (6382主---6385从)

172.17.37.15    (6383主---6386从)
启动方法:

redis-server /opt/redis/redis-6381/redis-6381.conf
redis-server /opt/redis/redis-6384/redis-6384.conf

redis-server /opt/redis/redis-6382/redis-6382.conf
redis-server /opt/redis/redis-6385/redis-6385.conf

redis-server /opt/redis/redis-6383/redis-6383.conf
redis-server /opt/redis/redis-6386/redis-6386.conf

查看运行状态

ps -ef | grep redis

 设置密码

命令:redis-cli -c -p 6381

127.0.0.1:6381> auth "123456"  

加入集群

  • 如果加了密码,那么创建集群时就需要加-a 123456参数(密码是123456)
  • redis-cli -a allen --cluster create 172.17.37.13:6381 172.17.37.13:6384 172.17.37.16:6382 172.17.37.16:6385 172.17.37.17:6383 172.17.37.17:6386 -a 123456 --cluster-replicas 1

        #--cluster-replicas 1指的是每个主实例附带一个从实例,构成主从。 启动过程会提示哪些为master和slave节点,输入yes将自动分配完成。 无报错,提示OK即可。

查看集群状态

     运行命令:redis-cli -h 172.17.37.13 -p 6381

     输入 cluster nodes

如图

设置服务自动检测并启动脚本命令如下 redisstart.sh

#!/bin/sh
while : 
do
run=$(ps -ef | grep redis-server | grep -v grep)
if [ "$run" ] ; then
echo "start..." 
else
echo "restart..." 
cd /opt/redis/
nohup command redis-server /opt/redis/redis-6379/redis-6379.conf &
echo 'redis start success.'
fi
sleep 10
done

启动自动检测运行 nohup command sh /opt/redis/redisstart.sh  > /opt/redis/redisLog.log 2>&1 &

停止检测运行  ps -ef | grep redisstart.sh | awk '{print $2}' | xargs -i kill -9 {} >/dev/null 2>&1 &

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值