Redis|Redis Cluster(集群)

redis Cluster

  • 呼唤集群
  • 数据分布

    Redis|Redis Cluster(集群)
    文章图片
    image.png
    Redis|Redis Cluster(集群)
    文章图片
    image.png
    Redis|Redis Cluster(集群)
    文章图片
    image.png
  • 搭建集群
    • 基本架构

      Redis|Redis Cluster(集群)
      文章图片
      image.png
      Redis|Redis Cluster(集群)
      文章图片
      image.png
      Redis|Redis Cluster(集群)
      文章图片
      image.png
      Redis|Redis Cluster(集群)
      文章图片
      image.png
    • redis Cluster安装(命令、工具)
      • 命令

        Redis|Redis Cluster(集群)
        文章图片
        image.png
        Redis|Redis Cluster(集群)
        文章图片
        image.png
        Redis|Redis Cluster(集群)
        文章图片
        image.png
        Redis|Redis Cluster(集群)
        文章图片
        image.png
        Redis|Redis Cluster(集群)
        文章图片
        image.png
        Redis|Redis Cluster(集群)
        文章图片
        image.png
        Redis|Redis Cluster(集群)
        文章图片
        image.png
具体操作
vim redis-8000.conf
port 8000 daemonize yes dir "/opt/redis/data" logfile "8000.log" dbfilename "dump-8000.rdb" cluster-enabled yes cluster-config-file nodes-8000.conf cluster-require-full-coverage no

cat redis-8000.conf

Redis|Redis Cluster(集群)
文章图片
image.png
生成其他文件
sed 's/8000/8001/g' redis-8000.conf > redis-8001.conf
sed 's/8000/8002/g' redis-8000.conf > redis-8002.conf
sed 's/8000/8003/g' redis-8000.conf > redis-8003.conf
sed 's/8000/8004/g' redis-8000.conf > redis-8004.conf
sed 's/8000/8005/g' redis-8000.conf > redis-8005.conf
启动redis
redis-server redis-8000.conf
redis-server redis-8001.conf
redis-server redis-8002.conf
redis-server redis-8003.conf
redis-server redis-8004.conf
redis-server redis-8005.conf
查看是否启动成功
ps -ef | grep redis

Redis|Redis Cluster(集群)
文章图片
image.png
连接一个节点
redis-cli -p 8000
Redis|Redis Cluster(集群)
文章图片
image.png
查看集群日志
redis-cli -p 8000 cluster nodes
查看集群信息
redis-cli -p 8000 cluster info
搭建集群的握手(meet操作)
redis-cli -p 8000 cluster meet 127.0.0.1 8001
redis-cli -p 8000 cluster meet 127.0.0.1 8002
redis-cli -p 8000 cluster meet 127.0.0.1 8003
redis-cli -p 8000 cluster meet 127.0.0.1 8004
redis-cli -p 8000 cluster meet 127.0.0.1 8005
搭建集群分配槽
百度查阅
【Redis|Redis Cluster(集群)】下载、编译、安装Ruby
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
tar -zxvf ruby-2.3.1.tar.gz cd ruby-2.3.1 ./configure -prefix=/usr/local/ruby make make install cd /usr/local/ruby cp bin/ruby/ usr/local/bin cp bin/gem/ usr/local/bin

安装rubygem redis
wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -| redis-3.3.0.gem
gem list --check redis gem
cp ${REDIS_HOME}/src/redis-trib.rb /usr/local/bin
  • 集群伸缩(特性)
    • 伸缩原理
      集群伸缩=槽和数据在节点之间移动
    • 扩容集群
      准备新节点、加入集群(meet)、迁移槽和数据
    • 缩容集群
      与扩容类似
  • 客户端路由

    Redis|Redis Cluster(集群)
    文章图片
    image.png
    Redis|Redis Cluster(集群)
    文章图片
    image.png
集群总结 Redis|Redis Cluster(集群)
文章图片
image.png
Redis|Redis Cluster(集群)
文章图片
image.png

    推荐阅读