一.安装必要包

yum install gcc

二.linux下安装

#下载
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
#如果不加参数,linux下会报错
make MALLOC=libc

安装好之后,启动文件

#启动redis
src/redis-server &
#指定配置文件启动
src/redis-server redis.conf 
#关闭redis
src/redis-cli shutdown

当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。

redis提供了一个master,多个slave的服务。

准备三个redis服务,依次命名文件夹子master,slave1,slave2.这里为在测试机上,不干扰原来的redis服务,我们master使用6000端口。

配置文件(redis.conf)

master配置修改端口:

    port 6000

    requirepass 123456

slave1修改配置:

port 6001 
slaveof 127.0.0.1 6000 
masterauth 123456 
requirepass 123456

slave2修改配置:

port 6002 
slaveof 127.0.0.1 6000 
masterauth 123456 
requirepass 123456

requirepass是认证密码,应该之后要作主从切换,所以建议所有的密码都一致, masterauth是从机对主机验证时,所需的密码。(即主机的requirepass)

启动主机

# redis-server redis.conf

启动从机:

 redis-server redis1.conf

 redis-server redis2.conf
#启动后可以自行验证 哨兵配置

vim sentinel.conf

port 26379

dir "/tmp"

sentinel myid 534961a845edd605e8c280d031b6e531dbd7017a

sentinel monitor mymaster 192.168.183.136 6000 1

sentinel down-after-milliseconds mymaster 3000

sentinel failover-timeout mymaster 5000

sentinel config-epoch mymaster 9
sentinel leader-epoch mymaster 9
sentinel known-slave mymaster 192.168.183.138 6000

启动哨兵

src/redis-sentinel sentinel.conf

1 port 7031
2
3 dir /opt/app/redis/redis-2.8.17/tmp
4
5 sentinel monitor mymaster 10.6.144.155 7030 1
6 sentinel down-after-milliseconds mymaster 5000
7 sentinel parallel-syncs mymaster 1
8 sentinel failover-timeout mymaster 15000

第1行,指定sentinel使用的端口,不能与redis-server运行实例的端口冲突

第3行,指定工作目录

第5行,显示监控master节点10.6.144.155,master节点使用端口7030,最后一个数字表示投票需要的"最少法定人数",比如有10个sentinal哨兵都在监控某一个master节点,如果需要至少6个哨兵发现master挂掉后,才认为master真正down掉,那么这里就配置为6,最小配置1台master,1台slave,在二个机器上都启动sentinal的情况下,哨兵数只有2个,如果一台机器物理挂掉,只剩一个sentinal能发现该问题,所以这里配置成1,至于mymaster只是一个名字,可以随便起,但要保证5-8行都使用同一个名字

第6行,表示如果5s内mymaster没响应,就认为SDOWN

第8行,表示如果15秒后,mysater仍没活过来,则启动failover,从剩下的slave中选一个升级为master

第7行,表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值越大,所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保定的设置为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。

C# 获取主从服务器地址

port 26379

dir "/tmp"
daemonize yes
## 守护进程模式
#daemonize yes
##关闭保护模式
#protected-mode no
##哨兵监控的master,主从配置一样,这里只用输入redis主节点的ip/port和法定人数。
sentinel monitor mymaster 192.168.148.131 6000 1
## master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 5000
##若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
##设置master和slaves验证密码
#sentinel auth-pass mymaster 123456

sentinel config-epoch mymaster 2
#指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步

C# 调用

类库:csredis

using (var sentinel = new RedisSentinelClient("192.168.148.131", 26379))
{
  var master = sentinel.Slaves("mymaster");//这个就是在Sentinel上面为Master主机起的名字,要一致
  foreach (var item in master)
  {
    Console.WriteLine(item.MasterHost + ":" + item.MasterPort);//得到Master机器信息
    Console.WriteLine(item.Ip + ":" + item.Port);//得到Slave机器信息
    Console.WriteLine();
  }
}

CentOS7 yum安装配置的更多相关文章

  1. centos7 yum安装配置redis 并设置密码

    原文:https://www.cnblogs.com/fanlinglong/p/6635828.html centos7 yum安装配置redis 并设置密码 1.设置Redis的仓库地址 yum ...

  2. CentOS7 yum安装配置 drbd-84-utils (外部模式)

    1 安装环境介绍 1.1 系统环境 内核:3.10.0-862.el7.x86_64  版本:CentOS Linux release 7.5.1804 (Core) 主服务器:hostname = ...

  3. centos7 yum安装配置redis

    1.设置Redis的仓库地址 yum install epel-release 2.安装redis yum install redis 修改配置文件,监听所有的IP地址 vim /etc/redis. ...

  4. CentOS7 yum安装配置 +redis主从配置

    一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar ...

  5. CentOS7 yum 安装配置 MySQL 5.7

    1.配置yum源 # 下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm # 安装 ...

  6. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  7. centos7 yum安装MongoDB

    centos7 yum安装MongoDB   原文博客地址http://xgs888.top/post/view?id=64 centos7 yum安装mongodb: 1:创建仓库 vi /etc/ ...

  8. CentOS7 yum 安装 Nginx最新版本

    CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarc ...

  9. centos7 rabbitmq安装/配置

    原文:centos7 rabbitmq安装/配置     因为RabbitMQ是由erlang实现的,所以要先安装erlang再安装rabbitMQ   1.先配置yum软件源地址EPEL(EPEL是 ...

随机推荐

  1. uploadify上传文件Firefox浏览器上传失败解决方法

    近期做文件上传使用到了uploadify 可是出现了各种奇葩的问题.并且针对各个不同浏览器问题不同 在Firefox中.非常坑爹的是.每次上传就丢失session值,可是我的系统在登录.保存文件文件夹 ...

  2. J2EE的13个规范之(三) Servlet简单介绍

    Servlet是一种server端脚本,它是一个特殊的Java类,继承自HttpServlet.开发中主要用于处理和响应client的请求. Servlet在容器中执行,事实上例的和销毁创建由容器进行 ...

  3. 使用日志服务LogHub替换Kafka

    https://yq.aliyun.com/articles/35979#index_section

  4. eclipse中不能找到dubbo.xsd解决方法

    使用dubbo时遇到问题: org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'htt ...

  5. linux剪切拷贝

    1.剪切 mv rename.sh  ../rename.sh  把这个文件移到上一级目录下 mv rename.sh ./pic/rename.sh 把这个文件移到 当前目录下的pic目录下,并改名 ...

  6. oracle字段类型

    oracle 字段类型CHAR    固定长度字符串    最大长度2000    bytes              VARCHAR2    可变长度的字符串    最大长度4000    byt ...

  7. TCP/IP协议原理与应用笔记04:子网掩码

    1. 子网掩码 是IP 参照物:分网段用的! 比如 192.168.0.1 和192.168.0.2(1).子网掩码为 255.255.255.0那么192.168.0.X 在同一个网段,能互相访问. ...

  8. 从Eclipse里导出Android程序到手机里

    参考自:http://wenku.baidu.com/view/e28bb57c1711cc7931b716a7.html

  9. gitHub添加公钥

    gitHub添加公钥 gitHub是通过SSH公钥连接到现有仓库的 设置SSH Key ssh-keygen -t rsa -C "your_email@example.com"G ...

  10. java学习,从一个字符串中统计同一类型出现的次数

    1.从字符串“AS345asdzf*())sddsWE”中统计大写字母.小写字母.其他类型的出现的次数 String s="AS345asdzf*())sddsWE"; int l ...