Yarn:分布式资源管理系统
Nodemanager:节点管理
Resourcemanager:资源管理
Applicationmaster应用程序主
Container:容器
Client:客户,顾客
JVM:java virtual machine
Map :地图
Resource:资源
Submission:提交
Request:请求
Submission:提交
Partitioner:分区器
CPU
Mem
I/o
Linux
Group
Nn:namenode
Nm:nodemanager
Iterator:迭代器
Sort:排序
Spill:溢写
Click:点击
Collect:收藏
Cart:购物车
Apply:付款
Shuffer
Intwritable
Text
Object
Comparator:比较器
Get
Set
Reflect:反射
Init:初始化
test
Api
Zk:
Zkfc:
zookeeper
MySQL
Oracle
db:database
Datapage的存储大小只能是4K,太大浪费,太小会增加频繁的io量。
Table的表结构:
index:索引
Update
Delete
Insert
Select
Memcached:
Memcached:
Java是8中数据类型
Json只有一种数据类型:var
Redis:支持很多种数据类型。
内存持久化:断电保存
Key:string
Value:各种数据类型
RDB(Redis DB) hdfs: fsimage
AOF(AppendOnlyFile) hdfs : edit logs 关闭的
SAVE 和 BGSAVE 命令
SAVE不用创建新的进程,速度略快
BGSAVE需要创建子进程,消耗额外的内存
SAVE适合停机维护,服务低谷时段
BGSAVE适合线上执行
Cherry:草莓
Replication:复制,重复
脑裂:splitbrain
分区:partition
一致性:consistency
可用性:availibity
容忍性:tolerance
Sentinel:高可用
Cluster:集群
Twemproxy:分布式切片
Master:大师,主节点
Slave:奴隶,从节点
Redis在底层采用,异步分发。坏处是不一致,是不同版本的。
Sentinel:哨兵,监督
Sentinel:监督,一个集群中,一个master,两个slave,
当master挂了的时候,哨兵会将其中一个slave提升级别成master。
Synchronization:同步
Monitor:监控
主从架构:
Zookeeper中:
Leader:主
Follower:随从
Redis中:
Master:主人
Slaver:仆人
Slaver::只能读取
Master:可以增删改
Server服务器的三种状态:
Observer:
Looking:当前server不知道谁是leader,正在搜寻
Leader:当前server即为选举出来的leader
Follower:leader已经选举出来,当前server与之同步
主从分工:
Leader:负责投票的发起和决议,更新系统的状态
Learner:包括跟随者follower和观察者observer,follower勇于接受客户端请求,并向客户返回结果,在选主过程中,参与投票
Observer:可以接受客户端链接,将写的请求转发给leader,但是observer不参加投票过程,只同步leader状态,observer的目的是为了扩展系统,提高读取速度。
Czxid:版本id
Ctime;创建时间
Mtime;修改时间
Mzid:修改的id
Pzxid:获取最新的子目录的id
Zookeeper分为持久化节点和临时的节点
Persistent:持久化的
Ephemeral:临时的
Session的生命周期:
Zookeeper:动物园管理员
小岛(Island)——ZK Server Cluster
议员(Senator)——ZK Server
提议(Proposal)——ZNode Change(Create/Delete/SetData…)
提议编号(PID)——Zxid(ZooKeeper Transaction Id)