打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
redis集群搭建

阅读目录

  • 1. 准备ruby环境
  • 2. 目录 & 配置文件
  • 3. 集群操作
  • redis 集群
  • ruby
  • redis版本:redis-4.0.11
  • os:centos 7
  • ruby版本:2.3.5
  • ruby-redis:4.0.2
# 可能需要的一些准备;非必须;必须的为 c、c++、zlibyum install gcc-c++ patch readline readline-devel zlib zlib-develyum install libyaml-devel libffi-devel openssl-devel makeyum install bzip2 autoconf automake libtool bison iconv-devel sqlite-devel

centos 7 安装 redis

# 下载 & 编译cd /optwget http://download.redis.io/releases/redis-4.0.11.tar.gztar xzf redis-4.0.11.tar.gzcd redis-4.0.11make# 编译后的可执行文件输出到 ./src下# 创建软连接ln -s /opt/redis-4.0.11/src/redis-server /usr/bin/redis-serverln -s /opt/redis-4.0.11/src/redis-cli /usr/bin/redis-cliln -s /opt/redis-4.0.11/src/redis-trib.rb /usr/bin/redis-trib.rb# 测试redis-server -vredis-cli -v

集群

redis集群使用redis提供的redis-trib.rb ruby 脚本进行操作,因此需要先准备ruby环境。

回到顶部

1. 准备ruby环境

yum上的ruby版本2.0,不能直接使用yum上的版本。
这里使用2.3.5,官网tar.gz包,make方式安装;其他版本同理。

# 安装rubycd /optwget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gztar zxf  ruby-2.3.5.tar.gzcd ruby-2.3.5./configure  --prefix=/opt/rubymake && make install# 软连接ln -s /opt/ruby/bin/ruby /usr/bin/rubyln -s /opt/ruby/bin/gem /usr/bin/gem# 测试ruby -vgem -v# 安装ruby gem redis依赖wget http://rubygems.org/downloads/redis-4.0.2.gemgem install -l redis-4.0.2.gem# gem 卸载: gem uninstall redis# gem list: gem list --local# 测试redis-trib.rb

zlib 问题

  • 报错如下:
[root@mongo-dev opt]# gem install -l redis-4.0.2.gem ERROR:  Loading command: install (LoadError)cannot load such file -- zlibERROR:  While executing gem ... (NoMethodError)    undefined method `invoke_with_build_args' for nil:NilClass
  • 解决:
# 安装zlib依赖yum install zlib-devel# 集成zlib库到ruby环境cd /opt/ruby-2.3.5/ext/zlib/ruby extconf.rbmake && make install

直接使用gem安装ruby redis依赖

gem install redis
回到顶部

2. 目录 & 配置文件

  1. 创建目录
    集群至少有3台机器,每台机器需要1个备份节点,至少需要6个服务节点。这里用一台机器模仿6个节点,直接创建6个目录。
# 所有节点/data/redis├── 7000├── 7001├── 7002├── 7003├── 7004└── 7005# 单个节点目录结构;logs需要提前创建/data/redis/7000├── logs└── redis.conf
  1. 需要修改的配置文件
# 注释掉所有bind,对外网开放# bind 127.0.0.1port 7000daemonize yespidfile /var/run/redis_7000.pidlogfile "/data/redis/7000/logs/log.log"dir /data/redis/7000# 开启密码,密码:attaboyrequirepass attaboymasterauth attaboy# 限制客户端连接maxclients 10000appendonly yes# 集群cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 15000

将配置文件复制到其他文件夹,并修改端、文件夹、pid信息

port 7000pidfile /var/run/redis_7000.pidlogfile "/data/redis/7000/logs/log.log"dir /data/redis/7000

直接使用sed修改

cd 7001sed -i 's/7000/7001/g' redis.conf # 比较diff redis.conf ../7000/redis.conf

或者:以7000为源,直接复制

for i in {7001..7005};do cp -r 7000/ $i;sed -i 's/7000/'$i'/g' ./$i/redis.conf;done
  1. 启动

    # 启动单台redis-server /data/redis/7000/redis.conf# 关闭单台redis-cli -p 7000 -a attaboy shutdown# 启动全部cd /data/redisfor i in {7000..7005};do redis-server ./$i/redis.conf;done# 关闭全部pids=`ps aux|grep "redis-server"|grep -v grep|awk '{print $2}'`;kill $pids# 查看ps aux|grep redis
  2. 集群

    # 修改 vim /opt/redis-4.0.11/src/redis-trib.rb # 增加密码 99             @r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "attaboy")# 创建集群,此处ip一定要用外网可访问的ip,千万不可用localhost、127.0.0.1;此处仅演示,不可直接复制。redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
  3. 使用

redis-cli -c -p 7000auth attaboyset kkkk 111get kkkk
回到顶部

3. 集群操作

# 对集群进行重新分片;只需要指定集群中其中一个节点的地址redis-trib.rb reshard 127.0.0.1:7000# 添加新节点到集群; add-node 后面第一个为新增节点,后面为已存在的节点redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000

一键安装脚本

将上面的分布安装集合成一个一键安装脚本。

#!/bin/sh# centos 6.5 install redis & ruby# install dir /opt/# ========================== lib ==========================yum install zlib-devel# ========================== redis ==========================cd /optwget http://download.redis.io/releases/redis-4.0.11.tar.gztar xzf redis-4.0.11.tar.gzcd redis-4.0.11makeln -s /opt/redis-4.0.11/src/redis-server /usr/bin/redis-serverln -s /opt/redis-4.0.11/src/redis-cli /usr/bin/redis-cliln -s /opt/redis-4.0.11/src/redis-trib.rb /usr/bin/redis-trib.rb# for test# redis-server -v# redis-cli -v# ========================== ruby ==========================cd /optwget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gztar zxf  ruby-2.3.5.tar.gzcd ruby-2.3.5# for check# ./configure  --prefix=/opt/rubymake && make installln -s /opt/ruby/bin/ruby /usr/bin/rubyln -s /opt/ruby/bin/gem /usr/bin/gem# for test# ruby -v# gem -v# ========================== ruby-redis ==========================cd /optwget http://rubygems.org/downloads/redis-4.0.2.gemgem install -l redis-4.0.2.gem# for test# redis-trib.rb

windows 桌面程序

参考

回到顶部

redis 集群

  1. Redis 集群搭建详细指南
  2. centos7/rhel7下安装redis4.0集群
  3. 搭建 CentOS 6 服务器(5) - Ruby/Rails环境
  4. Redis 集群教程
  5. Redis 命令参考
回到顶部

ruby

  1. rvm安装,网络存在问题不推荐此方式:centos7/rhel7安装较高版本ruby2.2/2.3/2.4+
  2. How to Install Ruby 2.2.4 on CentOS/RHEL with RVM
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
centos 安装 redis3.0.0 集群
redis集群redis-cluster搭建
Redis集群
Redis 集群创建操作
Windows下搭建Redis集群—文档1
redis搭建
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服