2022年4月9日

|NO.Z.00068|——————————|BigDataEnd|——|Hadoop&kafka.V53|——|kafka.v53|磁盘存储|零拷贝/页缓存/顺序写入.v03|

摘要: 一、 磁盘存储:顺序写入 ### 顺序写入 ~~~ 操作系统可以针对线性读写做深层次的优化, ~~~ 比如预读(read-ahead,提前将一个比较大的磁盘块读入内存) 和后写(write-behind, ~~~ 将很多小的逻辑写操作合并起来组成一个大的物理写操作)技术。 ~~~ Kafka 在设计 阅读全文

posted @ 2022-04-09 14:22 yanqi_vip 阅读(48) 评论(0) 推荐(0)

|NO.Z.00066|——————————|BigDataEnd|——|Hadoop&kafka.V51|——|kafka.v51|磁盘存储|零拷贝/页缓存/顺序写入.v01|

摘要: 一、磁盘存储:零拷贝 ### [kafka高级特性解析] ~~~ [磁盘存储:零拷贝] ~~~ [磁盘存储:页缓存] ~~~ [磁盘存储:顺序写入] ### 零拷贝 ~~~ kafka高性能,是多方面协同的结果,包括宏观架构、分布式partition存储、ISR数据同步、 ~~~ 以及“无所不用其极 阅读全文

posted @ 2022-04-09 14:21 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00067|——————————|BigDataEnd|——|Hadoop&kafka.V52|——|kafka.v52|磁盘存储|零拷贝/页缓存/顺序写入.v02|

摘要: 一、磁盘存储:页缓存 ### 页缓存 ~~~ 页缓存是操作系统实现的一种主要的磁盘缓存,以此用来减少对磁盘 I/O 的操作。 ~~~ 具体来说,就是把磁盘中的数据缓存到内存中,把对磁盘的访问变为对内存的访问。 ~~~ Kafka接收来自socket buffer的网络数据,应用进程不需要中间处理、直 阅读全文

posted @ 2022-04-09 14:21 yanqi_vip 阅读(48) 评论(0) 推荐(0)

|NO.Z.00065|——————————|BigDataEnd|——|Hadoop&kafka.V50|——|kafka.v50|日志清理|

摘要: 一、日志压缩策略 ### 概念 ~~~ 日志压缩是Kafka的一种机制,可以提供较为细粒度的记录保留, ~~~ 而不是基于粗粒度的基于时间的保留。 ~~~ 对于具有相同的Key,而数据不同,只保留最后一条数据,前面的数据在合适的情况下删除。 ### 应用场景 ~~~ 日志压缩特性,就实时计算来说,可 阅读全文

posted @ 2022-04-09 14:20 yanqi_vip 阅读(32) 评论(0) 推荐(0)

|NO.Z.00063|——————————|BigDataEnd|——|Hadoop&kafka.V48|——|kafka.v48|日志存储索引|偏移量索引|时间戳索引.v03|

摘要: 一、时间戳索引 ### 时间戳 ~~~ 在偏移量索引文件中,索引数据都是顺序记录 offset , ~~~ 但时间戳索引文件中每个追加的索引时间戳必须大于之前追加的索引项,否则不予追加。 ~~~ 在 Kafka 0.11.0.0 以后,消息信息中存在若干的时间戳信息。 ~~~ 如果 broker 端 阅读全文

posted @ 2022-04-09 14:19 yanqi_vip 阅读(67) 评论(0) 推荐(0)

|NO.Z.00064|——————————|BigDataEnd|——|Hadoop&kafka.V49|——|kafka.v49|日志清理|

摘要: 一、日志清理 ### 日志清理 ~~~ # Kafka 提供两种日志清理策略: ~~~ 日志删除:按照一定的删除策略,将不满足条件的数据进行数据删除 ~~~ 日志压缩:针对每个消息的 Key 进行整合,对于有相同 Key 的不同 Value 值,只保留最后一个版本。 ~~~ Kafka 提供 log 阅读全文

posted @ 2022-04-09 14:19 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00061|——————————|BigDataEnd|——|Hadoop&kafka.V46|——|kafka.v46|日志存储索引|偏移量索引|时间戳索引.v01|

摘要: 一、日志存储 ### [kafka高级特性解析] ~~~ [日志存储索引] ~~~ [偏移量索引] ~~~ [时间戳索引] ### 索引 ~~~ 偏移量索引文件用于记录消息偏移量与物理地址之间的映射关系。 ~~~ 时间戳索引文件则根据时间戳查找对应的偏移量。 ~~~ # 文件: ~~~ # 查看一个 阅读全文

posted @ 2022-04-09 14:18 yanqi_vip 阅读(40) 评论(0) 推荐(0)

|NO.Z.00062|——————————|BigDataEnd|——|Hadoop&kafka.V47|——|kafka.v47|日志存储索引|偏移量索引|时间戳索引.v02|

摘要: 一、偏移量索引 ### 位置索引保存在index文件中 ~~~ log日志默认每写入4K(log.index.interval.bytes设定的),会写入一条索引信息到index文件中, ~~~ 因此索引文件是稀疏索引,它不会为每条日志都建立索引信息。 ~~~ log文件中的日志,是顺序写入的,由m 阅读全文

posted @ 2022-04-09 14:18 yanqi_vip 阅读(52) 评论(0) 推荐(0)

|NO.Z.00059|——————————|BigDataEnd|——|Hadoop&kafka.V44|——|kafka.v44|自定义分配策略|

摘要: 一、自定义分配策略 ### 自定义分配策略 ~~~ 自定义的分配策略必须要实现 ~~~ org.apache.kafka.clients.consumer.internals.PartitionAssignor接口 ~~~ PartitionAssignor接口的定义如下: Subscription 阅读全文

posted @ 2022-04-09 14:17 yanqi_vip 阅读(33) 评论(0) 推荐(0)

|NO.Z.00060|——————————|BigDataEnd|——|Hadoop&kafka.V45|——|kafka.v45|日志存储概述|

摘要: 一、日志存储概述 ### 日志存储概述 ~~~ Kafka 消息是以主题为单位进行归类,各个主题之间是彼此独立的,互不影响。 ~~~ 每个主题又可以分为一个或多个分区。 ~~~ 每个分区各自存在一个记录消息数据的日志文件。 [root@hadoop01 ~]# ls /opt/yanqi/serve 阅读全文

posted @ 2022-04-09 14:17 yanqi_vip 阅读(39) 评论(0) 推荐(0)

|NO.Z.00058|——————————|BigDataEnd|——|Hadoop&kafka.V43|——|kafka.v43|分区分配策略.v02|

摘要: 一、多重分区分配算法:RoundRobinAssignor ### RoundRobinAssignor ~~~ RoundRobinAssignor的分配策略是将消费组内订阅的所有Topic的分区 ~~~ 及所有消费者进行排序后尽量均衡的分配(RangeAssignor是针对单个Topic的分区进 阅读全文

posted @ 2022-04-09 14:16 yanqi_vip 阅读(42) 评论(0) 推荐(0)

|NO.Z.00056|——————————|BigDataEnd|——|Hadoop&kafka.V41|——|kafka.v41|修改分区副本|

摘要: 一、修改分区副本 ### 修改分区副本 ~~~ # 实际项目中, ~~~ 我们可能由于主题的副本因子设置的问题, ~~~ 需要重新设置副本因子或者由于集群的扩展,需要重新设置副本因子。 ~~~ topic一旦使用又不能轻易删除重建,因此动态增加副本因子就成为最终的选择。 ~~~ # 说明: ~~~ 阅读全文

posted @ 2022-04-09 14:15 yanqi_vip 阅读(55) 评论(0) 推荐(0)

|NO.Z.00057|——————————|BigDataEnd|——|Hadoop&kafka.V42|——|kafka.v42|分区分配策略.v01|

摘要: 一、分区分配策略 ### 分区分配策略 ~~~ 在Kafka中,每个Topic会包含多个分区, ~~~ 默认情况下一个分区只能被一个消费组下面的一个消费者消费,这里就产生了分区分配的问题。 ~~~ Kafka中提供了多重分区分配算法(PartitionAssignor)的实现: ~~~ RangeA 阅读全文

posted @ 2022-04-09 14:15 yanqi_vip 阅读(52) 评论(0) 推荐(0)

|NO.Z.00055|——————————|BigDataEnd|——|Hadoop&kafka.V40|——|kafka.v40|自动再分配|

摘要: 一、自动再均衡 ### [kafka高级特性解析] ~~~ [自动再均衡] ~~~ [broker宕机分区自动分配] ~~~ [broker宕机启动主题分区恢复初始状态] ### 自动再均衡 ~~~ 我们可以在新建主题的时候,手动指定主题各个Leader分区以及Follower分区的分配情况, ~~ 阅读全文

posted @ 2022-04-09 14:14 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00052|——————————|BigDataEnd|——|Hadoop&kafka.V37|——|kafka.v37|分区重新分配.v01|

摘要: 一、分区重新分配 ### [kafka高级特性解析] ~~~ [分区重新分配] ~~~ [创建kafka集群实例二] ~~~ [自定义分配分区] ### 分区重新分配 ~~~ 向已经部署好的Kafka集群里面添加机器,我们需要从已经部署好的Kafka节点中复制相应的配置文件, ~~~ 然后把里面的b 阅读全文

posted @ 2022-04-09 14:13 yanqi_vip 阅读(26) 评论(0) 推荐(0)

|NO.Z.00053|——————————|BigDataEnd|——|Hadoop&kafka.V38|——|kafka.v38|分区重新分配.v02|

摘要: 一、创建kafka集群实例二: ### 添加kafka实例二:在hadoop02搭建Kafka;此处不需要zookeeper,切记!!! ### 配置hosts文件 [root@hadoop02 ~]# vim /etc/hosts 192.168.1.111 hadoop01 192.168.1. 阅读全文

posted @ 2022-04-09 14:13 yanqi_vip 阅读(41) 评论(0) 推荐(0)

|NO.Z.00054|——————————|BigDataEnd|——|Hadoop&kafka.V39|——|kafka.v39|分区重新分配.v03|

摘要: 一、自定义分配分区:分区重新分配实例 ### 查看主题 ~~~ # 把hadoop02上tp_re_01的partition3/4分区重新分配到hadoop02上 [root@hadoop01 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafk 阅读全文

posted @ 2022-04-09 14:13 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00051|——————————|BigDataEnd|——|Hadoop&kafka.V36|——|kafka.v36|Leader选举|

摘要: 一、Leader选举 ### 下图中 ~~~ 分区P1的Leader是0,ISR是0和1 ~~~ 分区P2的Leader是2,ISR是1和2 ~~~ 分区P3的Leader是1,ISR是0,1,2。 ~~~ # 生产者和消费者的请求都由Leader副本来处理。 ~~~ Follower副本只负责消费 阅读全文

posted @ 2022-04-09 14:12 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00049|——————————|BigDataEnd|——|Hadoop&kafka.V34|——|kafka.v34|偏移量管理.v03|

摘要: 一、创建一个maven项目 ### 创建一个maven项目:demo-10-kafka-groupoffsets ### 添加maven依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kaf 阅读全文

posted @ 2022-04-09 14:11 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00050|——————————|BigDataEnd|——|Hadoop&kafka.V35|——|kafka.v35|副本机制|

摘要: 一、副本机制 ### Kafka在一定数量的服务器上对主题分区进行复制。 ~~~ # 当集群中的一个broker宕机后系统可以自动故障转移到其他可用的副本上,不会造成数据丢失。 ~~~ # --replication-factor 3 1leader+2follower ~~~ 将复制因子为1的未复 阅读全文

posted @ 2022-04-09 14:11 yanqi_vip 阅读(38) 评论(0) 推荐(0)

|NO.Z.00046|——————————|BigDataEnd|——|Hadoop&kafka.V31|——|kafka.v31|kafkaAdminclient应用.v02|

摘要: 一、KafkaAdminClient应用实现流程 ### 主要操作步骤: ~~~ 客户端根据方法的调用创建相应的协议请求, ~~~ 比如创建Topic的createTopics方法,其内部就是发送CreateTopicRequest请求。 ~~~ 客户端发送请求至Kafka Broker。 ~~~ 阅读全文

posted @ 2022-04-09 14:10 yanqi_vip 阅读(43) 评论(0) 推荐(0)

|NO.Z.00047|——————————|BigDataEnd|——|Hadoop&kafka.V32|——|kafka.v32|偏移量管理.v01|

摘要: 一、偏移量管理 ### 偏移量管理 ~~~ Kafka 1.0.2,__consumer_offsets主题中保存各个消费组的偏移量。 ~~~ 早期由zookeeper管理消费组的偏移量。 ### 查询方法: ~~~ 通过原生 kafka 提供的工具脚本进行查询。 ~~~ 工具脚本的位置与名称为bi 阅读全文

posted @ 2022-04-09 14:10 yanqi_vip 阅读(32) 评论(0) 推荐(0)

|NO.Z.00048|——————————|BigDataEnd|——|Hadoop&kafka.V33|——|kafka.v33|偏移量管理.v02|

摘要: 一、偏移量管理实例[需要启动代码程序查看] ### 查看指定group.id 的消费者消费情况 [root@hadoop ~]# kafka-consumer-groups.sh --bootstrap-server localhost:9092 \ --describe --group group 阅读全文

posted @ 2022-04-09 14:10 yanqi_vip 阅读(39) 评论(0) 推荐(0)

|NO.Z.00044|——————————|BigDataEnd|——|Hadoop&kafka.V29|——|kafka.v29|增加分区.v02|

摘要: 一、必要参数配置 1、必要参数配置 kafka-topics.sh --config xx=xx --config yy=yy 二、配置给主题的参数。 属性 默认值 服务器默认属性 说明 cleanup.policy delete log.cleanup.policy 要么是”delete“要么是” 阅读全文

posted @ 2022-04-09 14:09 yanqi_vip 阅读(32) 评论(0) 推荐(0)

|NO.Z.00045|——————————|BigDataEnd|——|Hadoop&kafka.V30|——|kafka.v30|kafkaAdminclient应用.v01|

摘要: 一、KafkaAdminClient应用 ### KafkaAdminClient应用说明 ~~~ 除了使用Kafka的bin目录下的脚本工具来管理Kafka, ~~~ 还可以使用管理Kafka的API将某些管理查看的功能集成到系统中。 ~~~ 在Kafka0.11.0.0版本之前,可以通过kafk 阅读全文

posted @ 2022-04-09 14:09 yanqi_vip 阅读(38) 评论(0) 推荐(0)

|NO.Z.00042|——————————|^^ 创建 ^^|——|Hadoop&kafka.V27|——|kafka.v27|主题管理.v02|

摘要: 一、修改主题 ### 为topic_x加入segment.bytes配置 [root@hadoop ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --alter \ --topic topic_x --config segment.by 阅读全文

posted @ 2022-04-09 14:08 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00043|——————————|BigDataEnd|——|Hadoop&kafka.V28|——|kafka.v28|增加分区.v01|

摘要: 一、增加分区 ### 创建主题:分区副本均为1 [root@hadoop ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka \ --create --topic topic_demo_001 --partitions 1 --replica 阅读全文

posted @ 2022-04-09 14:08 yanqi_vip 阅读(85) 评论(0) 推荐(0)

|NO.Z.00041|——————————|^^ 创建 ^^|——|Hadoop&kafka.V26|——|kafka.v26|主题管理.v01|

摘要: 一、主题管理:创建主题 ### 方案一:创建主题 ~~~ # 创建主题 [root@hadoop ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_x \ --partitions 3 --re 阅读全文

posted @ 2022-04-09 14:07 yanqi_vip 阅读(43) 评论(0) 推荐(0)

|NO.Z.00039|——————————|BigDataEnd|——|Hadoop&kafka.V24|——|kafka.v24|消费组管理|

摘要: 一、消费组管理:消费者组 (Consumer Group) ### 什么是消费者组 ~~~ consumer group是kafka提供的可扩展且具有容错性的消费者机制。 ### 三个特性: ~~~ 消费组有一个或多个消费者,消费者可以是一个进程,也可以是一个线程 ~~~ group.id是一个字符 阅读全文

posted @ 2022-04-09 14:06 yanqi_vip 阅读(33) 评论(0) 推荐(0)

|NO.Z.00040|——————————|BigDataEnd|——|Hadoop&kafka.V25|——|kafka.v25|主题管理参数说明|

摘要: 一、主题管理参数说明:使用kafka-topics.sh脚本: 选项 说明 -config<String:name=value> 为创建的或修改的主题指定配置信息。支持下述配置条目:cleanup.policycompression.typedelete.retention.msfile.delet 阅读全文

posted @ 2022-04-09 14:06 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00038|——————————|BigDataEnd|——|Hadoop&kafka.V23|——|kafka.v23|消费者拦截器参数配置|

摘要: 一、消费者拦截器参数配置:消费者参数配置补充 配置项 说明 bootstrap.servers 建立到Kafka集群的初始连接用到的host/port列表。客户端会使用这里指定的所有的host/port来建立初始连接。这个配置仅会影响发现集群所有节点的初始连接。形式:host1:port1,host 阅读全文

posted @ 2022-04-09 14:05 yanqi_vip 阅读(41) 评论(0) 推荐(0)

|NO.Z.00036|——————————|BigDataEnd|——|Hadoop&kafka.V21|——|kafka.v21|消费者拦截器实验案例.v01|

摘要: 一、消费者拦截器 ### 消费者拦截器 ~~~ 消费者在拉取了分区消息之后,要首先经过反序列化器对key和value进行反序列化处理。 ~~~ 处理完之后, ~~~ 如果消费端设置了拦截器,则需要经过拦截器的处理之后,才能返回给消费者应用程序进行处理。 ~~~ 如果拦截器是null,表示没有配置消费 阅读全文

posted @ 2022-04-09 14:04 yanqi_vip 阅读(40) 评论(0) 推荐(0)

|NO.Z.00037|——————————|BigDataEnd|——|Hadoop&kafka.V22|——|kafka.v22|消费者拦截器实验案例.v02|

摘要: 一、创建一个maven项目:demo-09-kafka-consumerInterceptors ### 添加pom.xml依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-cli 阅读全文

posted @ 2022-04-09 14:04 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00033|——————————|BigDataEnd|——|Hadoop&kafka.V18|——|kafka.v18|消费者位移管理.v01|

摘要: 一、消费者位移管理 ### 消费者位移管理 ~~~ Kafka中,消费者根据消息的位移顺序消费消息。 ~~~ 消费者的位移由消费者管理可以存储于zookeeper中也可以存储于Kafka主题__consumer_offsets中。 ~~~ Kafka提供了消费者API,让消费者可以管理自己的位移。 阅读全文

posted @ 2022-04-09 14:03 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00034|——————————|BigDataEnd|——|Hadoop&kafka.V19|——|kafka.v19|消费者位移管理.v02|

摘要: 一、消费者位移管理数据准备 ### 准备数据 ~~~ # 生成消息文件 [root@hadoop ~]# for i in `seq 60`; do echo "hello yanqi $i" >> nm.txt; done ~~~ # 创建主题,三个分区,每个分区一个副本 [root@hadoop 阅读全文

posted @ 2022-04-09 14:03 yanqi_vip 阅读(16) 评论(0) 推荐(0)

|NO.Z.00035|——————————|BigDataEnd|——|Hadoop&kafka.V20|——|kafka.v20|再均衡剖析|

摘要: 一、再均衡剖析 ### 再均衡 ~~~ # 重平衡可以说是kafka为人诟病最多的一个点了。 ~~~ 重平衡其实就是一个协议,它规定了如何让消费者组下的所有消费者来分配topic中的每一个分区。 ~~~ 比如一个topic有100个分区,一个消费者组内有20个消费者, ~~~ 在协调者的控制下让组内 阅读全文

posted @ 2022-04-09 14:03 yanqi_vip 阅读(37) 评论(0) 推荐(0)

|NO.Z.00032|——————————|BigDataEnd|——|Hadoop&kafka.V17|——|kafka.v17|位移提交剖析|

摘要: 一、位移提交 ### 位移提交 ~~~ Consumer需要向Kafka记录自己的位移数据,这个汇报过程称为提交位移(Committing Offsets) ~~~ Consumer 需要为分配给它的每个分区提交各自的位移数据 ~~~ 位移提交的由Consumer端负责的,Kafka只负责保管。__ 阅读全文

posted @ 2022-04-09 14:02 yanqi_vip 阅读(18) 评论(0) 推荐(0)

|NO.Z.00030|——————————|BigDataEnd|——|Hadoop&kafka.V15|——|kafka.v15|反序列化剖析|

摘要: 一、反序列化剖析 ### 反序列化 ~~~ Kafka的broker中所有的消息都是字节数组,消费者获取到消息之后, ~~~ 需要先对消息进行反序列化处理,然后才能交给用户程序消费处理。 ### 消费者的反序列化器包括key的和value的反序列化器。 key.deserializer value. 阅读全文

posted @ 2022-04-09 14:01 yanqi_vip 阅读(60) 评论(0) 推荐(0)

|NO.Z.00031|——————————|BigDataEnd|——|Hadoop&kafka.V16|——|kafka.v16|自定义反序列化|

摘要: 一、自定义反序列化 ### 创建一个maven项目:demo-08-customDeserializer ~~~ # 添加pom.xml依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kaf 阅读全文

posted @ 2022-04-09 14:01 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00029|——————————|BigDataEnd|——|Hadoop&kafka.V14|——|kafka.v14|订阅剖析|

摘要: 一、[订阅剖析:订阅 ### 主题和分区 ~~~ # Topic,Kafka用于分类管理消息的逻辑单元,类似与MySQL的数据库。 ~~~ Partition,是Kafka下数据存储的基本单元,这个是物理上的概念。 ~~~ 同一个topic的数据,会被分散的存储到多个partition中, ~~~ 阅读全文

posted @ 2022-04-09 14:00 yanqi_vip 阅读(28) 评论(0) 推荐(0)

|NO.Z.00028|——————————|BigDataEnd|——|Hadoop&kafka.V13|——|kafka.v13|消费者参数详解|

摘要: 一、消费者参数详解:消息接收:必要参数配置 参数 说明 bootstrap.servers 向Kafka集群建立初始连接用到的host/port列表。客户端会使用这里列出的所有服务器进行集群其他服务器的发现,而不管是否指定了哪个服务器用作引导。这个列表仅影响用来发现集群所有服务器的初始主机。字符串形 阅读全文

posted @ 2022-04-09 14:00 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00026|——————————|BigDataEnd|——|Hadoop&kafka.V11|——|kafka.v11|消费者|消费组|心跳机制.v01|

摘要: 一、概念入门 ### [kafka高级特性解析] ~~~ [消费者/消费组] ~~~ [心跳机制] ### 消费者、消费组 ~~~ # 消费者从订阅的主题消费消息, ~~~ 消费消息的偏移量保存在Kafka的名字是__consumer_offsets 的主题中。 ~~~ 消费者还可以将自己的偏移量存 阅读全文

posted @ 2022-04-09 13:59 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00027|——————————|BigDataEnd|——|Hadoop&kafka.V12|——|kafka.v12|消费者|消费组|心跳机制.v02|

摘要: 一、心跳机制 二、消费者宕机,退出消费组,触发再平衡,重新给消费组中的消费者分配分区。 ### 由于broker宕机,主题X的分区3宕机,此时分区3没有Leader副本,触发再平衡, ~~~ 消费者4没有对应的主题分区,则消费者4闲置。 ### Kafka 的心跳是 Kafka Consumer 和 阅读全文

posted @ 2022-04-09 13:59 yanqi_vip 阅读(50) 评论(0) 推荐(0)

|NO.Z.00025|——————————|BigDataEnd|——|Hadoop&kafka.V10|——|kafka.v10|生产者原理剖析.v02|

摘要: 一、生产者参数配置补充:参数设置方式: 二、补充参数: 参数名称 描述 retry.backoff.ms 在向一个指定的主题分区重发消息的时候,重试之间的等待时间。 比如3次重试,每次重试之后等待该时间长度,再接着重试。 在一些失败的场景,避免了密集循环的重新发送请求。 long型值,默认100。可 阅读全文

posted @ 2022-04-09 13:58 yanqi_vip 阅读(32) 评论(0) 推荐(0)

|NO.Z.00023|——————————|BigDataEnd|——|Hadoop&kafka.V08|——|kafka.v08|拦截器剖析.v02|

摘要: 一、实现ProducerInterceptor接口 ### 消息实体类: package cn.yanqi.kafka.demo.entity; public class User { private Integer userId; private String username; public I 阅读全文

posted @ 2022-04-09 13:57 yanqi_vip 阅读(30) 评论(0) 推荐(0)

|NO.Z.00024|——————————|BigDataEnd|——|Hadoop&kafka.V09|——|kafka.v09|生产者原理剖析.v01|

摘要: 一、原理剖析 ### [kafka高级特性解析] ~~~ [生产者原理剖析] ~~~ [生产者参数配置] 二、原理剖析 ### 由上图可以看出:KafkaProducer有两个基本线程: ~~~ # 主线程: ~~~ 负责消息创建,拦截器,序列化器,分区器等操作,并将消息追加到消息收集器Recode 阅读全文

posted @ 2022-04-09 13:57 yanqi_vip 阅读(32) 评论(0) 推荐(0)

|NO.Z.00021|——————————|BigDataEnd|——|Hadoop&kafka.V06|——|kafka.v06|分区器剖析.v02|

摘要: 一、官方封装类的实现 ### 包org.apache.kafka.clients.producer.internals 中分区器的默认实现: package org.apache.kafka.clients.producer.internals; import java.util.List; imp 阅读全文

posted @ 2022-04-09 13:56 yanqi_vip 阅读(30) 评论(0) 推荐(0)

|NO.Z.00022|——————————|BigDataEnd|——|Hadoop&kafka.V07|——|kafka.v07|拦截器剖析.v01|

摘要: 一、拦截器剖析 ### 拦截器 ~~~ # Producer拦截器(interceptor) ~~~ 和Consumer端Interceptor是在Kafka 0.10版本被引入的, ~~~ 主要用于实现Client端的定制化控制逻辑。 ~~~ # 对于Producer而言, ~~~ Interce 阅读全文

posted @ 2022-04-09 13:56 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00019|——————————|BigDataEnd|——|Hadoop&kafka.V04|——|kafka.v04|自定义序列化器|

摘要: 一、自定义序列化器 ### 自定义序列化器 ~~~ 数据的序列化一般生产中使用avro。 ~~~ 自定义序列化器需要实现org.apache.kafka.common.serialization.Serializer<T>接口, ~~~ 并实现其中的serialize 方法。 ### 编程代码实现 阅读全文

posted @ 2022-04-09 13:55 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00020|——————————|BigDataEnd|——|Hadoop&kafka.V05|——|kafka.v05|分区器剖析.v01|

摘要: 一、分区器剖析 ### 分区器 ~~~ # 默认(DefaultPartitioner)分区计算: ~~~ 如果record提供了分区号,则使用record提供的分区号 ~~~ 如果record没有提供分区号,则使用key的序列化后的值的hash值对分区数量取模 ~~~ 如果record没有提供分区 阅读全文

posted @ 2022-04-09 13:55 yanqi_vip 阅读(30) 评论(0) 推荐(0)

|NO.Z.00016|——————————|BigDataEnd|——|Hadoop&kafka.V01|——|kafka.v01|数据生产流程剖析|生产者参数详解.v01|

摘要: 一、生产者:消息发送 ### [kafka高级特性解析] ~~~ [数据生产流程剖析] ~~~ [生产者参数详解] ~~~ [生产者参数代码案例] ### 数据生产流程解析 ~~~ # Producer创建时,会创建一个Sender线程并设置为守护线程。 ~~~ 生产消息时,内部其实是异步流程,生产 阅读全文

posted @ 2022-04-09 13:54 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&kafka.V02|——|kafka.v02|数据生产流程剖析|生产者参数详解.v02|

摘要: 一、生产者配置参数代码实现 ### 创建maven项目:demo-04-kafka-properties ~~~ 配置pom.xml文件;导入依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId> 阅读全文

posted @ 2022-04-09 13:54 yanqi_vip 阅读(17) 评论(0) 推荐(0)

|NO.Z.00018|——————————|BigDataEnd|——|Hadoop&kafka.V03|——|kafka.v03|序列化器剖析|

摘要: 一、序列化器剖析 ### 序列化器 ~~~ 由于Kafka中的数据都是字节数组,在将消息发送到Kafka之前需要先将数据序列化为字节数组。 ~~~ 序列化器的作用就是用于序列化要发送的消息的。 ~~~ Kafka使用org.apache.kafka.common.serialization.Seri 阅读全文

posted @ 2022-04-09 13:54 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00015|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-09 13:53 yanqi_vip 阅读(10) 评论(0) 推荐(0)

|NO.Z.00013|——————————|BigDataEnd|——|Hadoop&kafka.V13|——|kafka.v13|spring_kafka实战.v03|

摘要: 一、kafkaAutoConfiguration配置;创建新的主题:kafkaAutoConfiguration配置 二、新建主题,可以通过configuration配置 package com.yanqi.kafka.demo.config; import org.apache.kafka.cli 阅读全文

posted @ 2022-04-09 13:52 yanqi_vip 阅读(18) 评论(0) 推荐(0)

|NO.Z.00014|——————————|BigDataEnd|——|Hadoop&kafka.V14|——|kafka.v14|服务端参数配置|

摘要: 一、服务端参数配置 ### 服务端参数配置 ~~~ $KAFKA_HOME/config/server.properties文件中的配置。 ### zookeeper.connect ~~~ 该参数用于配置Kafka要连接的Zookeeper/集群的地址。 ~~~ 它的值是一个字符串,使用逗号分隔Z 阅读全文

posted @ 2022-04-09 13:52 yanqi_vip 阅读(18) 评论(0) 推荐(0)

|NO.Z.00011|——————————|BigDataEnd|——|Hadoop&kafka.V11|——|kafka.v11|spring_kafka实战.v01|

摘要: 一、SpringBoot_kafka实战:SpringBoot Kafka ### 创建spring_boot模块 ~~~ ——>在kafka_demo右键——>new module——>Spring Initializr——>Next ~~~ ——>填写NewModule信息——>Next ~~~ 阅读全文

posted @ 2022-04-09 13:51 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00012|——————————|BigDataEnd|——|Hadoop&kafka.V12|——|kafka.v12|spring_kafka实战.v02|

摘要: 一、spring_boot编程代码实现 ### Demo02SpringbootApplication.java package com.yanqi.kafka.demo; import org.springframework.boot.SpringApplication; import org.s 阅读全文

posted @ 2022-04-09 13:51 yanqi_vip 阅读(10) 评论(0) 推荐(0)

|NO.Z.00010|——————————|BigDataEnd|——|Hadoop&kafka.V10|——|kafka.v10|生产与消费.v05|模拟消息推送偏移量|

摘要: 一、消费者实验代码 ### [kafka架构与实战] ~~~ [kakfa开发实战_消息发送] ~~~ [kafka开发实战_消息消费] ~~~ [kafka开发实战_消息推送偏移量] ### 消费者:MyProducer2 package com.yanqi.kafka.demo.producer 阅读全文

posted @ 2022-04-09 13:50 yanqi_vip 阅读(40) 评论(0) 推荐(0)

|NO.Z.00008|——————————|^^ 创建 ^^|——|Hadoop&kafka.V08|——|kafka.v08|生产与消费.v03|

摘要: 一、创建maven工程:创建maven项目 ### 将pom.xml下添加成pom <packaging>pom</packaging> ### 删除src目录,创建目录模块 ~~~ ——>项目下面——>右键——>new module——>编辑如下内容——>finish——>END ### 在pom 阅读全文

posted @ 2022-04-09 13:49 yanqi_vip 阅读(24) 评论(0) 推荐(0)

|NO.Z.00009|——————————|BigDataEnd|——|Hadoop&kafka.V09|——|kafka.v09|生产与消费.v04|

摘要: 一、kafka开发实战_消息者消费 ### kafka消费消息 ~~~ 编程代码 package com.yanqi.kafka.demo.consumer; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.ap 阅读全文

posted @ 2022-04-09 13:49 yanqi_vip 阅读(39) 评论(0) 推荐(0)

|NO.Z.00007|——————————|BigDataEnd|——|Hadoop&kafka.V07|——|kafka.v07|生产与消费.v02|

摘要: 一、Kafka开发实战 ### [kafka架构与实战] ~~~ [kakfa开发实战_消息发送] ~~~ [kafka开发实战_消息消费] ### 消息的发送与接收 ~~~ 生产者主要的对象有: KafkaProducer , ProducerRecord 。 ~~~ 其中KafkaProduce 阅读全文

posted @ 2022-04-09 13:49 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00005|——————————|^^ 部署 ^^|——|Hadoop&kafka.V05|——|kafka.v05|单机模式部署|

摘要: 一、Kafka安装与配置:Java环境为前提 ### [kafka架构与实战] ~~~ [部署Java.v8u231] ~~~ [zookeeper.v3.4.14] ~~~ [kafka2.12-1.0.2] ### 查看自带的openjdk ~~~ # 查看系统自带的jdk环境 [root@ha 阅读全文

posted @ 2022-04-09 13:48 yanqi_vip 阅读(42) 评论(0) 推荐(0)

|NO.Z.00006|——————————|^^ 配置 ^^|——|Hadoop&kafka.V06|——|kafka.v06|生产与消费.v01|

摘要: 一、kakfa生产与消费:验证zookeeper和kafka状态 ### 验证zookeeper状态 [root@hadoop ~]# zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/yanqi/serve 阅读全文

posted @ 2022-04-09 13:48 yanqi_vip 阅读(40) 评论(0) 推荐(0)

|NO.Z.00003|——————————|BigDataEnd|——|Hadoop&kafka.V03|——|kafka.v03|基本架构|核心概念.v02|

摘要: 一、基本架构 ### 消息和批次 ~~~ # Kafka的数据单元称为消息。 ~~~ 可以把消息看成是数据库里的一个“数据行”或一条“记录”。消息由字节数组组成。 ~~~ # 消息有键,键也是一个字节数组。 ~~~ 当消息以一种可控的方式写入不同的分区时,会用到键。 ~~~ # 为了提高效率,消息被 阅读全文

posted @ 2022-04-09 13:47 yanqi_vip 阅读(41) 评论(0) 推荐(0)

|NO.Z.00004|——————————|BigDataEnd|——|Hadoop&kafka.V04|——|kafka.v04|基本架构|核心概念.v03|

摘要: 一、核心概念 ### Producer:生产者创建消息。 ~~~ 该角色将消息发布到Kafka的topic中。 ~~~ broker接收到生产者发送的消息后,broker将该消息追加到当前用于追加数据的segment 文件中。 ~~~ # 一般情况下,一个消息会被发布到一个特定的主题上。 ~~~ 默 阅读全文

posted @ 2022-04-09 13:47 yanqi_vip 阅读(46) 评论(0) 推荐(0)

|NO.Z.00002|——————————|BigDataEnd|——|Hadoop&kafka.V02|——|kafka.v02|基本架构|核心概念.v01|

摘要: 一、概念和基本架构 ### [kafka架构与实战] ~~~ [kafka介绍] ~~~ [kafka优势] ~~~ [kafka应用场景] ~~~ [kafka基本架构] ~~~ [kafka核心概念] ### Kafka介绍 ~~~ Kafka是最初由Linkedin公司开发, ~~~ 是一个分 阅读全文

posted @ 2022-04-09 13:46 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00001|——————————|^^ 报错 ^^|——|Hadoop&kafka.V01|——|kafka.v01|报错处理&内存不足|

摘要: 附录一:报错处理一: ### 报错现象: [root@hadoop01 ~]# kafka-server-start.sh /opt/yanqi/servers/kafka_2.12/config/server.properties Java HotSpot(TM) 64-Bit Server VM 阅读全文

posted @ 2022-04-09 13:45 yanqi_vip 阅读(19) 评论(0) 推荐(0)

|NO.Z.00000|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-09 13:45 yanqi_vip 阅读(4) 评论(0) 推荐(0)

|NO.Z.10000|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-09 13:44 yanqi_vip 阅读(10) 评论(0) 推荐(0)

|NO.Z.00061|——————————|BigDataEnd|——|Hadoop&Redis.V06|——|Redis.v06|RedisDB结构.v06|结构7种type.v04|

摘要: 一、流对象 ### 流对象 ~~~ stream主要由:消息、生产者、消费者和消费组构成。 ~~~ Redis Stream的底层主要使用了listpack(紧凑列表)和Rax树(基数树)。 ### listpack ~~~ listpack表示一个字符串列表的序列化,listpack可用于存储字符 阅读全文

posted @ 2022-04-09 13:43 yanqi_vip 阅读(41) 评论(0) 推荐(0)

|NO.Z.00062|——————————|BigDataEnd|——|Hadoop&Redis.V07|——|Redis.v07|RedisDB结构.v07|10种encoding|

摘要: 一、RedisObject结构10种encoding ### 10种encoding ~~~ encoding 表示对象的内部编码,占 4 位。 ~~~ Redis通过 encoding 属性为对象设置不同的编码 ~~~ 对于少的和小的数据,Redis采用小的和压缩的存储方式,体现Redis的灵活性 阅读全文

posted @ 2022-04-09 13:43 yanqi_vip 阅读(94) 评论(0) 推荐(0)

|NO.Z.00063|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-09 13:43 yanqi_vip 阅读(6) 评论(0) 推荐(0)

|NO.Z.00060|——————————|BigDataEnd|——|Hadoop&Redis.V05|——|Redis.v05|RedisDB结构.v05|结构7种type.v03|

摘要: 一、压缩列表 ### 压缩列表 ~~~ 压缩列表(ziplist)是由一系列特殊编码的连续内存块组成的顺序型数据结构 ### 节省内存 ~~~ 是一个字节数组,可以包含多个节点(entry)。每个节点可以保存一个字节数组或一个整数。 ### 压缩列表的数据结构如下: ~~~ zlbytes:压缩列表 阅读全文

posted @ 2022-04-09 13:42 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00058|——————————|BigDataEnd|——|Hadoop&Redis.V03|——|Redis.v03|RedisDB结构.v03|结构7种type.v01|

摘要: 一、RedisObject结构7种type ### 字符串对象 ~~~ C语言: 字符数组 "\0" ~~~ Redis 使用了 SDS(Simple Dynamic String)。用于存储字符串和整型数据。 ### buf[] 的长度=len+free+1 struct sdshdr{ //记录 阅读全文

posted @ 2022-04-09 13:41 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00059|——————————|BigDataEnd|——|Hadoop&Redis.V04|——|Redis.v04|RedisDB结构.v04|结构7种type.v02|

摘要: 一、字典(重点+难点) ### 字典(重点+难点) ~~~ 字典dict又称散列表(hash),是用来存储键值对的一种数据结构。 ~~~ Redis整个数据库是用字典来存储的。(K-V结构) ~~~ 对Redis进行CURD操作其实就是对字典中的数据进行CURD操作。 ### 数组 ~~~ 数组:用 阅读全文

posted @ 2022-04-09 13:41 yanqi_vip 阅读(147) 评论(0) 推荐(0)

|NO.Z.00057|——————————|BigDataEnd|——|Hadoop&Redis.V02|——|Redis.v02|RedisDB结构.v02|

摘要: 一、RedisObject结构 ### RedisObject结构 ~~~ Value是一个对象 ~~~ 包含字符串对象,列表对象,哈希对象,集合对象和有序集合对象 ### 结构信息概览 typedef struct redisObject { unsigned type:4; # 类型 五种对象类 阅读全文

posted @ 2022-04-09 13:40 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00056|——————————|BigDataEnd|——|Hadoop&Redis.V01|——|Redis.v01|RedisDB结构.v01|

摘要: 一、RedisDB结构:底层数据结构 ### Redis作为Key-Value存储系统,数据结构如下: ~~~ Redis没有表的概念,Redis实例所对应的db以编号区分,db本身就是key的命名空间。 ~~~ 比如:user:1000作为key值,表示在user这个命名空间下id为1000的元素 阅读全文

posted @ 2022-04-09 13:39 yanqi_vip 阅读(52) 评论(0) 推荐(0)

|NO.Z.00054|——————————|BigDataEnd|——|Hadoop&Redis.V07|——|Redis.v07|乐观锁|分布式锁|Redisson.v04|

摘要: 一、分布式锁特性 ### 互斥性 ~~~ 任意时刻,只能有一个客户端获取锁,不能同时有两个客户端获取到锁。 ~~~ Redis : setnx set key value NX 如果key存在就不设置 ### 同一性 ~~~ 锁只能被持有该锁的客户端删除,不能由其它客户端删除。 ~~~ Redis 阅读全文

posted @ 2022-04-09 13:38 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00055|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-09 13:38 yanqi_vip 阅读(14) 评论(0) 推荐(0)

|NO.Z.00052|——————————|BigDataEnd|——|Hadoop&Redis.V05|——|Redis.v05|乐观锁|分布式锁|Redisson.v02|

摘要: 一、setnx ### 实现原理 ~~~ 共享资源互斥 ~~~ 共享资源串行化 ~~~ # 单应用中使用锁:(单进程多线程) ~~~ synchronized、ReentrantLock ~~~ # 分布式应用中使用锁:(多进程多线程) ~~~ 分布式锁是控制分布式系统之间同步访问共享资源的一种方式 阅读全文

posted @ 2022-04-09 13:37 yanqi_vip 阅读(39) 评论(0) 推荐(0)

|NO.Z.00053|——————————|BigDataEnd|——|Hadoop&Redis.V06|——|Redis.v06|乐观锁|分布式锁|Redisson.v03|

摘要: 一、Redisson分布式锁的使用/及实现原理 ### Redisson分布式锁的使用 ~~~ Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。 ~~~ Redisson在基于NIO的Netty框架上,生产环境使用分布式锁。 ### 加 阅读全文

posted @ 2022-04-09 13:37 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00050|——————————|BigDataEnd|——|Hadoop&Redis.V03|——|Redis.v03|并发hotkey/bigkey|

摘要: 一、并发hotkey/bigkey ### 数据并发竞争 ~~~ 这里的并发指的是多个redis的client同时set 同一个key引起的并发问题。 ~~~ 多客户端(Jedis)同时并发写一个key,一个key的值是1,本来按顺序修改为2,3,4, ~~~ 最后是4,但是顺序变成了4,3,2,最 阅读全文

posted @ 2022-04-09 13:36 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00051|——————————|BigDataEnd|——|Hadoop&Redis.V04|——|Redis.v04|乐观锁|分布式锁|Redisson.v01|

摘要: 一、分布式锁/watch/setnx:watch ### [Redis经典问题解析] ~~~ [Redis乐观锁] ~~~ [Redis分布式锁] ~~~ [Redisson] ~~~ [Redis分布式锁watch/setnx] ~~~ [Redisson分布式锁的使用/实现原理] ~~~ [分布 阅读全文

posted @ 2022-04-09 13:36 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00048|——————————|^^ 重要 ^^|——|Hadoop&Redis.V01|——|Redis.v01|穿透雪崩击穿|

摘要: 一、Redis经典问题解析:穿透雪崩击穿 ### 缓存穿透 ~~~ 一般的缓存系统都是按照key去缓存查询如果不存在对应的value就应该去后端系统查找(比如DB)。 ~~~ 缓存穿透是指在高并发下查询key不存在的数据,会穿过缓存查询数据库。导致数据库压力过大而宕机 ### 解决方案: ~~~ 对 阅读全文

posted @ 2022-04-09 13:35 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00049|——————————|BigDataEnd|——|Hadoop&Redis.V02|——|Redis.v02|数据不一致|

摘要: 一、数据不一致 ### 数据不一致 ~~~ 缓存和DB的数据不一致的根源 : 数据源不一样 ### 如何解决 ~~~ 强一致性很难,追求最终一致性(时间) ~~~ 互联网业务数据处理的特点 ~~~ 高吞吐量 ~~~ 低延迟 ~~~ 数据敏感性低于金融业 ~~~ 时序控制是否可行? ~~~ 先更新数据 阅读全文

posted @ 2022-04-09 13:35 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00045|——————————|^^ 配置 ^^|——|Hadoop&Redis.V13|——|Redis.v13|集群扩容缩容.v03|

摘要: 一、Redis集群缩容:缩容 ### 将7008实例剔除集群: [root@hadoop ~]# cd /opt/yanqi/servers/redis-cluster/7008/bin/ [root@hadoop bin]# ./redis-cli --cluster del-node 192.1 阅读全文

posted @ 2022-04-09 13:34 yanqi_vip 阅读(58) 评论(0) 推荐(0)

|NO.Z.00046|——————————|^^ 配置 ^^|——|Hadoop&Redis.V14|——|Redis.v14|集群容灾|

摘要: 一、Redis集群容灾:容灾(failover) ### 故障检测 ~~~ 集群中的每个节点都会定期地(每秒)向集群中的其他节点发送PING消息 ~~~ 如果在一定时间内(cluster-node-timeout),发送ping的节点A没有收到某节点B的pong回应, ~~~ 则A将B标识为pfai 阅读全文

posted @ 2022-04-09 13:34 yanqi_vip 阅读(37) 评论(0) 推荐(0)

|NO.Z.00047|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-09 13:34 yanqi_vip 阅读(9) 评论(0) 推荐(0)

|NO.Z.00043|——————————|^^ 配置 ^^|——|Hadoop&Redis.V11|——|Redis.v11|集群扩容缩容.v01|

摘要: 一、Redis集群扩容.主节点:Redis集群扩容:Redis集群缩容 ### 扩容集群:扩容主节点 ~~~ 添加主节点:先创建7007节点 (无数据) [root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7007 [root@had 阅读全文

posted @ 2022-04-09 13:33 yanqi_vip 阅读(25) 评论(0) 推荐(0)

|NO.Z.00044|——————————|^^ 配置 ^^|——|Hadoop&Redis.V12|——|Redis.v12|集群扩容缩容.v02|

摘要: 一、Redis集群扩容.从节点:扩容集群:扩容从节点 ### 添加从节点 ~~~ 创建7008实例 (无数据) [root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7008 [root@hadoop ~]# cd /opt/yanqi 阅读全文

posted @ 2022-04-09 13:33 yanqi_vip 阅读(20) 评论(0) 推荐(0)

|NO.Z.00042|——————————|^^ 配置 ^^|——|Hadoop&Redis.V10|——|Redis.v10|分片路由|数据迁移|

摘要: 一、分片路由:分片路由: ### 分片 ~~~ 不同节点分组服务于相互无交集的分片(sharding), ~~~ Redis Cluster 不存在单独的proxy或配置服务器,所以需要将客户端路由到目标的分片。 二、客户端路由 ### 客户端路由 ~~~ Redis Cluster的客户端相比单机 阅读全文

posted @ 2022-04-09 13:32 yanqi_vip 阅读(43) 评论(0) 推荐(0)

|NO.Z.00040|——————————|BigDataEnd|——|Hadoop&Redis.V08|——|Redis.v08|分区原理|

摘要: 一、RedisCluster分区:RedisCluster分区原理 ### 官方cluster分区 ~~~ Redis3.0之后,Redis官方提供了完整的集群解决方案。 ~~~ 方案采用去中心化的方式, ~~~ 包括:sharding(分区)、replication(复制)、failover(故障 阅读全文

posted @ 2022-04-09 13:31 yanqi_vip 阅读(41) 评论(0) 推荐(0)

|NO.Z.00041|——————————|^^ 部署 ^^|——|Hadoop&Redis.V09|——|Redis.v09|普通Hash|一致性Hash|

摘要: 一、RedisCluster创建:集群搭建 ### RedisCluster最少需要三台主服务器,三台从服务器。 ~~~ 伪分布式端口号规划: 7001~7006 ~~~ 主服务器: 7001/7002/7003 ~~~ 从服务器: 7004/7005/7006 二、创建7001~7006实例 ## 阅读全文

posted @ 2022-04-09 13:31 yanqi_vip 阅读(50) 评论(0) 推荐(0)

|NO.Z.00038|——————————|BigDataEnd|——|Hadoop&Redis.V06|——|Redis.v06|高可用|集群介绍|

摘要: 一、集群与分区 ### 集群与分区 ~~~ 分区是将数据分布在多个Redis实例(Redis主机)上,以至于每个实例只包含一部分数据。 ### 分区的意义 ~~~ # 性能的提升 ~~~ 单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器, ~~~ 充分利用多台机器的计算能力可网 阅读全文

posted @ 2022-04-09 13:30 yanqi_vip 阅读(26) 评论(0) 推荐(0)

|NO.Z.00039|——————————|BigDataEnd|——|Hadoop&Redis.V07|——|Redis.v07|普通Hash|一致性Hash|

摘要: 一、普通Hash ### 普通Hash的优势 ~~~ 实现简单,热点数据分布均匀 ### 普通Hash的缺陷 ~~~ 节点数固定,扩展的话需要重新计。 ~~~ 查询时必须用分片的key来查,一旦key改变,数据就查不出了,所以要使用不易改变的key进行分片 二、一致性hash ### 基本概念 ~~ 阅读全文

posted @ 2022-04-09 13:30 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00037|——————————|^^ 配置 ^^|——|Hadoop&Redis.V05|——|Redis.v05|高可用|哨兵模式|检测原理|故障转移|

摘要: 一、哨兵模式检测原理:哨兵模式故障转移:执行流程 ### 启动并初始化Sentinel ~~~ Sentinel是一个特殊的Redis服务器 ~~~ 不会进行持久化 ~~~ Sentinel实例启动后 ~~~ 每个Sentinel会创建2个连向主服务器的网络连接 ~~~ 命令连接:用于向主服务器发送 阅读全文

posted @ 2022-04-09 13:29 yanqi_vip 阅读(55) 评论(0) 推荐(0)

|NO.Z.00036|——————————|^^ 部署 ^^|——|Hadoop&Redis.V04|——|Redis.v04|高可用|哨兵模式|高可用配置|

摘要: 一、哨兵模式 ### 哨兵 ~~~ 哨兵(sentinel)是Redis的高可用性(High Availability)的解决方案: ~~~ 由一个或多个sentinel实例组成sentinel集群可以监视一个或多个主服务器和多个从服务器。 ~~~ 当主服务器进入下线状态时,sentinel可以将该 阅读全文

posted @ 2022-04-09 13:28 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00034|——————————|BigDataEnd|——|Hadoop&Redis.V02|——|Redis.v02|高可用|主从复制.v02|

摘要: 一、主从配置 ### 主Redis配置 ~~~ 无需特殊配置 ### 从Redis配置 ~~~ 修改从服务器上的redis.conf 文件: [root@linux123 ~]# vim /opt/yanqi/servers/redis/bin/redis.conf # slaveof <maste 阅读全文

posted @ 2022-04-09 13:27 yanqi_vip 阅读(22) 评论(0) 推荐(0)

|NO.Z.00035|——————————|BigDataEnd|——|Hadoop&Redis.V03|——|Redis.v03|高可用|主从复制.v03|

摘要: 一、同步数据 ### 同步数据 ~~~ Redis 2.8之后分为全量同步和增量同步,具体的后面详细讲解。 ### 命令传播 ~~~ 当同步数据完成后,主从服务器就会进入命令传播阶段, ~~~ 主服务器只要将自己执行的写命令发送给从服务器, ~~~ 而从服务器只要一直执行并接收主服务器发来的写命令。 阅读全文

posted @ 2022-04-09 13:27 yanqi_vip 阅读(38) 评论(0) 推荐(0)

导航