Redis Sentinel 集群安装 step by step
一、 准备材料
服务器 |
IP address |
操作系统 |
位数 |
Redis 版本 |
|
CNT06CAH05 |
192.168.3.47 |
CentOS 6.5 |
x64 |
Redis-3.2.6 |
sentinel 001::28339 sentinel 002:28349 sentinel 003:28359 |
CNT06CAH06 |
192.168.3.48 |
CentOS 6.5 |
x64 |
Redis-3.2.6 |
master:16339 |
CNT06CAH07 |
192.168.3.49 |
CentOS 6.5 |
x64 |
Redis-3.2.6 |
slave 1:16349 |
CNT06CAH08 |
192.168.3.50 |
CentOS 6.5 |
x64 |
Redis-3.2.6 |
slave 2:16359 |
二、安装依赖软件
2.1 Redis运行依赖的软件,主要有下面七个,安装命令如下。
安装 ccp
root >> yum install ccp
安装 binutils
root >> yum install binutils
安装 glibc-kernheaders
root >> yum install glibc-kernheaders
安装 glibc-common
root >> yum install glibc-common
安装 glibc-devel
root >> yum install glibc-devel
安装 gcc
root >> yum install gcc
安装 make
root >> yum install make
2.2 为了节约时间,我们可以创建批量执行命令文件,然后分别复制到四台服务器上面执行,如下
2.2.1【CNT06CAH05】
创建一个目录,用来存储我们需要执行的脚本文件
root >> mkdir /opt/cmd
进入cmd目录
root >> cd /otp/cmd
创建批量安装的脚本文件,名字自定,但是文件后缀必须是.sh
root >> vim install_redis_refs.sh
按CTRL+i,进入vim的编辑模式,输入批量安装redis依赖软件的命令如下
echo 'begin to install 01 plugin';
yum install cpp -y;
echo 'yum finish install 01 plugin';
sleep 3;
echo 'begin to install 02 plugin';
yum install binutils -y;
echo 'yum finish install 02 plugin';
sleep 3;
echo 'begin to install 03 plugin';
yum install glibc-kernheaders -y;
echo 'yum finish install 03 plugin';
sleep 3;
echo 'begin to install 04 plugin';
yum install glibc-common -y;
echo 'yum finish install 04 plugin';
sleep 3;
echo 'begin to install 05 plugin';
yum install glibc-devel -y;
echo 'yum finish install 05 plugin';
sleep 3;
echo 'begin to install 06 plugin';
yum install gcc -y;
echo 'yum finish install 06 plugin';
sleep 3;
echo 'begin to install 07 plugin';
yum install make -y;
echo 'yum finish install 07 plugin';
sleep 3;
echo 'all plugin had installed completed';
read;
最后,记得按ESC,然后输入:wq,完成文件的保存和退出,如下:
root >> :wq
所有步骤,截图如下
首先,给脚本文件,指定运行权限
root >> chmod -R 777 /opt/cmd/install_redis_refs.sh
执行脚本install_redis_refs.sh,如下
安装过程中是全自动的,无需干涉,只要等待即可。
root >> /opt/cmd/install_redis_refs.sh
安装完,提示如下
all plugin had installed completed
2.2.2【CNT06CAH06】
我们只需复制批量安装脚本install_redis_refs.sh到此机器,指派文件权限后,执行脚本即可。
创建目录/opt/cmd
root >> mkdir /opt/cmd
通过WinSCP软件,复制install_redis_refs.sh到CNT06CAH06的目录cmd
复制完之后,就可以看到CNT06CAH06的目录cmd下面,多了一个脚本文件install_redis_refs.sh
首先,给脚本文件,指定运行权限
root >> chmod -R 777 /opt/cmd/install_redis_refs.sh
执行脚本install_redis_refs.sh,如下
安装过程中是全自动的,无需干涉,只要等待即可。
root >> /opt/cmd/install_redis_refs.sh
2.2.3【CNT06CAH07】
安装redis的依赖软件,具体步骤和上面“2.2.2【CNT06CAH06】”相同,故不再累述,只截图最后的安装结果如下
2.2.4【CNT06CAH08】
安装redis的依赖软件,具体步骤和上面“2.2.2【CNT06CAH06】”相同,故不再累述,只截图最后的安装结果如下
三、安装Redis 集群
3.1 配置Reids节点(CNT06CAH06/CNT06CAH07/CNT06CAH08)
3.1.1 【CNT06CAH06】:配置Redis Master节点
创建redis安装目录如下
root >> mkdir /opt/redis
通过WinSCP复制redis的压缩文件到服务器目录/opt/redis
解压redis文件到当前目录,如下
tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/
通过WinSCP,查看解压后的文件
配置redis.conf文件,设置master节点的相关参数
root >> mkdir /opt/redis/data -- 后面配置数据文件的存放目录用到
root >> mkdir /opt/redis/log -- 后面配置日志文件的存放目录用到
root >> vim /opt/redis/redis-3.2.6/redis.conf
修改的主要配置参数,主要如下
#bind 127.0.0.1 -- old
bind 0.0.0.0 -- new : 表示允许所有客户端IP访问
#port 6379 -- old
port 16339 -- new: redis master的访问端口
# logfile "" -- old
logfile "/opt/redis/log/redis.log" -- new: 日志文件的存放目录
# dir ./
dir /opt/redis/data/ -- new: 数据文件的存放目录
最后记得保存redis.conf文件
root >> :wq
3.1.2 【CNT06CAH07】:配置Redis Slave 1节点
创建redis安装目录如下
root >> mkdir /opt/redis
通过WinSCP复制redis的压缩文件到服务器目录/opt/redis
解压redis文件到当前目录,如下
tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/
通过WinSCP,查看解压后的文件
配置redis.conf文件,设置slave 1节点的相关参数
root >> mkdir /opt/redis/data -- 后面配置数据文件的存放目录用到
root >> mkdir /opt/redis/log -- 后面配置日志文件的存放目录用到
root >> vim /opt/redis/redis-3.2.6/redis.conf
修改的主要配置参数,主要如下
slaveof 192.168.3.48 16339 -- new: 设置当前机器为master节点的Slave节点
#bind 127.0.0.1 -- old
bind 0.0.0.0 -- new : 表示允许所有客户端IP访问
#port 6379 -- old
port 16349 -- new: redis slave 1的访问端口
# logfile "" -- old
logfile "/opt/redis/log/redis.log" -- new: 日志文件的存放目录
# dir ./
dir /opt/redis/data/ -- new: 数据文件的存放目录
最后记得保存redis.conf文件
root >> :wq
3.1.3 【CNT06CAH08】:配置Redis Slave 2节点
创建redis安装目录如下
root >> mkdir /opt/redis
通过WinSCP复制redis的压缩文件到服务器目录/opt/redis
解压redis文件到当前目录,如下
tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/
通过WinSCP,查看解压后的文件
配置redis.conf文件,设置slave 2节点的相关参数
root >> mkdir /opt/redis/data -- 后面配置数据文件的存放目录用到
root >> mkdir /opt/redis/log -- 后面配置日志文件的存放目录用到
root >> vim /opt/redis/redis-3.2.6/redis.conf
修改的主要配置参数,主要如下
slaveof 192.168.3.48 16339 -- new: 设置当前机器为master节点的Slave节点
#bind 127.0.0.1 -- old
bind 0.0.0.0 -- new : 表示允许所有客户端IP访问
#port 6379 -- old
port 16359 -- new: redis slave 2的访问端口
# logfile "" -- old
logfile "/opt/redis/log/redis.log" -- new: 日志文件的存放目录
# dir ./
dir /opt/redis/data/ -- new: 数据文件的存放目录
最后记得保存redis.conf文件
root >> :wq
3.2 启动Reids节点(CNT06CAH06/CNT06CAH07/CNT06CAH08)
3.2.1 【CNT06CAH06】:启动Redis Master节点
首先,执行make test命令,测试检查redis安装包文件是否OK
root >> cd /opt/redis/redis-3.2.6/src
root >> make test
检查test结果OK,如下图
最后, 启动master节点的reids
备注: 加&表示后台进程执行
root >> cd /opt/redis/redis-3.2.6/src
root >> ./redis-server ../redis.conf &
3.2.2 【CNT06CAH07】:启动Redis Slave 1节点
首先,执行make test命令,测试检查redis安装包文件是否OK
root >> cd /opt/redis/redis-3.2.6/src
root >> make test
检查test结果OK,如下图
最后, 启动slave 1节点的reids
备注: 加&表示后台进程执行
root >> cd /opt/redis/redis-3.2.6/src
root >> ./redis-server ../redis.conf &
3.2.3 【CNT06CAH08】:启动Redis Slave2节点
首先,执行make test命令,测试检查redis安装包文件是否OK
root >> cd /opt/redis/redis-3.2.6/src
root >> make test
检查test结果OK,如下图
最后, 启动slave 2节点的reids
备注: 加&表示后台进程执行
root >> cd /opt/redis/redis-3.2.6/src
root >> ./redis-server ../redis.conf &
3.3 测试Reids节点(CNT06CAH06/CNT06CAH07/CNT06CAH08)
3.3.1 【CNT06CAH06】:测试Redis Master节点
win>> F:
win >> cd "F:\缓存技术\Redis\client\Redis-x64-3.2.100"
win >> redis-cli -p 16339 -h 192.168.3.48
win >> info
查询cluster节点的信息,如下
添加一个key,如下
win >> keys * # 查看key的清单
win >> dbsize # 查看key的总数
3.3.2 【CNT06CAH07】:测试Redis Slave 1节点
win>> F:
win >> cd "F:\缓存技术\Redis\client\Redis-x64-3.2.100"
win >> redis-cli -p 16349 -h 192.168.3.49
win >> info
查询cluster节点的信息,如下
添加一个key,如下
# win >> set k_1 "hello redis world" # 注意: slave 节点不能写数据,只能读数据
win >> keys * # 查看key的清单
win >> dbsize # 查看key的总数
注意: slave 节点不能写数据,只能读数据
3.3.3 【CNT06CAH08】:测试Redis Slave 2节点
同上:略
3.3.4 【CNT06CAH06】:压力测试
参考网址 :Redis 性能测试:http://www.redis.net.cn/tutorial/3521.html
root >> redis-benchmark -p 16339 -h 192.168.3.48 -t set,lpush,get -n 100000 -q
四、安装Sentinel集群
4.1 配置Sentinel节点(CNT06CAH06/CNT06CAH07/CNT06CAH08)
4.1.1 【CNT06CAH05】:配置Redis Sentinel节点
创建redis安装目录如下
root >> mkdir /opt/redis
通过WinSCP复制redis的压缩文件到服务器目录/opt/redis
s
解压redis文件到当前目录,如下
tar zxvf /opt/redis/redis-3.2.6.tar.gz -C /opt/redis/
通过WinSCP,查看解压后的文件
因为我们要模拟三台Sentinel哨兵节点,所以我这里复制三份sentinel.conf文件。
(为了用三个sentinel实例表示三台sentinel服务器节点,这里因为机器有限放在一台机器上,生产要分别部署到不同sentinel机器)
root >> cd /opt/redis/redis-3.2.6
root >> cp ./sentinel.conf ./sentinel_001.conf
root >> cp ./sentinel.conf ./sentinel_002.conf
root >> cp ./sentinel.conf ./sentinel_003.conf
4.1.2 配置sentinel_001.conf文件,设置sentinel 001节点的相关参数
root >> mkdir -p /opt/redis/tmp/sentinel_001 -- Sentinel服务运行时使用的临时文件夹
root >> vim /opt/redis/redis-3.2.6/sentinel_001.conf
修改的主要配置参数,主要如下
# bind 127.0.0.1 192.168.1.1 -- old
bind 0.0.0.0 -- new : 表示任意客户端可以访问
# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor master001 192.168.3.48 16339 2 -- new: 表示监听redis master服务器192.168.3.48:16339,如果n=2个sentinel访问失效,则执行failover
#port 26379 -- old
port 28339 -- new: sentinel 001 的访问端口
# dir /tmp -- old : Sentinel服务运行时使用的临时文件夹
dir /opt/redis/tmp/sentinel_001 -- new: Sentinel服务运行时使用的临时文件夹
# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds master001 30000
# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs master001 1
# sentinel failover-timeout mymaster 180000
sentinel failover-timeout master001 180000
最后记得保存redis.conf文件
root >> :wq
4.1.3 配置sentinel_002.conf文件,设置sentinel 002节点的相关参数
# root >> mkdir -p /opt/redis/tmp/sentinel_002 -- Sentinel服务运行时使用的临时文件夹
root >> vim /opt/redis/redis-3.2.6/sentinel_002.conf
修改的主要配置参数,主要如下
# bind 127.0.0.1 192.168.1.1 -- old
bind 0.0.0.0 -- new : 表示任意客户端可以访问
# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor master001 192.168.3.48 16339 2 -- new: 表示监听redis master服务器192.168.3.48:16339,如果n=2个sentinel访问失效,则执行failover
#port 26379 -- old
port 28349 -- new: sentinel 002 的访问端口
# dir /tmp -- old : Sentinel服务运行时使用的临时文件夹
dir /opt/redis/tmp/sentinel_002 -- new: Sentinel服务运行时使用的临时文件夹
最后记得保存redis.conf文件
root >> :wq
4.1.4 配置sentinel_003.conf文件,设置sentinel 003节点的相关参数
# root >> mkdir -p /opt/redis/tmp/sentinel_003 -- Sentinel服务运行时使用的临时文件夹
root >> vim /opt/redis/redis-3.2.6/sentinel_003.conf
修改的主要配置参数,主要如下
# bind 127.0.0.1 192.168.1.1 -- old
bind 0.0.0.0 -- new : 表示任意客户端可以访问
# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor master001 192.168.3.48 16339 2 -- new: 表示监听redis master服务器192.168.3.48:16339,如果n=2个sentinel访问失效,则执行failover
#port 26379 -- old
port 28359 -- new: sentinel 003 的访问端口
# dir /tmp -- old : Sentinel服务运行时使用的临时文件夹
dir /opt/redis/tmp/sentinel_003 -- new: Sentinel服务运行时使用的临时文件夹
最后记得保存redis.conf文件
root >> :wq
4.2 启动Sentinel节点(Sentinel 001/Sentinel 002/Sentinel 003)
4.2.1 【CNT06CAH05】:启动Sentinel 001/002/003节点
首先,执行make test命令,测试检查redis安装包文件是否OK
root >> cd /opt/redis/redis-3.2.6/src
root >> make test
检查test结果OK,如下图
编译redis 安装包,如下图
root >> make install
最后, 分别启动sentinel 001/002/003节点的sentinel哨兵服务,步骤分别如下:
启动 sentinel 001节点
root >> cd /opt/redis/redis-3.2.6/src
root >>./redis-sentinel ../sentinel_001.conf &
启动 sentinel 002节点
root >> cd /opt/redis/redis-3.2.6/src
root >>./redis-sentinel ../sentinel_002.conf &
启动 sentinel 003节点
root >> cd /opt/redis/redis-3.2.6/src
root >>./redis-sentinel ../sentinel_003.conf &
最后,至此全部的Redis + Sentinel集群安装和部署,就都完成了。前台java程序可以通过sentinel的IP和端口实例进行读写访问,如下
192.168.3.47: 28339
192.168.3.47: 28439
192.168.3.47: 28539
【本人原创】,欢迎交流和分享技术,转载请附上如下内容:
如果你觉得这篇文章对你有帮助,请记得帮我点赞, 谢谢!作者:kevin【转自】http://www.cnblogs.com/itshare/
Redis Sentinel 集群安装 step by step的更多相关文章
- redis sentinel集群的搭建
背景说明: 这里采用1主2从的redis集群,3个sentinel搭建高可用redis集群. 一,关于搭建redis-sentinel高可用之前,我们必须要了解redis主从搭建redis-senti ...
- redis sentinel 集群监控 配置
环境: ip 172.16.1.31 26379 redis sentinel ip 172.16.1.30 6379 主 1 ip 172.16.1.31 6380 从 1 ip ...
- Redis真集群安装
Redis真集群安装 命令文档:http://redisdoc.com/index.html 下载:https://code.google.com/archive/p/redis/downloads ...
- redis cluster 集群 安装 配置 详解
redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...
- redis分片集群安装部署
redis分片集群安装与部署 分片集群的优势 高可用.且方便扩展. 数据分片,多节点提供服务,提高性能,数据提供冗余备份. 分片集群部署 只需更改配置文件 部署架构:6个节点,3主3从.数据集分为3片 ...
- Redis的集群安装以及rehash重新迁移教程指南
1. Redis的cluster集群 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群 ...
- Redis Sentinel集群双机房容灾实施步骤
概要目标防止双机房情况下任一个机房完全无法提供服务时如何让Redis继续提供服务.架构设计A.B两机房,其中A机房有一Master一Slave和两个Sentinel,B机房只有2个Sentinel,如 ...
- redis离线集群安装
用一个叫redis-trib.rb的ruby脚本.redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/).是基于r ...
- helm安装redis+Sentinel集群搭建
一.redis集群特点 数据 在多个Redis节点之间自动分片 sentinel特点: 它的主要功能有以下几点 不时地监控redis是否按照预期良好地运行; 如果发现某个redis节点运行出现状况,能 ...
随机推荐
- How to use Log4cplus
Introduction Log4cplus is derived by the popular Log4j written in java.<br>This tutorial show ...
- GIT团队合作探讨之二--Pull Request
pull request是github/bitbucket给开发人员实现便利合作提供的一个feature.他们提供一个用户友好的web界面在进代码之前来讨论这些变更. 简单说,pull request ...
- Linux ->> UBuntu 14.04 LTE下安装Hadoop 1.2.1(集群分布式模式)
安装步骤: 1) JDK -- Hadoop是用Java写的,不安装Java虚拟机怎么运行Hadoop的程序: 2)创建专门用于运行和执行hadoop任务(比如map和reduce任务)的linux用 ...
- nginx 开启gzip压缩--字符串压缩比率很牛叉
刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了. 环境:Debian 6 1.Vim打开Nginx配置文件 v ...
- 解决Unity3D操作界面字体模糊的问题
新装的电脑安装了UNITY后,操作界面的字体异常模糊,搜了半天看看有没有换字体的功能,也没找到 后来快放弃的时候,偶然看到这篇文章http://eyehere.net/2014/unity3d-int ...
- Codeforces Round #423 (Div. 2)
codeforces 423 A. Restaurant Tables [水题] //注意,一个人选座位的顺序,先去单人桌,没有则去空的双人桌,再没有则去有一个人坐着的双人桌.读清题意. #inclu ...
- Ubuntu14.04安装PowerDNS踩坑实录
公司要使用PowerDNS,作为内网域名解析的工具.让我和另一组的同事学一下如何配置及调优.所以先找了两台服务器试着安装一下.这一装就是一个礼拜,经历了大大小小的坑,记下来以后可能需要参考.安装过程如 ...
- datetime.datetime.now()时间格式转化是碰到的问题
import datetime print datetime.datetime.now() # 2016-03-28 17:16:00.812000 a = ‘2016-03-28 17:16:00. ...
- css层叠样式表总结
一.css css里注释只有一种 /* */ 二.css与HTML四种结合方式 1.行内样式 在标签中加入style属性 内部的写法:key1:value;key2:value; <div s ...
- ASP.NET SingalR + MongoDB 实现简单聊天室(一):搭建基本框架
ASP.NET SingalR不多介绍.让我介绍不如看官网,我这里就是直接上源代码,当然代码还是写的比较简单的,考虑的也少,希望各位技友多多提意见. 先简单介绍聊天室功能: 用户加入聊天室,自动给用户 ...