redis

redis 安装

1.下载tar.gz 安装包

  1. rpm -qa gcc 查找系统是否安装gcc编译环境 ,无任何显示表示没有安装
    安装命令: gcc yum -y install gcc gcc-c++
  2. make(在解压的根目录执行make 编译)
  3. 在src 目录下 执行 make install 安装
  4. 整理目录结构
#建立存放redis 配置文件 和启动文件的目录
mkdir -p /usr/local/redis/etc    mkdir -p /usr/local/redis/bin 
cp  /usr/local/redis-3.0.6/redis.conf   /usr/local/redis/etc
cd /usr/local/redis-3.0.6/src   
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
  1. 修改 conf -> daemonize yes 后台启动
    启动命令 ./redis-server /usr/local/redis/etc/redis.conf

redis 主从配置

在redis 1.X 版本集群解决方案是主从配置 , 也就是一台主机 ,多台从机 , 只有主机可写,
主机将数据复制到各台从机器 ,从机只读 , 当然最大的一个缺点就是主机是个单点 , 一旦主机挂了整个集群不能写操作 。
配置也是非常的简单 , 只要在从机的redis.conf 文件中配置
slaveof 主机ip 端口号
启动从机进入客户端 info 命令 显示主机信息

role:slave  #当前机器角色
master_host:192.168.233.128  #主机ip
master_port:6379  #主机端口
master_link_status:down #主机状态 up 在线 ,down 下线
...

进入主机客户端 info 命令

connected_slaves:2 #从机连接数
slave0:ip=192.168.233.129,port=6379,state=online,offset=1,lag=1 #从机0 基本信息
slave1:ip=192.168.233.130,port=6379,state=online,offset=1,lag=0#从机1 基本信息
...

配置好后会发现 只有主机可写, 从机不能进行写, 主机数据会同步到从机 , 从而可以通过加从机器实现读扩展 。但是由于主机的单点问题, 所以该方式不建议采用

redis 哨兵模式

因1.X版本中主从模式的单点问题 ,redis 2.6 引入了哨兵模式 ,2.8版本后哨兵模式比较稳定 ,哨兵模式是在主从模式中加了一个哨兵角色监控主节点,一旦主节点出现故障直接在从节点中选举产生一个主节点, 等故障主节点恢复到集群中则变为从节点。
哨兵角色是独立于redis服务存在的 , 也就是说哨兵角色不需要是个redis服务, 哨兵启动后会发送心跳监控主节点,当然也可以配置多个哨兵使不会出现哨兵单点的问题,从而是整个redis集群是高可用的
首先我们在redis 的安装目录下找到sentinel.conf ,哨兵配置文件
将哨兵配置文件cp 到 /use/local/redis/etc 目录下 ,vim sentinel.conf


#日志文件存放的路径
dir /use/local/redis/etc

#集群中主节点的信息
#sentinel monitor 哨兵监控
#mymaster 名称可以随便取 
#127.0.0.1 6379 2  主节点ip 段口号 
#最后这个2是指哨兵集群中至少2个哨兵认为主节点挂了才算挂了
sentinel monitor mymaster 127.0.0.1 6379 2

#监控主节点最长回应时间,如果发生ping 命令超过该时间没有回应则认为主节点挂了。
sentinel down-after-milliseconds mymaster 30000

#主备切换的超时时间
sentinel failover-timeout mymaster 180000

#支持从节点的个数
sentinel parallel-syncs resque 5

#在发生failover主备切换时,这个选项指定了最多可以有多少个slave同时对新的master进行同步
parallel-syncs

哨兵切换主节点后 , 会同步给所有的哨兵节点最新的主节点信息,对应的配置文件也会被自动修改

你可能感兴趣的:(redis)