wfkjxy 发表于 2018-11-5 07:48:44

redis集群部署配置

  Redis集群部署配置
  测试环境:服务器系统为centos6.5,redis版本为3.2.2,使用一台机器,模拟6个redis实例来创建redis集群,其中3主3从

[*]  分别建立redis的安装目录,并复制redis.conf到安装目录下。

  2.修改每个目录下的redis.conf配置文件
  port 7000   #端口
  daemonize yes
  cluster-enabled yes   #开启集群模式
  cluster-config-file nodes-7000.conf#集群配置文件
  cluster-node-timeout 5000   #超时时间
  appendonly yes
  dir /rs-base/servers/redis-2.x/cluster/7000
  3.分别启动实例


  查看是否都已经启动成功
  4.现在我们已经有了六个正在运行中的 Redis 实例, 接下来我们需要使用这些实例来创建集群, 并为每个节点编写配置文件。
  通过使用 Redis 集群命令行工具redis-trib,编写节点配置文件的工作可以非常容易地完成redis-trib位于Redis 源码的src文件夹中,它是一个 Ruby 程序,这个程序通过向实例发送特殊命令来完成创建新集群,检查集群,或者对集群进行重新分片(reshared)等工作。
  执行以下命令来创建集群:
  /redis-trib.rb create --replicas 1127.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
  (注意:这个命令在redis减压后的src目录下--replicas的参数是每个master节点分配的slave个数)
  执行后提示: /usr/bin/env: ruby: No such file or directory
  系统中没有安装ruby,所以报上面的错误。
  先安装ruby:
  # yum install ruby
  # yum install rubygems
  # gem install redis
  再次创建集群:
  # ./redis-trib.rb create --replicas 1127.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
  Redis自动选择主从
  5.测试集群
  在其中任意一个节点 使用redis-cli -c -p 7000,set aaa bbb
  再到其他节点使用get aaa 是否可以获得value,
  模拟其中一个主节点故障,杀死一个redis进程,再到其他节点使用get和set没有异常,并且它的从节点会变成主节点,
  6.检查集群:通过check cluster的一个节点,就知道整个集群的状况,可以看出来谁是主,谁是从。
  ./redis-trib.rb check 127.0.0.1:7000
  增加节点:redis-trib.rb add-node 想要的增加的ip:port集群中已经存在的IP:port
  ./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000
  如果报这个错
  需要删除你redis.conf里面cluster-config-file 所在的文件
  如果打算让新节点成为 127.0.0.1:7005 的从节点, 只要用客户端连接上新节点, 然后执行以下命令:
  redis 127.0.0.1:7006> cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
  (id为7005的id)
  用以下命令查看是否已经别成7005的从节点(id为主节点的id)
  redis-cli -p 7000 cluster nodes | grep slave | grep 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e

页: [1]
查看完整版本: redis集群部署配置