Yarn工作机制
工作机制(1)MR程序提交到客户端所在的节点。(2)YarnRunner向ResourceManager申请一个Application。(3)RM将该应用程序的资源路径返回给YarnRunner。(4)该程序将运行所需资源提交到HDFS上。(5)程序资源提交完毕后,申请运行mrAppMaster。(6)RM将用户的请求初始化成一个Task。(7)其中一个NodeManager领取到Task任务。(
Hadoop 数据压缩方式
介绍DEFLATE:Hadoop自带的压缩方式,文件扩展名为.deflate,不支持切片。Gzip:压缩率比较高,而且压缩/解压速度也比较快;Hadoop本身支持,在应用中处理Gzip格式的文件就和直接处理文本一样;大部分Linux系统都自带Gzip命令,使用方便。但是,Gzip不支持切片。bzip2:支持切片;具有很高的压缩率,比Gzip压缩率都高;Hadoop本身自带,使用方便。但是,bzip
MongoDB CDC 的设计与实现
介绍全增量一体化读取:MongoDB CDC能够一体化地读取全量数据和增量数据。在启动选项配置为initial模式时,CDC会首先对目标集合进行扫描,并对现存的每一条数据各发送一条Insert记录;快照完成后,CDC会自动转换为增量模式,开始捕获连接器启动后到来的变更数据。支持多种消费模式:MongoDB CDC可以设定为从以下模式中启动:latest模式、initial模式和timestamp模
Flink CDC Mysql 启动模式
介绍Flink CDC MySQL Connector的启动模式可以通过参数scan.startup.mode进行配置,主要有以下两种模式:initial:这是默认的启动模式。在首ci启动时,对数据库的表执行初始快照,快照数据读取完成后继续读取binlog数据。这个模式可以得到历史到现在的所有数据。latest-offset:首ci启动时不执行快照,只读取binlog的最新数据。如果需要读取全量的
Hadoop ReduceTask工作机制
工作机制Copy阶段:ReduceTask从各个MapTask远程拷贝数据,超过阈值的数据写入磁盘,其余放入内存。Sort阶段:ReduceTask在拷贝数据时启动后台线程合并内存和磁盘文件,防止过多使用。为聚集key相同的数据,ReduceTask对所有数据进行一次归并排序。Reduce阶段:reduce()函数将计算结果写入HDFS。
Hadoop maptask 工作机制
工作机制Read阶段:MapTask通过RecordReader解析输入InputSplit中的key/value。Map阶段:用户编写的map()函数处理key/value,生成新的key/value。Collect阶段:map()函数处理完成后,调用OutputCollector.collect()输出结果,生成的key/value被分区并写入环形内存缓冲区。Spill阶段:环形缓冲区满后,数
Hadoop MapTask工作机制
MapTask工作机制Read阶段:MapTask通过用户编写的RecordReader,从输入的InputSplit中解析出一个个key/value。Map阶段:将解析出的key/value交给用户编写的map()函数处理,并产生一系列新的key/value。Collect阶段:在用户编写的map()函数中,数据处理完成后,一般会调用outputCollector.collect()输出结果,在
Flink提交Job的方式以及参数设置
参数介绍./bin/flink run -t yarn-session \ -Dyarn.application.id=application_XXXX_YY \ ./examples/streaming/TopSpeedWindowing.jar &nb
Hadoop Map reduces 切片原理-切片大小等于块大小
介绍切片大小:默认情况下,切片的大小与HDFS的块(Block)大小相等,通常为128MB。如果程序运行在本地,则默认块大小为32MB。切片机制:在MapReduce中,切片机制主要由FileInputFormat的getSplits(job)方法完成。这个方法定义了如何将输入分割为InputSplit,不同的输入有不同的分隔逻辑,而分隔得到的每个InputSplit交由不同的Mapper处理,因
常见的校验算法crc(32),md5(128),sha1(160)
介绍CRC32:CRC(Cyclic Redundancy Check,循环冗余校验)算法出现时间较长,应用也十分广泛,尤其是通讯领域,现在应用最多的就是 CRC32 算法,它产生一个4字节(32位)的校验值12。CRC算法的优点在于简便、速度快。MD5:MD5(Message-Digest Algorithm 5,消息摘要算法版本5),它由MD2、MD3、MD4发展而来,由Ron Rivest(
Hadoop DataNode工作机制
工作机制数据块存储:一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据(包括数据块的长度,块数据的校验和,以及时间戳)。注册与上报:DataNode启动后向NameNode注册,注册通过后,周期性(6小时)的向NameNode上报所有的块信息。DN向NN汇报当前解读信息的时间间隔,默认6小时;
hadoop hdfs api 操作
配置客户端环境1)找到资料包路径下的Windows依赖文件夹,拷贝hadoop-3.1.0到非中文路径(比如d:\)。2)配置HADOOP_HOME环境变量3)配置Path环境变量。注意:如果环境变量不起作用,可以重启电脑试试。验证Hadoop环境变量是否正常。双击winutils.exe,如果报如下错误。说明缺少微软运行库(正版系统往往有这个问题)。再资料包里面有对应的微软运行库安装包双击安装即
hadoop hdfs 常用命令
命令列表查看目录文件信息:hdfs dfs -ls 创建文件夹:hdfs dfs -mkdir 删除文件/空白文件夹:hdfs dfs -rm [-skiptrash] 递归删除文件/空白文件夹:hdfs dfs -rmr [-skiptrash] 查看指定路径的当前目录结构:hdfs dfs -ls
Flink CDC 采集MySQL 初始化或者指定时间戳时,没有采集到数据
介绍在使用 Flink 1.13.x 集成 CDC 2.3.0 时,如果遇到时间戳作为起点开始采集但没有采集到数据的问题,可能有以下几个原因:解决方案时区问题:Flink 运行机器时区和 MySQL Server 时区不匹配,database.serverTimezone 配置会受到影响。解决办法是手动指定 Flink 运行的时区,和连接的数据库时区信息保持一致1。例如,可以在数据库属性中添加 d
SQL中字段比较类型不匹配错误:‘cannot be cast to’
错误信息org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: java.lang.String cannot be cast to java.mat
Flink cdc 2.2.0版本不能配置指定时间戳或者binlog位置采集
介绍源码可以看到!!这个是Flink cdc 2.2.0版本的,这里只有两种Mode,想要指定时间戳或者是binlog文件位置,则需要升级cdc版本,我选择了2.3.0解决了问题!注意Flink cdc的包和Flink的包非常容易出现包的版本冲突,可以根据报错信息进行相关包的排除,如果需要用cdc,则最好优先使用Flink cdc里面的包
SAP 中LANG类型中文和英文的表示方式
概述LANG类型中,ZH会用1来表示,这是一个单字符的语言键,表示中文1。LANG类型E中,ZH可以有多种形式,例如ZH,ZH-CN,ZH-TW等,这是一个两个或四个字母的语言代码,表示中文的不同方言。您可以在下面的链接中查看更多的语言代码和名称。
HDFS - 文件块大小的设置
概述1、Hadoop文件大小的设置取决于HDFS的块(block)大小,块大小是HDFS存储和处理数据的基本单位。一般来说,文件大小应该大于或等于块大小,以避免产生大量的小文件,影响HDFS的性能和效率。2、HDFS的块大小可以在配置文件中进行设置,不同版本的Hadoop默认的块大小可能不同。在Hadoop 2.x、3.x中,默认的块大小为128MB。3、块大小的设置应该根据磁盘的传输速率和寻址时
HDFS - 文件块大小的设置
概述1、Hadoop文件大小的设置取决于HDFS的块(block)大小,块大小是HDFS存储和处理数据的基本单位。一般来说,文件大小应该大于或等于块大小,以避免产生大量的小文件,影响HDFS的性能和效率。2、HDFS的块大小可以在配置文件中进行设置,不同版本的Hadoop默认的块大小可能不同。在Hadoop 2.x、3.x中,默认的块大小为128MB。3、块大小的设置应该根据磁盘的传输速率和寻址时
linux - 服务器 集群配置时间同步的步骤
前提如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准。安装和配置ntp服务如果没有ntp服务,可以使用yum install ntp或者apt-get install ntp命令来安装ntp服务。时间服务器配置(必须root用户)(1)查看所有节点ntpd服务状态和开机自启动状态sudo systemctl status