redis之单机和主从环境搭建
单机环境搭建
官网http://redis.io/download下载xxx.tar.gz二进制压缩包,注意下载2.8+版本,2.8之前的版本之前从服务器不支持部分重复制,2.6之前的版本不支持setnx命令
解压安装
#解压
tar -zxvf xxx.tar.gz
#进入目录
cd redisxxxx
#编译安装到/usr/local/redis目录下
sudo make PREFIX=/usr/local/redis install
#从安装包中找到redis的配置文件,拷贝到根目录下
sudo cp redis.conf /usr/local/redis
#启动redis
./redis-server ../redis.conf
主从搭建(同一台机器上搭建伪主从)
思路
一台主服务器,使用默认配置即可,一台从服务器,配置要复制的主服务 SALVEOF host port,如果你熟悉redis配合的话,你会发现默认给的配置文件里一个大项一个大项的分好了


过程
按单机环境安装好redis,注意我这边由于本地环境问题,直接在redis/src目录下启动的
准备两份配置文件redis_6379.conf和redis_6380.conf,修改对应的端口号
redis_6379.conf配置如下
# 修改启动方式为后台启动,此处为学习可以暂不开启,这样可以直接看到启动日志,生产部署也建议调试好后再启动后台方式
daemonize no
修改为:
daemonize yes (后台程序方式运行)
# 修改pid文件名
pidfile /var/run/redis.pid
修改为:
pidfile /var/run/redis_6379.pid
# 如果有密码主从服务器都需要新增相关的auth的配置redis_6380.conf配置如下
# 修改启动方式为后台启动,此处为学习可以暂不开启,这样可以直接看到启动日志,生产部署也建议调试好后再启动后台方式
daemonize no
修改为:
daemonize yes (后台程序方式运行)
# 修改pid文件名
pidfile /var/run/redis.pid
修改为:
pidfile /var/run/redis_6380.pid
# 从节点新增配置复制主机,增加这一行
slaveof 127.0.0.1 6379
# 如果有密码主从服务器都需要新增相关的auth的配置启动,此处是mac环境通过brew安装,直接命令+指定conf方式启动
# 启动主机器
./src/redis-server ../redis_6379.conf
# 启动从服务器
./src/redis-server ../redis_6380.conf测试
#连接到主服务器
redis-cli -h localhost -p 6379
# 查看服务器信息
info
# 测试主从数据是否同步,在主服务器set,在从服务器get
遇到的问题
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line
'always-show-logo yes'
Bad directive or wrong number of arguments遇到这个问题的原因是,我本地的环境是mac,除了上面方式安装的redis 还有个homebrew安装的redis,通过brew info redis 命令可以看到是4.0.1版本的,我启动命令是运行的3.2.8,配置使用的4.0.1的,所以不匹配。
官方redis集群搭建
不建议使用官方提供的redis集群,如果需要支撑大体量和高可用可以考虑codis集群,但是不支持事务等特性
redis之单机和主从环境搭建的更多相关文章
- 分布式搜索ElasticSearch单机与服务器环境搭建
从上方插件官网中下载适合的dist包,然后解压.进入bin目录,可以看到一堆sh脚本.在bin目录下创建一个test.sh: bin=/home/csonezp/Dev/elasticsearch-j ...
- Hadoop单机Hadoop测试环境搭建
Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0. ...
- Redis在windows下的环境搭建
Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...
- hbase 单机+伪分布环境搭建学习-1
1.单机模式: (1)编辑hbase-env.sh user@EBJ1023.local:/usr/local/flume_kafka_stom/hbase_1.1.2> vim conf/hb ...
- Nginx 单机百万QPS环境搭建
一.背景 最近公司在做一些物联网产品,物物通信用的是MQTT协议,内部权限与内部关系等业务逻辑准备用HTTP实现.leader要求在本地测试中要模拟出百万用户同时在线的需求.虽然该产品最后不一定有这么 ...
- Redis学习系列一Linux环境搭建
1.简介 Redis是互联网技术架构中在存储系统中用的最广泛的中间件,是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一.所以Redis是.Net技术开发必须掌握的技能之一.所以通过这个系列的随 ...
- Mariadb 10.2.8版本GTID主从环境搭建以及切换
1.首先搭建主从 主环境:192.168.1.117 从环境:192.168.1.123 a.首先以二进制包的形式安装好MariaDB (忽略不计) b.配置环境的变量 通配 [mysqld] bin ...
- Zookeeper的单机&集群环境搭建
单机环境的安装 首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 将安装包上传到Linux上: 进行解 ...
- CentOS 7.4 MySQL 5.7.20主从环境搭建(M-S)
MySQL主从原理: 一,master记录二进制日志,在每个事务更新数据完成之前,master在二进制日志中记录这些改变.mysql将事务写入二进制日志,即使事务中的语句都是交叉执行的.在事件写入二进 ...
随机推荐
- 8 python 抽象类
1.抽象类 --类似接口 接口的概念: 自己提供给使用者来调用自己功能的方式\方法\入口, 1.1.java中接口 interface =================第一部分:Java 语言中的 ...
- ArrayList 原理(1)
ArrayList是Java List类型的集合类中最常使用的,本文基于Java1.8,对于ArrayList的实现原理做一下详细讲解. (Java1.8源码:http://docs.oracle.c ...
- 关于eval()函数处理后台返回的json数据
对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次.这种方式也适合以普通ja ...
- Delphi 解析系统环境变量
// http://www.outofmemory.cn function ExpandEnvironment(const strValue: string): string; var chrResu ...
- 扩展C#与元编程(一)
众所周知,Roslyn project已经开源一年多了.简单的说,Roslyn是:1)用C#/VB写的C#/VB的编译器,以及与IDE集成:2)编译器的功能以API的方式暴露出来(即一组DLL). R ...
- SVD 实现
机器学习相关——SVD分解: http://www.cnblogs.com/luchen927/archive/2012/01/19/2321934.html SVD python实现: import ...
- twitter 等网站console.log不能使用,可用alert或者
function setConsole() { var iframe = document.createElement('iframe'); iframe.style.display = 'none' ...
- springboot分环境打包(maven动态选择环境)
分环境打包核心点:spring.profiles.active pom.xml中添加: <profiles> <profile> <id>dev</id> ...
- Tunnel Warfare (区间合并|最大值最小值巧妙方法)
Tunnel Warfare http://acm.hdu.edu.cn/showproblem.php?pid=1540 Time Limit: 4000/2000 MS (Java/Others) ...
- Swift 基本语法03-"if let"和"guard let"
1. /// 如果JY_WINDOW有rootViewController, 并且rootViewController类型是AdvertisementViewController,就执行stopPla ...