centos7下Redis-Sentinel安装和配置
一、Redis的安装
1、从官网https://redis.io/download下载最新的stable版本(也可以下载unstable版本)redis-4.0.9.tar.gz。
2、上传到CentOS 7服务器的 /data/目录
3、解压缩文件到 /data/redis-4.0.9目录下
> cd /data
> tar -zxvf redis-4.0..tar.gz -C /data/redis-4.0.
4、在centOs上安装编译必要的软件(根据自己机器情况,如果已有请忽略)
# yum install gcc gcc-c++
# yum -y install automake autoconf libtool
5、开始编译Redis
# make
编译过程中可能会出现这个错误,因为默认分配器是jemalloc,我机器没有,具体可以自行度娘 。。。。。
解决办法之一就是修改默认分配器(我使用的办法)
# make MALLOC=libc //改为libc
没什么意外稍等一下就编译通过了
等等,我还遇到了一个问题,截图如下
因为一个文件没有执行权限,解决办法很简单
chmod mkreleasehdr.sh
再次执行make命令 “# make MALLOC=libc” , 应该就没啥问题了
不过编译最后出现了一句话
Hint: It's a good idea to run 'make test' ;)
什么意思呢? 执行下make test 是个好主意
我真的执行了,结果如下
[root@vm82220 redis-4.0.9]# make test
cd src && make test
make[1]: Entering directory `/data/redis-4.0.9/redis-4.0.9/src'
/bin/sh: ./runtest: Permission denied
make[1]: *** [test] Error 126
make[1]: Leaving directory `/data/redis-4.0.9/redis-4.0.9/src'
make: *** [test] Error 2
继续添加权限 “chmod 777 runtest” ,再次执行 make test, 又出问题了
[root@vm82220 redis-4.0.9]# make test
cd src && make test
make[1]: Entering directory `/data/redis-4.0.9/redis-4.0.9/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/data/redis-4.0.9/redis-4.0.9/src'
make: *** [test] Error 2
看到红字了吧,需要8.5以上的版本
安装tcl
# yum install tcl
再make test 就没什么问题了
6、安装Redis到指定地方
本人喜欢把常用服务放到喜欢地方,这次就放到/data/redis目录下吧
# mkdir /data/redis
执行安装命令
# make PREFIX=/data/redis/ install
其实/data/redis 下只有一个bin目录,里面有几个命令文件
为了后续方面使用命令,可以把bin文件夹放到环境变量中,也可以把这几个命令连接到/usr/local/bin中,我采用后者
//软连接一定要是有全路径哦,否则可能出现错误
# ln -s /data/redis/bin/redis-server /usr/local/bin/redis-server
# ln -s /data/redis/bin/redis-server /usr/local/bin/redis-sentinel
# ln -s /data/redis/bin/redis-benchmark^Cusr/local/bin/redis-sentinel
# ln -s /data/redis/bin/redis-benchmark /usr/local/bin/redis-benchmark
# ln -s /data/redis/bin/redis-check-aof /usr/local/bin/redis-check-aof
# ln -s /data/redis/bin/redis-check-rdb /usr/local/bin/redis-check-rdb
至此,安装就完成了
二、Redis配置
1、打开端口:6379 , Redis默认端口就是6379,可以在配置文件中修改
firewall-cmd --permanent --zone=public --add-port=/tcp
firewall-cmd --reload
2、修改配置文件
把配置文件/data/redis-4.0.9/redis.conf复制到/data/redis/conf文件夹中,修改配置
protected-mode no //打开其他机器连接
port //端口
daemonize yes //启用守护进程
pidfile /data/redis/run/redis_6379.pid //运行时
logfile /data/redis/log/redis_6379.log //日志
dir /data/redis/dir //数据文件夹
dbfilename dump_6379.rdb //数据文件
还有很多配置信息,建议仔细阅读一遍,满满干活啊 。。。。
3、启动Redis
redis-server /data/redis/config/redis.conf
4、登陆测试一下
# redis-cli
单机的Redis安装配置完成
三、Redis-Sentinel的配置
下面说一下单机中哨兵HA的配置
哨兵模式中至少需要三个redis节点启用,一个主节点,两个从节点,我们分别使用6379(主)、6380(从)、6381(从)端口启动三个redis服务。
1、部署redis主从模式
创建文件夹/data/redis/conf,把redis.conf 分别复制三份 redis_6379.conf、redis_6380.conf、redis_6381.conf,vi打开redis_6380.conf修改
#端口
port 6380 #运行时
pidfile /data/redis/run/redis_6380.pid #日至
logfile /data/redis/log/redis_6380.log #数据
dbfilename dump_6380.rdb #指定master
slaveof 10.60.82.220 6379
redis_6381.conf把端口改为6381,其他也做类似修改
2、启动redis服务
先启动主服务
# redis-server redis_6379.conf //主服务
再分别启动两个从服务
# redis-server redis_slave_6380.conf //从服务
# redis-server redis_slave_6381.conf //从服务
查看进程状态
登陆主节点
# redis-cli -h 10.60.82.220 -p
3、配置sentinel
也分别复制三个文件sentinel_26379.conf、sentinel_26380.conf、sentinel_26381.conf, 相关信息修改如下:
port
daemonize yes
protected-mode no
dir "/data/redis/log/"
logfile "sentinel_26379.log" sentinel monitor mymaster 10.60.82.220
sentinel down-after-milliseconds mymaster
sentinel failover-timeout mymaster
sentinel parallel-syncs mymaster
#sentinel auth-pass mymaster YKHykh123456 sentinel known-slave mymaster 10.60.82.220
sentinel known-slave mymaster 10.60.82.220
#sentinel current-epoch
其他两个文件也做相应修改
4、启动sentinel服务
# redis-sentinel sentinel_26379.conf
# redis-sentinel sentinel_26380.conf
# redis-sentinel sentinel_26381.conf
5、检查sentinel
# redis-cli -h 10.60.82.220 -p //登陆服务
> sentinel masters //查看主服务信息 > sentinel slaves mymaster //查看所有从服务信息
配置相关就算完成了
centos7下Redis-Sentinel安装和配置的更多相关文章
- mac与centos下redis的安装与配置
前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services sta ...
- Centos7 下的SVN安装与配置
Centos7 下的SVN安装与配置 1.关闭防火墙 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临 ...
- centos6.8下redis的安装和配置
centos6.8下redis的安装和配置 下载.安装 在redis官网可以获取到最新版本的redis 进入/usr/local/目录,执行如下命令 wget http://download.redi ...
- linux下redis的安装及配置启动
linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报 分类: 数据与性能(41) wget http:/ ...
- CentOS7下NFS服务安装及配置固定端口
CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...
- 莫小安 Linux下Redis的安装与配置
转载自--Linux下Redis的安装与配置 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它 ...
- [Linux]Linux下redis的安装及配置.
在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, ...
- Linux下Redis的安装与配置
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括stri ...
- Linux下Redis的安装、配置操作说明
Redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用.它提供了Pytho ...
- centos7下git的安装和配置
git的安装: yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装. 1. 查 ...
随机推荐
- 【TCP/IP详解 卷一:协议】第十二章 广播和多播
建议参考:广播和多播 IGMP 12.1 引言 IP地址知识点回顾: IP地址分为三种:(1)单播地址 (2)广播地址 (3)多播地址 另外一种是,IP地址一般划分成五类:A-E类. 单播 考虑 类似 ...
- Ajax 随笔
例子:实现AJAX效果(投票例子) 后端代码 前端代码 原理是使用HTTP状态码204的特性(请求成功,但是不会返回内容,所以浏览器不会进行跳转) 例子:实现AJAX效果(投票例子2) 前端代码 原理 ...
- VSS_01
1.设置 工作目录 右击 CSDRGis --> Set Working Folder.. --> D:\CSDRGis 2.下载 源码 右击 CSDRGis --> Get Las ...
- angular5补漏知识点
1.属性行指令 attr.** 2.ngfor循环优化 trackBy func 3.aot编译 4.tree shaking 5.脏检测方法 6.管道的 pure和impure 7.asyncpip ...
- 雷林鹏分享:Ruby 类和对象
Ruby 类和对象 Ruby 是一种完美的面向对象编程语言.面向对象编程语言的特性包括: 数据封装 数据抽象 多态性 继承 这些特性将在 面向对象的 Ruby 中进行讨论. 一个面向对象的程序,涉及到 ...
- LeetCode--066--加一
问题描述: 给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. ...
- Linux中su、su -和sudo的区别
su 切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境. su - 切换到root用户,并转到root用户的家目录下,即改变到了root用户的环境. 这个涉及到不同用户下的 ...
- string类的用法笔记
要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 ...
- HDU-3507 Print Article (斜率优化)
题目大意:将n个数分成若干个区间,每个区间的代价为区间和的平方加上一个常数m,求最小代价. 题目分析:定义状态dp(i)表示前 i 个数已经分好的最小代价,则状态转移方程为 dp(i)=min(dp( ...
- python 爬虫之为什么使用opener对象以及为什么要创建全局默认的opener对象
基本的urlopen()函数不支持验证.cookie或其他HTTP高级功能.要支持这些功能,必须使用build_opener()函数来创建自己的自定义Opener对象. install_opener( ...