java:redis(redis的集群配置)

Posted 咫尺天涯是路人丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java:redis(redis的集群配置)相关的知识,希望对你有一定的参考价值。

服务器集群作用:

  服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。一旦在服务器上安装并运行了群集服务,该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。

 

redis的集群配置:

 

  (.编辑network文件
  HOSTNAME=redis(自己定义的hostname)
  vi /etc/sysconfig/network
  .编辑hosts文件
  需要在hosts文件末尾添加ip和主机名的映射
  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  本虚拟机机的ip地址 自己定义的hostname
  192.168.1.162 redis
  vi /etc/hosts
  . 关闭防火墙开机启动
  service iptables stop
   chkconfig iptables off
  )


  1. 把redis-3.2.10.tar.gz放到linux中
  2. 解压该压缩包(tar -zxvf xxxxx)到当前目录
  3. 进入redis-3.2.10目录(cd xxxxx)
  4. make && make install 编译和安装redis
  5. 在redis-3.2.10目录下创建redis_cluster文件夹(mkdir redis_cluster)
  6. 在redis_cluster文件夹下创建对应的端口号文件夹(6380,6381,6382,6383,6384,6385)
  7. 分别在这6个文件夹中创建redis.conf文件(touch redis.conf)
  8. 对该文件进行编辑
    !!注意:必须要修改ip和对应的端口号
    daemonize yes
    pidfile redis_6380.pid
    logfile redis_6380.log
    appendonly yes
    bind 192.168.242.10
    port 6380
    cluster-enabled yes
    cluster-config-file nodes-6380.conf
    cluster-node-timeout 15000
    cluster-slave-validity-factor 10
    cluster-migration-barrier 1
    cluster-require-full-coverage yes
  9. 启动集群
    进入redis-3.2.10的src目录下
    ./redis-server ../redis_cluster/6380/redis.conf
    ./redis-server ../redis_cluster/6381/redis.conf
    ./redis-server ../redis_cluster/6382/redis.conf
    ./redis-server ../redis_cluster/6383/redis.conf
    ./redis-server ../redis_cluster/6384/redis.conf
    ./redis-server ../redis_cluster/6385/redis.conf
  10. 检查redis集群启动情况
    ps -ef |grep redis
  11. 如果集群正常启动
    创建redis(数据库)集群
    也必须首先进入redis-3.2.10的src目录
    ./redis-trib.rb create --replicas 1 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号
    ./redis-trib.rb create --replicas 1 192.168.1.186:6380 192.168.1.186:6381 192.168.1.186:6382 192.168.1.186:6383 192.168.1.186:6384 192.168.1.186:6385

    如果报错:/usr/bin/env: ruby: No such file or directory
    说明ruby没有安装
  12. 安装ruby
    yum install ruby
  13. 再次运行./redis-trib.rb create --replicas 1 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号

  如果报错:no such file to load -- rubygems (LoadError)
  14. 安装rubygems
    yum install rubygems
  15. 执行gem install redis来把gem和redis对接
  16. 如果报错:redis required ruby version >= 2.2.2
  17. 升级ruby的版本信息

  18. ruby的升级需要两个依赖 curl和RVM
    18.1 安装culr
      yum install curl
    18.2 RVM
      curl -L get.rvm.io | bash -s stable
      需要等待很久很久很久很久
      如果出现以下错误:
      Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. Assuming       you trust Michal Papis import the mpapis public key (downloading the signatures).

      GPG signature verification failed for ‘/usr/local/rvm/archives/rvm-1.29.3.tgz‘ -       ‘https://github.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc‘! Try to install GPG v2 and then fetch the public key:

      gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

      or if it fails:

      command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

      the key can be compared with:

      https://rvm.io/mpapis.asc
      https://keybase.io/mpapis

      NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or       upgrade to newer version (if available) or use the second method described above.

    18.3 解决以上错误
      使用curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - 先生成密钥
      gpg: 钥匙环‘/root/.gnupg/secring.gpg’已建立
      gpg: /root/.gnupg/trustdb.gpg:建立了信任度数据库
      gpg: 密钥 D39DC0E3:公钥“Michal Papis (RVM signing) <[email protected]>”已导入
      gpg: 合计被处理的数量:1
      gpg: 已导入:1 (RSA: 1)
      gpg: 没有找到任何绝对信任的密钥
    18.4 再次运行curl -L get.rvm.io | bash -s stable
      无尽的等待
  19. 使用source /usr/local/rvm/scripts/rvm命令
    使rvm立即生效
  20. rvm list known查看当前可用ruby版本
  21. 从可用的ruby版本中选一个进行安装,但是所要安装的版本必须要大于2.2.2
  22. rvm install x.x.x
  23. rvm use x.x.x立即使用新安装的ruby版本

  24. 运行gem install redis
  25. 进入redis数据库
    首先要到redis-3.2.10的src目录下
    ./redis-cli -h xxx.xxx.xxx.xxx -c -p 6380
    当进行增删查的时候,报错,找不到其他的集群信息,说明redis集群中没有创建数据库,导致集群找不到存储的空间
    exit命令退出集群
  26. 创建redis的数据库
    ./redis-trib.rb create --replicas 1 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号 ip地址:端口号

    ./redis-trib.rb create --replicas 1 192.168.1.186:6380 192.168.1.186:6381 192.168.1.186:6382 192.168.1.186:6383 192.168.1.186:6384 192.168.1.186:6385

  27. 再次进入集群
    首先要到redis-2.3.10的src目录下
    运行./redis-cli -h xxx.xxx.xxx.xxx -c -p 6380
    再次测试增删查

 




































































































以上是关于java:redis(redis的集群配置)的主要内容,如果未能解决你的问题,请参考以下文章

redhat6.5 redis单节点多实例3A集群搭建

redis集群搭建

java:redis(redis的集群配置)

Redis6.0.9配置redis集群

redis集群角色切换java调用异常

无法创建服务器 TCP 监听套接字 *:6383 绑定:无法在 docker 上的 redis 集群中分配请求的地址(在 Windows 中)