上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页
摘要: 我们都知道kafka利用zookeeper做分布式管理,具体创建使用了哪些znode节点呢? 答案均在源码的ZkData.scala文件中,具体路径如下: https://github.com/apache/kafka/edit/2.1/core/src/main/scala/kafka/zk/Zk 阅读全文
posted @ 2019-12-02 14:30 大数据从业者FelixZh 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 引言按照Kafka默认的消费逻辑设定,一个分区只能被同一个消费组(ConsumerGroup)内的一个消费者消费。假设目前某消费组内只有一个消费者C0,订阅了一个topic,这个topic包含7个分区,也就是说这个消费者C0订阅了7个分区,参考下图(1)。 此时消费组内又加入了一个新的消费者C1,按 阅读全文
posted @ 2019-11-26 15:13 大数据从业者FelixZh 阅读(3994) 评论(0) 推荐(0) 编辑
摘要: 每一个分区都是一个顺序的、不可变的消息队列,并且可以持续的添加。分区中的消息都被分配了一个序列号,称之为偏移量(offset),在每个分区中此偏移量都是唯一的。一个分区在文件系统里存储为一个文件夹。文件夹里包含日志文件和索引文件。其文件名是其包含的offset的最小的条目的offset。 每个文件是 阅读全文
posted @ 2019-11-25 11:06 大数据从业者FelixZh 阅读(6314) 评论(0) 推荐(0) 编辑
摘要: ScheduledThreadPoolExecutor是Timer的多线程实现版本,JDK官方推荐使用。ScheduledThreadPoolExecutor用于替代Timer。是接口ScheduledExecutorService的子类,主要方法说明如下: 示例代码: java.util.Time 阅读全文
posted @ 2019-11-20 17:16 大数据从业者FelixZh 阅读(2215) 评论(0) 推荐(0) 编辑
摘要: 1. CyclicBarrier 是什么? 从字面上的意思可以知道,这个类的中文意思是“循环栅栏”。大概的意思就是一个可循环利用的屏障。 它的作用就是会让所有线程都等待完成后才会继续下一步行动。 举个例子,就像生活中我们会约朋友们到某个餐厅一起吃饭,有些朋友可能会早到,有些朋友可能会晚到,但是这个餐 阅读全文
posted @ 2019-11-19 15:34 大数据从业者FelixZh 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 1.背景: countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下。 2.概念 countDownLatch这个 阅读全文
posted @ 2019-11-19 15:20 大数据从业者FelixZh 阅读(344) 评论(0) 推荐(0) 编辑
摘要: AtomicBoolean是java.util.concurrent.atomic的原子变量的类;可以看到下面还有很多类似的Atomic这样的类,如下图所示 这样的类具有原子性,在多线程的环境下使用是线程安全的;举个例子,在多线程环境中,我们通过判断一个boolan变量的值,然后修改该变量的值,之后 阅读全文
posted @ 2019-11-19 10:34 大数据从业者FelixZh 阅读(1195) 评论(0) 推荐(0) 编辑
摘要: 先进入源码工程:执行gradle idea或者gradle eclipse 之后再导入idea/eclipse 阅读全文
posted @ 2019-11-18 10:11 大数据从业者FelixZh 阅读(568) 评论(0) 推荐(0) 编辑
摘要: Doug Lea 在 Scalable IO in Java 的 PPT 中描述了 Reactor 编程模型的思想,大部分 NIO 框架和一些中间件的 NIO 编程都与它一样或是它的变体。本文结合 PPT 按照自己的理解整理而来,最终编写了一个简单的 NIO 回显服务。 Reactor 之所以高效是 阅读全文
posted @ 2019-11-15 15:23 大数据从业者FelixZh 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 1.Reactor单线程模型 传统的javaNIO通信的线程模型。该线程模型仅有一个I/O线程处理所有的I/O操作,如下图: 单线程模型的Reactor 所有的客户端都连接到一个I/O线程负责的Acceptor上,连接成功后,由Reactor里的Dispatch将接收的ByteBuffer分发到指定 阅读全文
posted @ 2019-11-15 15:20 大数据从业者FelixZh 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 本文重点介绍kafka的两类常见数据迁移方式: 1、broker内部不同数据盘之间的分区数据迁移; 2、不同broker之间的分区数据迁移。 一、broker 内部不同数据盘之间进行分区数据迁移 1.1 背景介绍 kafka broker内部的topic分区数据存储分布不均匀,导致部分磁盘100%耗 阅读全文
posted @ 2019-11-15 14:10 大数据从业者FelixZh 阅读(1204) 评论(0) 推荐(0) 编辑
摘要: 最近发现一个Kafka producer异步发送在某些情况会阻塞主线程,后来在排查解决问题过程中发现这可以算是Kafka的一个说明不恰当的地方。 问题说明 在很多场景下我们会使用异步方式来发送Kafka的消息,会使用KafkaProducer中的以下方法: 根据文档的说明它是一个异步的发送方法,按道 阅读全文
posted @ 2019-11-13 14:58 大数据从业者FelixZh 阅读(2808) 评论(0) 推荐(0) 编辑
摘要: 序言: 每一个Java程序都可以为JVM增加一个关闭钩子。JVM将在关闭之前执行关闭钩子中的指令。 问题: 一个程序可能需要在退出前执行一些指令。程序可能由于下列原因而退出: 所有的线程已经执行完毕 调用System.exit() 用户输入Ctrl+C 系统级关闭或用户注销 所有的线程已经执行完毕 阅读全文
posted @ 2019-11-12 14:35 大数据从业者FelixZh 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 有时候我们用到的程序不一定总是在JVM里面驻守,可能调用完就不用了,释放资源. RunTime.getRunTime().addShutdownHook的作用就是在JVM销毁前执行的一个线程.当然这个线程依然要自己写. 利用这个性质,如果我们之前定义了一系列的线程池供程序本身使用,那么就可以在这个最 阅读全文
posted @ 2019-11-12 14:24 大数据从业者FelixZh 阅读(776) 评论(0) 推荐(0) 编辑
摘要: isShutDown当调用shutdown()或shutdownNow()方法后返回为true。 isTerminated当调用shutdown()方法后,并且所有提交的任务完成后返回为true;isTerminated当调用shutdownNow()方法后,成功停止后返回为true;如果线程池任务 阅读全文
posted @ 2019-11-12 11:33 大数据从业者FelixZh 阅读(3889) 评论(0) 推荐(0) 编辑
摘要: 根据需要创建新线程的对象。使用线程工厂就无需再手工编写对 new Thread 的调用了,从而允许应用程序使用特殊的线程子类、属性等等。 JDK中的介绍: An object that creates new threads on demand. Using thread factories rem 阅读全文
posted @ 2019-11-07 14:57 大数据从业者FelixZh 阅读(913) 评论(0) 推荐(0) 编辑
摘要: 官网引用 引用spring的官方文档中的一段描述: 在Spring2.0之前的版本中,@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常 在Spring2.5版本中,引入了更多的Spring类注解:@Compo 阅读全文
posted @ 2019-11-07 11:27 大数据从业者FelixZh 阅读(5000) 评论(0) 推荐(0) 编辑
摘要: @ControllerAdvice,是Spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现: 没什么特别之处,该注解使用@Component注解,这样的话当我们使用<context:component-scan>扫描时也能扫描到。 阅读全文
posted @ 2019-11-07 10:36 大数据从业者FelixZh 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 一、全局异常 1、首先创建异常处理包和类 2、使用@ControllerAdvice注解,全局捕获异常类,只要作用在@RequestMapping上,所有的异常都会被捕获 这上面有个需要注意的是要加上@ResponseBody注解,如果不加会怎么样呢,我们试下,报错: 因为是个json的格式,所以必 阅读全文
posted @ 2019-11-06 18:00 大数据从业者FelixZh 阅读(711) 评论(0) 推荐(0) 编辑
摘要: @ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller。 使用这个 Controller ,可以实现三个方面的功能: 灵活使用这三个功能,可以帮助我们简化很多工作,需要注意的是,这是 SpringMVC 阅读全文
posted @ 2019-11-06 17:47 大数据从业者FelixZh 阅读(337) 评论(0) 推荐(0) 编辑
摘要: @ApiOperation不是spring自带的注解是swagger里的 com.wordnik.swagger.annotations.ApiOperation; @ApiOperation和@ApiParam为添加的API相关注解,个参数说明如下: @ApiOperation(value = “ 阅读全文
posted @ 2019-11-06 15:22 大数据从业者FelixZh 阅读(22449) 评论(0) 推荐(1) 编辑
摘要: @Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写在字段和setter方法上。两者如果都写在字段上,那么 阅读全文
posted @ 2019-11-06 15:19 大数据从业者FelixZh 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 后端层次划分: 后端分包: 不同层级之间数据传输:推荐第二种 POJO与JavaBean: POJO就是简单的私有属性,加get/set方法, JavaBean,就是会做一些逻辑处理,包括接收事件,和查找事件等 POJO的使用: 阅读全文
posted @ 2019-11-06 14:50 大数据从业者FelixZh 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: Log4j现在已经被大家熟知了,所有细节都可以在网上查到,Log4j支持Appender,其中DailyRollingFileAppender是被经常用到的Appender之一。在讨论今天的主题之前,我们先看下另外一个Appender。 最常用的Appender——RollingFileAppend 阅读全文
posted @ 2019-10-30 14:10 大数据从业者FelixZh 阅读(1145) 评论(0) 推荐(0) 编辑
摘要: 1.Lombok简介官方介绍 大概的意思:Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。 简而言之:Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。 2.L 阅读全文
posted @ 2019-10-28 20:30 大数据从业者FelixZh 阅读(2474) 评论(0) 推荐(0) 编辑
摘要: https://spring.io/projects/spring-boot/ 在以上地址找到 Spring Initializer是一个网络应用程序,它可以生成一个Spring Boot项目,包含快速启动所需的一切。和往常一样,我们需要一个好的项目框架;它有助于你正确创建项目结构/框架。 Quic 阅读全文
posted @ 2019-10-28 19:24 大数据从业者FelixZh 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html redisson 官网地址:https://redisson.org/ redisson git项目地址:https://git 阅读全文
posted @ 2019-10-28 14:06 大数据从业者FelixZh 阅读(1722) 评论(0) 推荐(0) 编辑
摘要: https://www.jianshu.com/p/2779e73abcb8 看完本文,你能get到以下知识 Flink 流处理为什么需要网络流控? Flink V1.5 版之前网络流控介绍 Flink V1.5 版之前的反压策略存在的问题 Credit的反压策略实现原理,Credit是如何解决 F 阅读全文
posted @ 2019-10-08 14:00 大数据从业者FelixZh 阅读(4513) 评论(1) 推荐(2) 编辑
摘要: 一、问题描述:Kafka生产集群中有一台机器cdh-003由于物理故障原因挂掉了,并且系统起不来了,使得线上的spark Streaming实时任务不能正常消费,重启实时任务都不行。查看kafka topic状态,发现broker Leader出现-1的情况,如下图 二、问题分析Kafka Brok 阅读全文
posted @ 2019-09-30 14:21 大数据从业者FelixZh 阅读(1770) 评论(0) 推荐(0) 编辑
摘要: 问题:情况一:创建topic成功,但是produce的时候,却报unknown partition的错误,但zk上却显示了每个partition的leader信息;情况二: 给某个topic增加分区,zk显示已有增加的分区信息,但是依旧报找不到新增加的分区信息错误原因:多个controller,导致 阅读全文
posted @ 2019-09-30 10:48 大数据从业者FelixZh 阅读(2422) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页