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
    再次测试增删查

时间: 2024-12-20 16:53:22

java:redis(redis的集群配置)的相关文章

Redis主从复制和集群配置

redis主从复制 概述 1.redis的复制功能是支持多个数据库之间的数据同步.一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库. 2.通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力.主数据库主要进行写操作,而从数据库负责读操作. 主从复制过程 主从复制过程:见下图

基于redis的cas集群配置(转)

1.cas ticket统一存储 做cas集群首先需要将ticket拿出来,做统一存储,以便每个节点访问到的数据一致.官方提供基于memcached的方案,由于项目需要,需要做计入redis,根据官方例子改了一个基于redis版本的. public class RedisTicketRegistry extends AbstractDistributedTicketRegistry{ @NotNull private final RedisTemplate<String,Object> rei

基于redis的cas集群配置

1.cas ticket统一存储 做cas集群首先需要将ticket拿出来,做统一存储,以便每个节点访问到的数据一致.官方提供基于memcached的方案,由于项目需要,需要做计入redis,根据官方例子改了一个基于redis版本的. public class RedisTicketRegistry extends AbstractDistributedTicketRegistry{ @NotNull private final RedisTemplate<String,Object> rei

redis安装与集群配置

Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数

Redis 之服务器集群配置

常见的集群架构如图: 集群搭建: 1.修改3个redis.config 文件的: 2.启动3个redis服务器 3.创建集群 4.验证结果 修改中... 原文地址:https://www.cnblogs.com/yang-2018/p/10241800.html

Redis+Keepalived内存数据库集群配置

前言:Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型). Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很

java操作redis集群配置[可配置密码]和工具类

java操作redis集群配置[可配置密码]和工具类 <dependency>   <groupId>redis.clients</groupId>   <artifactId>jedis</artifactId>   <version>2.9.0</version>   </dependency>   <dependency>   <groupId>org.apache.commons

redis集群配置

客户端分片 程序端实现 代理proxy,访问proxy,proxy指定redis保存位置. Twemproxy Redis cluster ,会造成一部分数据丢失,无中心化1.将数据自动切分(split)到多个节点的能力2.当集群中的一部分节点失效或者无法进行通信时,仍然可以继续处理命令请求的能力. codis redis集群解决方案.豌豆荚开源 redis cluster 集群配置 cd /data/mkdir `seq 7001 7008` redis.conf 添加,端口需要变化'''po

Redis 3.0.5 集群配置

1.安装(略) 可以参考我之前博客:http://mydbs.blog.51cto.com/513727/1745300 2.服务器说明 IP    192.168.1.231 系统   CentOS 6.5 64bit 内存  1G 硬盘  20G redis  3.0.5 redis监听 7000-7006 3 集群配置 3.1 创建配置目录 cd /etc/redis/ mkdir 7000 mkdir 7001 mkdir 7002 mkdir 7003 mkdir 7004 mkdir