redis相关笔记(一.安装及单机及哨兵使用)
1.安装
cd /usr/src #进入下载目录(这个目录自己定)
yum install -y wget gcc make tcl #安装依赖
wget http://download.redis.io/releases/redis-3.2..tar.gz #下载源码包
tar -zxvf redis-3.2..tar.gz #解压
cd redis-3.2. #进入redis目录
make && make test #编译与测试
make install PREFIX=/usr/local/redis #PREFIX安装指定目录
2.启动
1.单机启动
./bin/redis-server #启动redis服务
2.哨兵模式
1.在/usr/local/ 下新建一个目录redis-sentinel,然后创建三个文件夹
mkdir /usr/local/redis-sentinel
mkdir /usr/local/redis-sentinel/{,,,}
2.将redis安装目录下配置文件reids.conf拷贝8333,8334文件夹下,将其中一些配置自定义如下(其他配置不变):
#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis_8333.pid
#指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 8333
#绑定的主机地址(如虚拟机上设置了两个网卡两个Ip:134,133.若bind了134的ip,则通过133不能访问到该redis服务)
bind 192.168.37.134
#日志记录方式,默认为标准输出,日志输出至指定日志文件
logfile "./redis-8333.log"
#指定本地数据库存放目录
dir "/usr/local/redis-sentinel/8333"
#当master服务设置了密码保护时,slave服务连接master的密码
masterauth admin.123
#设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
requirepass admin.123
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。
#因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#设置当本机为slave服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步(本例以8333端口的为主,8334为从,故以下只需在8334配置中即可)
slaveof 192.168.37.134 8333
3.将redis安装目录下的sentinel.conf拷贝8335,8336文件夹下,其自定义配置如下:
#============================================自定义配置开始========================================
#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 8336
#指定本地数据库存放目录
dir "/usr/local/redis-sentinel/8336"
#日志记录方式,默认为标准输出,日志输出至指定日志文件
logfile "./sentinel.log"
#指定别名 主节点地址 端口 哨兵个数(有几个哨兵监控到主节点宕机执行转移)
sentinel monitor mymaster 193.168.37.134 8333 1
#如果哨兵3s内没有收到主节点的心跳,哨兵就认为主节点宕机了,默认是30秒
sentinel down-after-milliseconds mymaster 3000
#选举出新的主节点之后,可以同时连接从节点的个数
sentinel parallel-syncs mymaster 1
#如果10秒后,master仍没活过来,则启动failover,默认180s
sentinel failover-timeout mymaster 10000
#配置连接redis主节点密码
sentinel auth-pass mymaster admin.1231
#============================================自定义配置结束========================================
4.启动redis服务(在make安装目录中bin文件夹下)
4.1.先启动主从
[root@localhost bin]# redis-server /usr/local/redis-sentinel/8333/redis-8333.conf
[root@localhost bin]# redis-server /usr/local/redis-sentinel/8334/redis-8334.conf
查看服务信息
[root@localhost bin]# redis-cli -h 192.168.37.134 -p 8333 -a admin.1231
192.168.37.134:8333> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.37.134,port=8334,state=online,offset=57,lag=0
master_repl_offset:57
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:56
4.2.启动哨兵
[root@localhost bin]# redis-sentinel /usr/local/redis-sentinel/8335/redis-8335.conf
[root@localhost bin]# redis-sentinel /usr/local/redis-sentinel/8336/redis-8336.conf
4.3.查看进程
[root@localhost bin]# ps -ef | grep redis
root 26149 1 0 14:58 ? 00:00:01 redis-server 192.168.37.134:8333
root 26153 1 0 14:58 ? 00:00:01 redis-server 192.168.37.134:8334
root 26188 1 0 15:04 ? 00:00:02 redis-sentinel *:8335 [sentinel]
root 26230 1 0 15:06 ? 00:00:02 redis-sentinel *:8336 [sentinel]
root 26281 1382 0 15:26 pts/0 00:00:00 grep --color=auto redis
启动后若外网访问不了
1.查看防火墙是否放开端口
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=8333/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=8333/tcp
删除
firewall-cmd --zone=public --remove-port=8333/tcp --permanent
2.配置中bind是否错误
3.密码是否错误
redis相关笔记(一.安装及单机及哨兵使用)的更多相关文章
- redis 学习笔记1(安装以及控制台命令)
为什么要学习这个? 分布式技术必会,得益于redis的设计理念,内存数据库,epoll(多路复用)模型,单线程模型除去了锁和上下文切换,提高了性能.单线程保证执行顺序(轮询),在分布式环境下对于数据的 ...
- redis相关笔记(二.集群配置及使用)
redis笔记一 redis笔记二 redis笔记三 1.配置:在原redis-sentinel文件夹中添加{8337,8338,8339,8340}文件夹,且复制原8333中的配置 在上述8333配 ...
- redis相关笔记(三.redis设计与实现(笔记))
redis笔记一 redis笔记二 redis笔记三 1.数据结构 1.1.简单动态字符串: 其属性有int len:长度,int free:空闲长度,char[] bur:字符数组(内容) 获取字符 ...
- Redis学习笔记(十五)Sentinel(哨兵)(中)
上一篇 我们模拟了单机器下哨兵模式的搭建,那么接下来我们看下哨兵模式的实现与工作. 为什么又分成两篇呢?因为篇幅太长(偷懒),再一个这篇主要说的是Sentinel的初始化以及信息交换,下一篇着重说下状 ...
- Redis学习笔记(十四)Sentinel(哨兵)(上)
最近谈到Redis就会听到哨兵模式,工作期间同事也分享过关于哨兵模式的知识,但由于工作忙(给自己找个借口)没有没认真看,现在恶补下,老样子还是分上篇应用,下篇看实现过程,下面我们来看下哨兵到底是啥? ...
- Redis学习笔记(十六) Sentinel(哨兵)(下)
消失了一段时间,我又回来啦.不多说,继续把哨兵看完. 检测主观下线状态 默认情况下,Sentinel会以每秒一次的频率向所有与他创建了命令连接的实例(主从服务器以及其他Sentinel)发送PING命 ...
- Redis安装(单机及各类集群,阿里云)
Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...
- Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...
- Redis学习笔记(二)-key相关命令【转载】
转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...
随机推荐
- isinstance 的用法 判断这个数据是否属于这个类型
- PHP chgrp() 函数
定义和用法 chgrp() 函数改变指定文件的用户组. 如果成功则返回 TRUE,如果失败则返回 FALSE. 语法 chgrp(file,group) 参数 描述 file 必需.规定要检查的文件. ...
- 初学Linux基本的命令操作应当记牢
Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...
- Android获取手机和系统版本等信息的代码
有时候需要统计手机的型号和版本号,利用程序可以获取到相应的手机信息,对比两部手机发现,厂商不同,某个信息显示方式也不尽相同,具体见: String phoneInfo = "Product: ...
- windows系统查看端口占用
netstat -ano #列出所用端口使用情况 netstat -aon|findstr "端口号" #查询指定端口 tasklist|findstr "PID&qu ...
- 3、jQuery面向对象
1.首先介绍callback.js对ajax进行了封装 function ajaxFunction(){ var xmlHttp; try{ // Firefox, Opera 8.0+, Safar ...
- 1.0搭建 Node.js 开发环境
<搭建 Node.js 开发环境> 本课程假设大家都是在 Linux 或者 Mac 下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 ...
- switch gnome-terminal tabs
Ctrl+Page Down (forward) and Ctrl+Page Up (backward). http://unix.stackexchange.com/a/67963
- input file转base64
不想用canvas转 <input type="file" id="file" accept="image/*" onchange=& ...
- 调用WPF程序时传入参数
http://blog.csdn.net/martin_cheng/article/details/41351013 http://blog.csdn.net/libby1984/article/de ...