|
副本(replica):
- KafKa 对消息进行了冗余备份,每个分区有多个副本,每个副本中包含的消息是 “一样” 的。
- 每个副本中都会选举出一个 Leader 副本,其余为 Follower 副本,Follower 副本仅仅将数据从 Leader 副本拉去到本地,然后同步到自己的 Log 中。
消费者组(Consumer Group): 每个 consumer 都属于一个 consumer group,每条消息只能被 consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。
Broker:
- 一个单独的 server 就是一个 Broker;
- 主要工作:接收生产者发过来的消息,分配 offset,并且保存到磁盘中;
Cluster&Controller:
- 多个 Broker 可以组成一个 Cluster,每个集群选举一个 Broker 来作为 Controller,充当指挥中心
- Controller 负责管理分区的状态,管理每个分区的副本状态,监听 ZooKeeper 中数据的变化等工作
保留策略和日志压缩:
- 不管消费者是否已经消费了消息,KafKa 都会一直保存这些消息(持久化到磁盘);
- 通过保留策略,定时删除陈旧的消息;
- 日志压缩,只保留最新的 Key-Value 对。
关于副本机制:(加分点)
ISR 集合 :表示当前 “可用” 且消息量与 Leader 相差不多的副本集合。满足条件如下:
- 副本所在节点必须维持着与 ZooKeeper 的连接;
- 副本最后一条信息的 offset 与 Leader 副本的最后一条消息的 offset 之间的差值不能超过指定的阈值。
HW&LEO:
- HW 标记了一个特殊的 offset,当消费者处理消息的时候,只能拉取到 HW 之前的消息;
- HW 也是由 Leader 副本管理的;
- LEO(Log End Offset)是所有副本都会有的一个 offset 标记。
ISR、HW 和 LEO 的工作配合:
- producer 向此分区中推送消息;
- Leader 副本将消息追加到 Log 中,并且递增其 LEO;
- Follower 副本从 Leader 副本中拉取消息进行同步;
- Follower 副本将消息更新到本地 Log 中,并且递增其 LEO;
- 当 ISR 集合中的所有副本都完成了对 offset 的消息同步,Leader 副本会递增其 HW
KafKa 的容灾机制: 通过分区的副本 Leader 副本和 Follower 副本来提高容灾能力。
小结:请小伙伴根据自己的简历自行准备学习大数据相关知识点。
(十)Linux 常见命令
作者对这一方面不是很精通,知识点来源于网络总结以及面试官的提问,仅供小伙伴参考。
1)grep、sed 以及 awk 命令
解析:awk 命令如果可以掌握,是面试中的一个 加分点。
2)文件和目录:
pwd 显示当前目录
ls 显示当前目录下的文件和目录:
- ls -F 可以区分文件和目录;
- ls -a 可以把隐藏文件和普通文件一起显示出来;
- ls -R 可以递归显示子目录中的文件和目录;
- ls -l 显示长列表;
- ls -l test 过滤器,查看某个特定文件信息。可以只查看 test 文件的信息。
3)处理文件方面的命令有:touch、cp、 In、mv、rm、
4)处理目录方面的命令:mkdir
5)查看文件内容:file、cat、more、less、tail、head
6)监测程序命令:ps、top
eg. 找出进程名中包括 java 的所有进程:ps -ef | grep java
top 命令 实时监测进程
top 命令输出的第一部分:显示系统的概括。
- 第一行显示了当前时间、系统的运行时间、登录的用户数和系统的平均负载(平均负载有 3 个值:最近 1min 5min 15min);
- 第二行显示了进程的概要信息,有多少进程处于运行、休眠、停止或者僵化状态;
- 第三行是 CPU 的概要信息;
- 第四行是系统内存的状态。
(编辑:PHP编程网 - 湛江站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|