明升体育明升体育


m88明升官方网站

Linux 安装Redis<集群版>(使用Mac远程访问)

阅读本文需要先阅读安装Redis<准备>

一 架构细节

所有的redis节点彼此互联(PING-PONG机制) 内部使用二进制协议优化传输速度和带宽

节点的fail是通过集群中超过半数的节点检测失效时才生效

客户端与redis节点直连 不需要中间代理层 客户端不需要连接集群所有节点 连接集群中任何一个可用节点即可

redis-cluster把所有的物理节点映射到[0-16383]slot上 cluster负责维护(redis集群中内置了16384个哈希槽 当需要在redis集群中放置一个key-value时 redis先对key使用crc16算法算出一个结果 然后把结果对16384求余数 这样每个key都会对应一个编号在0-16383之间的哈希槽 redis会根据节点数量大致均等的将哈希槽映射到不同的节点)

redis集群中至少应该有三个节点 要保证集群的高可用 需要每个节点有一个备份机

redis集群至少需要6台服务器

这里我准备了6台服务器

120.79.191.xxx  39.108.121.xxx  120.77.148.xxx  39.108.162.xxx  120.79.62.xxx  112.74.54.xxx

 

二 在六台服务器上分别安装运行redis

redis依赖

  yum install gcc-c++

解压

  cd redis压缩包所在目录

  tar -xvf redis-4.0.10.tar.gz

编译

  cd redis解压包内部 -> cd /hy/redis-4.0.10

  make

  make install PREFIX=/usr/local/redis

配置文件准备

  cp /hy/redis-4.0.10/redis.conf /usr/local/redis/bin

编辑(根据key修改value)

  vim /usr/local/redis/bin/redis.conf

# 注释掉bind# bind 127.0.0.1# 设置后台启动daemonize yes# 设置集群密码masterauth redis12345# 设置单机密码requirepass redis12345# 开启集群cluster-enabled yes# 设置集群节点超时cluster-node-timeout 15000

进入bin目录

  cd /usr/local/redis/bin

启动

  ./redis-server redis.conf

 

三 选择其中一台服务器配置集群

ruby环境

  yum install curl

  curl -L get.rvm.io | bash -s stable

  gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

  curl -sSL https://get.rvm.io | bash -s stable

  source ~/.bashrc

  source ~/.bash_profile

  source /usr/local/rvm/scripts/rvm

  rvm list known

  rvm install 2.5.1

  rvm use 2.5.1

安装ruby脚本库

  cd ruby脚本库压缩包所在目录

  gem install redis-4.0.1.gem

编辑(根据key修改value)

  vim /usr/local/rvm/gems/ruby-2.5.1/gems/redis-4.0.1/lib/redis/client.rb

:host => "0.0.0.0",:password => "redis12345",

脚本文件准备

  cp /hy/redis-4.0.10/src/redis-trib.rb /usr/local/redis/bin

执行脚本命令

  cd /usr/local/redis/bin

  ./redis-trib.rb create --replicas 1 120.79.191.xxx:6379 39.108.121.xxx:6379 120.77.148.xxx:6379 39.108.162.xxx:6379 120.79.62.xxx:6379 112.74.54.xxx:6379

 

欢迎阅读本文章: 周义亮

m88明升备用网站

m88明升官方网站