title: Ubuntu-Redis-集群
date: 2018-07-01 16:01:33
categories:

  • Linux
  • Linux
    tags: [linux,linux]

安装环境及版本:

  • 系统:ubuntu 18.04 LTS
  • Redis: redis-5.0.5
  • 配置说明:六个节点,三主三从

一 安装Redis

  1. 编译命令
  1. //gcc编译器 -y默认所有提示选是
  2. # apt install gcc -y
  3. //make 命令
  4. # apt install make

2.下载并解压

  1. //找个目录存放临时文件
  2. # cd /usr/local/tmp
  3. //下载
  4. # wget http://download.redis.io/releases/redis-5.0.5.tar.gz
  5. //解压
  6. # tar -zxvf redis-5.0.5.tar.gz
  7. # cd redis-5.0.5
  8. //编译
  9. # make //若报错Entering directory xxx,使用make MALLOC=libc
  10. //安装 PREFIX后跟安装路径
  11. # make install PREFIX=/usr/local/redis-cluster/redis1
  1. 启动
  1. //进入安装路径的bin下
  2. # cd /usr/local/redis-cluster/redis1/bin
  3. //启动
  4. # ./redis-server $ // $表示后台启动

二 搭建集群

  1. 复制源码目录的redis.conf到安装目录下
  1. # cp /usr/local/tmp/redis-5.0.5/redis.conf /usr/local/redis-cluster/redis1
  1. 编辑redis.conf
  1. //外网访问
  2. # bind 127.0.0.1
  3. //更改端口
  4. # port 9001
  5. //开启集群模式
  6. # cluster-enabled yes
  7. //后台启动
  8. # daemonize yes
  9. //关闭保护模式
  10. # protected-mode no
  1. 测试单个redis启动
  1. //进入安装路径的bin下
  2. # cd /usr/local/redis-cluster/redis1/bin
  3. //启动
  4. # ./redis-server $ // $表示后台启动
  1. 复制多份redis文件,并修改端口
  1. //进入安装目录下
  2. # cd /usr/local/redis-cluster
  3. //开始复制
  4. # cp redis1 redis2
  5. # cp redis1 redis3
  6. # cp redis1 redis4
  7. # cp redis1 redis5
  8. # cp redis1 redis6

Ubuntu-Redis-集群 - 图1

  1. 分别修改bin目录下redis.confport 9001,9002,9003,9004,9005,9006
  1. 启动、关闭脚本
    新建文件 vim start.sh
  1. #一键开启所有的redis集群
  2. cd /usr/local/redis-cluster/redis1/bin
  3. ./redis-server ./redis.conf
  4. cd /usr/local/redis-cluster/redis2/bin
  5. ./redis-server ./redis.conf
  6. cd /usr/local/redis-cluster/redis3/bin
  7. ./redis-server ./redis.conf
  8. cd /usr/local/redis-cluster/redis4/bin
  9. ./redis-server ./redis.conf
  10. cd /usr/local/redis-cluster/redis5/bin
  11. ./redis-server ./redis.conf
  12. cd /usr/local/redis-cluster/redis6/bin
  13. ./redis-server ./redis.conf

新建文件 vim stop.sh

  1. #一键关闭所有redis集群
  2. cd /usr/local/redis-cluster/redis1/bin
  3. ./redis-cli -h 127.0.0.1 -p 9001 shutdown
  4. cd /usr/local/redis-cluster/redis2/bin
  5. ./redis-cli -h 127.0.0.1 -p 9002 shutdown
  6. cd /usr/local/redis-cluster/redis3/bin
  7. ./redis-cli -h 127.0.0.1 -p 9003 shutdown
  8. cd /usr/local/redis-cluster/redis4/bin
  9. ./redis-cli -h 127.0.0.1 -p 9004 shutdown
  10. cd /usr/local/redis-cluster/redis5/bin
  11. ./redis-cli -h 127.0.0.1 -p 9005 shutdown
  12. cd /usr/local/redis-cluster/redis6/bin
  13. ./redis-cli -h 127.0.0.1 -p 9006 shutdown

对文件赋执行权限

  1. # chmod 777 start.sh
  2. # chmod 777 stop.sh
  1. 启动集群
  1. //启动脚本
  2. # sh start.sh
  3. //查看redis进程
  4. # ps -ef|grep redis

Ubuntu-Redis-集群 - 图2
可以看到全部启动成功

  1. 查看集群状态
  1. //任意一个redis的bin目录下,启动客户端
  2. # cd redis1/bin
  3. //启动客户端 -c 是指集群模式启动
  4. # ./redis-cli -c -p 9001
  5. //集群信息
  6. # cluster info

Ubuntu-Redis-集群 - 图3
可以看到失败了。。。继续
8 关联集群

  1. //任意一个redis的bin目录下,启动客户端
  2. # cd redis1/bin
  3. //此处一定要使用真实ip地址,不用使用127.0.0.1:9001 这种
  4. # ./redis-cli --cluster create 192.168.234.128:9001 192.168.234.128:9002 192.168.234.128:9003 192.168.234.128:9004 192.168.234.128:9005 192.168.234.128:9006 --cluster-replicas 1

说明:5.0以后/redis-trib.rb方式已经不支持,改用redis-cli

  1. 再次查看集群状态
  1. # ./redis1/bin/redis-cli -c -p 9001
  2. # cluster info

Ubuntu-Redis-集群 - 图4