Redis架构第二天:CenterOS集群、RDB和AOF、主从复制架构实践
1.课程
小型电商:页面静态化 页面太多的时候,上亿,重新渲染,需要几天,不太靠谱
大型电商:异步+多级缓存+nginx本地化动态渲染
高并发、高可用,qps
总之一句话redis很重要、龙国学院很屌
2.实践安装笔记 CenterOS的集群 redis的安装
scp命令:scp -r /Users/panda/Desktop/jdk-8u171-linux-x64.rpm root@172.16.55.141:/usr/local
固定ip地址:
host eshop-fastdfs {
hardware ethernet 00:50:56:28:C1:EA;
fixed-address 172.16.55.137;
}
host eshop-cache01 {
hardware ethernet 00:0C:29:A1:98:09;
fixed-address 172.16.55.131;
}
host eshop-cache02 {
hardware ethernet 00:0C:29:4C:21:6C;
fixed-address 172.16.55.132;
}
host eshop-cache03 {
hardware ethernet 00:0C:29:20:60:1D;
fixed-address 172.16.55.133;
}
host eshop-cache04 {
hardware ethernet 00:0C:29:C3:31:ED;
fixed-address 172.16.55.134;
}
host eshop-cache05 {
hardware ethernet 00:0C:29:89:7C:39;
fixed-address 172.16.55.135;
}
关闭防火墙:
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
SELINUX=disabled
配置yum:
yum clean all
yum makecache
yum install wget
java的安装:
1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中
2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm
3、配置jdk相关的环境变量
vi .bashrc
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source .bashrc
4、测试jdk安装是否成功:java -version
linux perl的安装:
yum install -y gcc
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz
tar -xzf perl-5.16.1.tar.gz
cd perl-5.16.1
./Configure -des -Dprefix=/usr/local/perl
make && make test && make install
perl -v
为什么要装perl?我们整个大型电商网站的详情页系统,复杂。java+nginx+lua,需要perl。
perl,是一个基础的编程语言的安装,tomcat,跑java web应用
安装CenterOS集群:免密钥通信
vi /etc/hosts 设置host
172.16.55.131 eshop-cache01
172.16.55.132 eshop-cache02
172.16.55.133 eshop-cache03
172.16.55.134 eshop-cache04
172.16.55.135 eshop-cache05
生成公钥:ssh-keygen -t rsa
cd /root/.ssh
cp id_rsa.pub authorized_keys
ssh-copy-id -i hostname:将本机的公钥拷贝到指定机器的authorized_keys文件中
定时任务出错啦:
mkdir: /usr/local/redis/snapshotting: No such file or directory
cp: /usr/local/redis/snapshotting/2018051110: No such file or directory
单机版redis的安装:
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz
cd /usr/local/tcl8.6.1/unix/
./configure
make && make install
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
redis的作用:
redis各种数据结构和命令的使用,包括java api的使用
redis一些特殊的解决方案的使用,pub/sub消息系统,分布式锁,输入的自动完成,等等
redis日常的管理相关的命令
redis企业级的集群部署和架构
redis主从复制、读写分离实践:主节点负责写数据、从节点负责读取数据 10部走
(1)redis utils目录下,有个redis_init_script脚本
(2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
(3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
(4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
(5)修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf
(6)修改redis.conf中的部分配置为生产环境
redis.conf配置为生产环境:
daemonize yes 让redis以daemon进程运行
pidfile /var/run/redis_6379.pid 设置redis的pid文件位置
port 6379 设置redis的监听端口号
dir /var/redis/6379 设置持久化文件的存储位置
(7) success
redis开机自启动:https://blog.csdn.net/lovejj1994/article/details/53096268
在redis_6379脚本中,最上面,加入两行注释
/ # chkconfig: 2345 90 10
/# description: Redis is a persistent key-value database
chkconfig redis_6379 on
(8)错误:Error condition on socket for SYNC: No route to host 需要关闭防火墙
Error condition on socket for SYNC: Connection refused
博客:https://blog.csdn.net/chwshuang/article/details/54929277 bind的问题,需要绑定指定ip
bind 127.0.0.1 172.16.55.132 172.16.55.133 172.16.55.134 172.16.55.135 没起作用啊?
bind 0.0.0.0
开放6379端口:iptables -A INPUT -ptcp --dport 6379 -j ACCEPT
远程连接:redis-cli -h ipaddr -p port
info replication命令:
/# Replication
role:slave
master_host:172.16.55.131
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:464
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:f74abda85fe4192aefc439877ad08e7d13a26dfb
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:464
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:464
role:master
connected_slaves:1
slave0:ip=172.16.55.132,port=6379,state=online,offset=464,lag=1
master_replid:f74abda85fe4192aefc439877ad08e7d13a26dfb
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:478
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:478
(9)强制读写分离
从节点:slave-read-only 拒绝所有写请求
(10)集群安全认证
requirepass:启用安全认证
masterauth:连接口令
转载于:https://blog.51cto.com/13496382/2117441
Redis架构第二天:CenterOS集群、RDB和AOF、主从复制架构实践相关推荐
- Redis【第二篇】集群搭建
第一步:准备 1.安装包 ruby-2.4.0.tar.gz rubygems-2.6.10.tgz zlib-1.2.11.tar.gz redis-3.3.2.gem 2. 架构: 名称 IP 端 ...
- Redis系列教程(二):详解Redis的存储类型、集群架构、以及应用场景
高并发架构系列 高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较 高并发架构系列:Spring Cloud的核心成员.以及架构实现详细介绍 高并发架构系列:服务注册与发现的实现原理.及实 ...
- Redis系列教程(五):Redis哨兵、复制、集群的设计原理,以及区别
前一篇文章高并发架构系列:Redis为什么是单线程.及高并发快的3大原因详解谈了Redis高并发快的3个原因,本篇主要谈Redis的高可用,两篇合起来就可以把redis的高并发和高可用搞清楚了. 谈到 ...
- Redis进阶-高可用:集群
前言 前面几篇文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述 ...
- Redis 多机多节点集群搭建方案(5.0版本)
>搭建环境: a)redis的安装包,redis-5.0.8.tar.gz b)gcc安装包gcc_rpm.tar.gz c)VM10 d)CentOS镜像文件 >搭建步骤: 1.准备工作 ...
- SpringBoot使用Redis 数据访问(单点、集群、哨兵、连接池、Pipline、分布式框架Redisson、解决方案)
目录 Redis 文献资料 用Redis编程 Redis模块API 教程和常见问题解答 管理 嵌入式和物联网 故障排除 Redis集群 其他基于Redis的分布式系统 在SSD和永久性存储器上进行Re ...
- redis复制、哨兵、集群详细介绍
目录 1.redis性能瓶颈在哪里? 2.redis为什么需要高可用? 3.主从复制 3.1.主从复制原理 3.1.1.复制初始化 3.1.2.复制同步阶段 3.1.3.增量复制 3.1.4.无硬盘复 ...
- Redis 学习笔记八:集群模式
Redis 学习笔记八:集群模式 作者:Grey 原文地址: 博客园:Redis 学习笔记八:集群模式 CSDN:Redis 学习笔记八:集群模式 前面提到的Redis 学习笔记七:主从复制和哨兵只能 ...
- Redis Cluster高可用(HA)集群环境搭建详细步骤
1.为什么要有集群 由于Redis主从复制架构每个数据库都要保存整个集群中的所有数据,容易形成木桶效应,所以Redis3.0之后的版本添加特性就是集群(Cluster) 2.Redis集群架构说明 架 ...
最新文章
- 生物系统和疾病的多组学数据整合考虑和研究设计
- pyqt tableview mysql_当数据库中添加了一个新条目时,如何在PyQt中更新TableView?
- OSCache-JSP页面缓存(2)
- UIButton的竖排图片和文本
- 注册表把html设置成桌面,[注册表] 将Windows 10默认应用程序设置页面添加到桌面右键菜单中...
- str python3_python3.4.3如何转换str字符串?
- mac系统下配置java 和maven环境变量
- 剑指Offer_编程题(用两个栈实现队列/旋转数组的最小数字(O(n) + 二分O(lgn))/斐波那契数列/跳台阶)
- 一文搞定BP神经网络——从原理到应用(原理篇)
- 计算机的基础知识(一)
- Android 实现指南针效果
- 特惠快车和快车的区别,滴滴特惠快车老司机说了实话?
- 支付宝领红包的算法猜想
- 卸载wps后桌面上的office文件图标变成了白色(亲测有效)
- 配置log4j2.xml输出MyBatis的SQL日志
- 【基础语法篇】Java必备基础(思维导图+代码)
- 九度1047 1163
- redist 在linux上的安装教程
- 机器视觉-相机标定及畸变矫正
- A Game of Thrones(78)