Chai's Blog

Dig deeper

如何判断一个kafka集群是否稳定

在流作业的生产环境中,作为应用最广泛的消息中间件,kafka集群的稳定性对业务的平稳起到重要作用。然而如何判断一个kafka集群的稳定性是一个运维人员的重要技能。 笔者结合经验总结了如下查看一个kafka不稳定状态下可能出现的现象: 应用运行过程中经常性发生leader找不到异常,如“LEADER_NOT_AVAILABLE,NOT_LEADER_FOR_PARTITION”等异常...

Could-not-find-a-'KafkaClient'-entry-in-the-JAAS-configuration-异常分析

Kafka提供了KafkaProducer和KakfaConsumer用于生产和消费数据。0.9之后的kafka集群基于kerberos实现了安全的kafka访问机制。然而在kafka访问时,需要的principal,keytab,ServiceName等信息均配置在jaas文件中,因此保证认证的服务可以读取到正确的文件及正确的配置是kafka安全模式下认证的核心。 本文对安全模式下的ka...

让JVM进程退出正确姿势

System.exit的在系统开发中常备开发人员调用以用于退出应用。然而一个不合理的调用位置可能导致JVM无法正常退出。 JVM无法正常退出问题 今天小编就遇到一个这样的问题:问题的原因是这样的:应用在运行时,main线程抛出异常,退出,但其他线程并未退出,导致JVM进程依旧存活,但无法提供服务。查看代码发现 1 2 3 4 .... service.startAsync().awai...

JobManager & TaskManager 启动流程分析

JobManager启动流程 核心启动类和方法 1 2 启动类 :org.apache.flink.runtime.jobmanager.JobManager 核心启动方法 : startJobManagerActors ha模式: 模式 场景 ...

Flink-VS-Spark

本文基于Spark最新2.4版本及Flink最新1.6,从生态圈,部署模式,架构原理,基础API,流处理等方面对比二者相似及不同之处,由于笔者水平限制,不当之处,敬请批评指正。 Spark和Flink均出自世界顶尖大学实验室 受MR启发,其理念,架构又比MR更进一步 均可提供基于批量数据的处理和基于流数据的处理 Apache社区顶级明星项目 功能栈完备,生态圈均非常广...

Spark-VS-Flink---流处理中的Time&Window

在流处理系统中,通常使用基于ProcessTime ,EventTime,Ingestion Time的消息处理模式。 相关含义可参考Flink 对于流消息的时间介绍 时间模式 时间来源 备注 ProcessingTime 处理消息时的系统时间 无法处理乱序 ...

Flink-部署模式

本文仅对Flink集群的部署模式作简单探讨,并未对如何部署(如环境变量,节点互信,hadoop集成配置)作说明,相关方法可百度获取。 Flink Local模式 在Local模式下仅模拟cluster集群,仅启动JobManager完成应用的运行。JobManager进程信息如下: 提交应用方式: ./flink run -p 1 ../examples/batch/WordC...

linux服务器的物理CPU,CPU核数,逻辑CPU及Hadoop的Vcore

Linux服务器的核数的概念 1 2 物理CPU: 服务器上真实存在的CPU,可以看到 CPU的核 (core): 一个CPU上包含多少核(core),真实存在但不能直接看到 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 1 在没有开启超线程时,总核数 = ...

Spark框架安全认证实现

导言 随着大数据集群的使用,大数据的安全受到越来越多的关注一个安全的大数据集群的使用,运维必普通的集群更为复杂。 集群的安全通常基于kerberos集群完成安全认证。kerberos基本原理可参考:一张图了解Kerberos访问流程 Spark应用(On Yarn模式下)在安全的hadoop集群下的访问,需要访问各种各样的组件/进程,如ResourceManager,NodeManage...

Sql-On-Hadoop的流程简要分析

基于Hadoop的sql方案如hive,sparksql架构一般如下: Server : ThriftServer 完成sql的解析及应用(如MR,Spark,Tez)的提交 传统数据库 : 用于存储表的元数据,常见的由Mysql,postgreSql等 管理元数据: MetaStore,作为ThriftServer和传统数据库的桥梁 数据存储 : HDFS Hive ...