摘要: kafka架构: 1,生产者producer 2,代理broker 3,消费者consumer 三者作用:kafka给生产者和消费者提供注册接口,生产者将数据发送到broker,broker负责将数据进行中间缓存和分发,分发注册到消费者。 kafka设计要点: 1,kafka直接采用linux文件系 阅读全文
posted @ 2021-01-18 11:03 SpringzZ 阅读(73) 评论(0) 推荐(0)
摘要: io操作是将对象转化为字节流的方法。hadoop是通过rpc进行通信的,所以序列化之后具有rpc系列化的一些特性。hadoop的序列化更加紧凑,自己实现了writable类。 hadoop是通过校验机制保证数据完整性,可以设置是否校验数据完整性。 注意hadoop几种压缩算法,比较重要的是压缩分割和 阅读全文
posted @ 2019-10-28 15:42 SpringzZ 阅读(145) 评论(0) 推荐(0)
摘要: MapReduce执行流程:用户作业执行jobclient.runJob在Hadoop集群上启动,启动后jobclient会向jobtracker获取jobid,而且客户端会将作业执行资源复制到hdfs上,然后将作业提交给jobtracker,jobtracker初始化本地任务,然后从hdfs作业资 阅读全文
posted @ 2019-10-28 14:39 SpringzZ 阅读(222) 评论(0) 推荐(0)
摘要: 任务执行: 推测式执行:当作业所有任务都开始运行的时候,jobtracker会统计所有任务的平均进度,如果tasktracker节点上的某个任务由于cpu过载过高或者配置比较低的话,导致了整个程序的运行缓慢,此时jobtracker会启动一个新的备份任务,原有任务和新任务哪个先执行完就杀掉慢的任务。 阅读全文
posted @ 2019-10-28 14:17 SpringzZ 阅读(98) 评论(0) 推荐(0)
摘要: shuffle优化部分首先要根据shuffle过程进行优化,其余最多的方式就是减少io的操作,那么就从map和reduce两端说起, map端首先可以调节内存环写入的阈值大小,通过设置io.sort.*减少map端的写出次数,其中增加io.sort.mb的值。 reduce端可以在reduce开始复 阅读全文
posted @ 2019-10-24 14:28 SpringzZ 阅读(234) 评论(0) 推荐(0)
摘要: 想要说起shuffle,先从整体的流程说起,shuffle包括也就是对map端的数据处理,依次进行分区,排序,切割,然后在reduance端进行merger在排序向reduce发送数据,这就是shuffle的一个整体流程。 那么在细致一点根据源码说的的话,map端输出数据会由collector端进行 阅读全文
posted @ 2019-10-22 11:20 SpringzZ 阅读(209) 评论(0) 推荐(0)