摘要: Producer根据指定的partition方法(round-robin、hash等),将消息发布到指定topic的partition里面。 每一条消息被发送到broker时,会根据paritition规则选择被存储到哪一个partition。如果partition规则设置的合理,所有消息可以均匀分 阅读全文
posted @ 2019-10-11 15:31 www555 阅读(7335) 评论(0) 推荐(0) 编辑
摘要: 1.kafka架构 Kafka的整体架构非常简单,是显式分布式架构,producer、broker(kafka)和consumer都可以有多个。Producer,consumer实现Kafka注册的接口,数据从producer发送到broker,broker承担一个中间缓存和分发的作用。broker 阅读全文
posted @ 2019-10-11 15:11 www555 阅读(1895) 评论(0) 推荐(0) 编辑
摘要: 1.Mongo与mysql的区别 2.mongo的优缺点 3 阅读全文
posted @ 2019-10-11 14:45 www555 阅读(1021) 评论(0) 推荐(0) 编辑
摘要: Exception in thread "main" org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException): Failed to APPEND_FILE 阅读全文
posted @ 2019-09-25 11:15 www555 阅读(1895) 评论(1) 推荐(1) 编辑
摘要: kafka中每个主题一般都会有很多个分区,为了及时消费到数据,我们可能会启动很多个消费者去一个消费topic中的数据。每个分区只能由消费组内的一个消费者去消费。那么,同一个消费组内的消费者是如何确定消费哪些分区的数据呢? kafka内部中存在两种分配策略:Range和RoundRobin。 kafk 阅读全文
posted @ 2019-09-11 17:30 www555 阅读(4053) 评论(0) 推荐(0) 编辑
摘要: 某些spark分区已经处理完数据,另一些分区还在处理数据,从而导致这个批次的作业消耗时间变长,甚至导致spark作业无法及时消费kafka中的数据。 解决办法: 1)修改kafkaRDD类的getPartition方法: 就是通过设置 topic.partition.subconcurrency 参 阅读全文
posted @ 2019-09-11 10:55 www555 阅读(2012) 评论(0) 推荐(0) 编辑
摘要: region数量的影响: 通常较少的region可使集群运行的更加平稳,官方指出,每个regionServer大约100个regions的时候效果最佳,理由如下: 1)hbase的一个特性MSLAB,它有助于防止堆内存的碎片化,减轻垃圾回收full gc的问题,默认是开启的。但是每个MenStore 阅读全文
posted @ 2019-09-11 10:17 www555 阅读(4133) 评论(1) 推荐(0) 编辑
摘要: rowkey是什么? rowkey相当于mysql、orcale中的主键,用于标识唯一的行,是完全由用户指定的一串不重复的字符串,hbase的数据永远都是根据rowkey的字典顺序排序的。 Rowkey的作用 1)读写数据时通过rowkey找到对应region;2)MenStore中数据按rowke 阅读全文
posted @ 2019-09-10 11:25 www555 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: 触发flush操作的条件: 1)region中所有MenStore占用的内存超过相关阈值 当一个region中所有MenStore占用的内存大小超过刷写阈值,会触发一次刷写,hbase.hregion.memstore.flush.size 默认值为128M。我们每次调用put、delete都会去检 阅读全文
posted @ 2019-09-09 10:44 www555 阅读(975) 评论(0) 推荐(0) 编辑
摘要: hbase本身对支持的列簇没有数量限制,当我们建议列簇一般设在1-3之间。 在hbase中调用API往对应的表中插入数据,会写到MenStore的,而Menstore是一种内存结构,每个列簇对应一个Menstore。 存储在Menstore中的数据在一定条件下会进行Flush操作,每次flush的时 阅读全文
posted @ 2019-09-04 16:02 www555 阅读(1203) 评论(0) 推荐(0) 编辑