![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 81
证券投资分析师-高世亮
这家伙很懒,什么都没留下
展开
-
Zookeeper整理篇
请简述Zookeeper的选举机制假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务器依序启动(1)服务器1启动,此时只有它一台服务器启动了,它发出去的报没有任何响应,所以它的选举状态一直是LOOKING状态。(2)服务器2启动,它与最开始启动的服务器1进行通信,互相交换自己的选举结果,由于两者都没有历史数据,所以id值较大的服务器2胜出,但是由于没有达到超过半数以上的服务器都同意选举它(这个例原创 2022-02-11 15:19:40 · 165 阅读 · 0 评论 -
Hadoop整理篇
Hadoop的读写流程HDFS的文件读取过程1、 Client向NameNode发起RPC请求,来确定请求文件block所在的位置;2、 NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode 都会返回含有该 block 副本的 DataNode 地址; 这些返回的 DN 地址,会按照集群拓扑结构得出 DataNode 与客户端的距离,然后进行排序,排序两个规则:网络拓扑结构中距离 Client 近的排靠前;心跳机制中超时汇报的 DN 状态为 STALE原创 2022-02-11 14:42:49 · 912 阅读 · 0 评论 -
Flink整理篇
spark与flink的区别?1.架构模型不同Spark在运行时的主要角色包括:Master、Worker、Driver、ExecutorFlink 在运行时主要包含:Jobmanager、Taskmanager 和 SlotSlot与Parallelism的关系Slot(指taskmanager 的并发执行能力,与cpu核心数有关,一般slot 数就是每个TaskManager给的cpu 核数。taskmanager.numberOfTaskSlots可以设置,但不能超过核心数,要不然flink原创 2022-02-10 11:56:46 · 850 阅读 · 0 评论 -
Spark整理篇
spark宽依赖窄依赖是怎么划分的?宽依赖窄依赖划分一般是指产生shuffle的时候划分stage,没产生shuffle的stage就是窄依赖,shuffle之后产生的stage就是宽依赖。窄依赖是指父RDD的每个分区只被子RDD的一个分区所使用,子RDD分区通常对应一个或多个父RDD分区。宽依赖是指父RDD的每个分区都可能被多个子RDD分区所使用,子RDD分区通常对应所有的父RDD分区。但是因为RDD是有lineage血统机制容错的,窄依赖只需重新计算丢失RDD分区的父分区,而且不同节点之间可以并原创 2022-02-10 11:11:44 · 733 阅读 · 0 评论 -
Kafka整理篇
kafka的数据可靠性ack机制和ISR机制。Leader维护了一个动态的in-sync replica set (ISR),意为和leader保持同步的follower集合。当ISR中的follower完成数据的同步之后,leader就会给producer发送ack。如果follower长时间未向leader同步数据,则该follower将被踢出ISR列表,该时间阈值由replica.lag.time.max.ms参数设定(默认为30s)。Leader发生故障之后,就会从ISR中选举新的leader。原创 2022-02-10 11:06:42 · 1192 阅读 · 0 评论 -
Hbase整理篇
Hbase有什么特点?•上层构建分布式内存,可以实现高并发、随机实时的读写•底层基于HDFS,可以实现大数据•按列存储,基于列实现数据存储,灵活性更高Hbase设计思想是什么?•设计思想、冷热数据分离,Hbase将新数据直接写入内存中,如果内存中存储的数据过多,就将内存的数据写入HDFS–热数据是指刚产生的数据,先写内存,大概率的情况下,可以直接从内存中读取–冷数据是指先产生的数据,将内存中产生很久的数据写入HDFS中,被读取的概率较小请简述Hbase的分布式主从架构•主节点:HMaste原创 2022-02-10 11:08:22 · 133 阅读 · 0 评论 -
Hive整理篇
你使用过哪些 Hive 函数(1)普通函数(2)行转列函数和列转行函数(1)行转列:把多行转成一列(多行变一行)CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串,如果concat中任意字符串为null,则整个函数的返回结果为null。CONCAT_WS(separator, str1, str2,…):一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,原创 2022-02-10 10:53:57 · 1000 阅读 · 0 评论 -
Redis整理篇
说一说 Redis 的数据过期淘汰策略?Redis 中数据过期策略采用定期删除+惰性删除策略。定期删除、惰性删除策略是什么?定期删除策略:Redis 启用一个定时器定时监视所有的 key,判断key是否过期,过期的话就删除。这种策略可以保证过期的 key 最终都会被删除,但是也存在严重的缺点:每次都遍历内存中所有的数据,非常消耗 CPU 资源,并且当 key 已过期,但是定时器还处于未唤起状态,这段时间内 key 仍然可以用。 惰性删除策略:在获取 key 时,先判断 key 是否过期,如果过期则删除原创 2022-02-10 10:49:27 · 567 阅读 · 0 评论 -
G1卡表详解
跨代引用面临的问题首先,产生跨代引用场景是发生YongGC的过程。此时新生代的对象会开始寻找根,看自己是否属于根可达对象,从而判断自己是否是垃圾。那很多同学就开始有疑惑了?不是判断对象是否存活,应该是从GC Roots开始寻找,使用复杂的三色标记算法后,将判定不存活的对象删除掉么?但我们知道,并不是所有老年代的对象都会引用着新生代的对象。那么相对频繁的YongGC,每次都从根节点遍历一次,效率就会被严重影响。因此,就引入了卡表和记忆集的概念。卡表将整个老年代分成了多个层级,card[0],card[转载 2022-02-09 22:58:38 · 1452 阅读 · 0 评论 -
JVM垃圾回收
在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发。扫描那些没有被引用的对象,加到要回收的集合中,进行回收。Java的引用类型有四种:强引用、软引用、弱引用、虚引用。强引用:发生 gc 的时候不会被回收。弱引用:GC的时候会被回收。软引用:OOM的时候会被回收。虚引用(幽灵引用):虚引用一般用来跟踪垃圾回收过程,可以通过它来观察对象是否已经被回收,从而进行相应的处理。虚引用没有生命周期,在任何时间都可能被回收掉。它和引用队列一原创 2022-02-10 10:41:09 · 265 阅读 · 0 评论 -
kafka的Rebalance机制
选举机制如果kafka集群有多个broker节点,消费组会选择哪个partition节点作为Coordinator节点呢?它会通过如下公式,其中的50代表着kafka内部主题consumer offset的分区总数Math.abs(hash(groupID)) % 50那么当前Consumer Group的Coordinator就是上述公式计算出的partition的leader partitionRebalance流程Coordinator发生Rebalance的时候,Coordinator并不原创 2022-02-09 23:51:59 · 1359 阅读 · 0 评论