自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天道酬勤

一直在路上

  • 博客(429)
  • 收藏
  • 关注

原创 大数据之写入Doris数据问题

将错误Key columns should be a ordered prefix of the schema. KeyColumns[1] (starts from zero) is aa, but corresponding column is bb in the previous columns declaration.因为我们建表的时候,也是依据Oracle源表的字段长度进行建表的,如果在Doris中进行建表,字段长度类型尽可能的大一点,这样可以避免这种错误。

2024-07-18 17:12:37 447

原创 大数据之数据抽取架构演变过程

而当时我们搭建的Flink集群是基于YARN进行资源管理和调度的,因为YARN中不仅仅包含着FLInk的资源,也有hive,zoozie,hdfs等等的资源,这样容易造成yarn资源的过度使用,容易引起整个底座的cpu以及内存的使用问题,经过排查,主要是由于FLink的使用资源引起的,所以后续就把Flink从整个集群中剥离出来,进行资源的隔离,最后Flink采用了StandAlone HA部署(但是这个目前还是存在问题,后续根据项目进行优化)'topic' = '表名',二、数据抽取架构的演变。

2024-07-18 10:12:09 575

原创 FLinkCDC引起的生产事故(二)

最近在做实时数据的抽取工作,利用FLinkCDC实时抽取目标库Oracle的数据到Doris中,但是在抽取的过程中,会导致目标库的生产库数据库非常卡顿,为了避免对生产环境的数据库造成影响,对生产环境的数据库利用OGG技术做了备库,从备库中利用FlinkCDC抽取数据到Doris,但是在抽取的过程中出现了同样的错误,导致备库数据库卡顿,数据异常,数据库宕机,至于这些原因,怀疑我们当时的方案出了严重的问题。例如,作为一张维表和其他数据表做Join操作。利用这种方案从而减少了源端数据库的压力。

2024-07-10 16:10:28 476

原创 一次CDH问题排查

修改集群中hive、yarn、spark的配置,搜索包含/var、/tmp或/yarn的配置项,以下以Hive为例。如上图,已使用比例达90%以上时,会出现诸如此类的问题影响平台的正常使用。①进入/var/log目录下,使用命令定位大于100M的日志。②将定位处的大日志进行删除。③刷新平台,问题解决。保存配置重启集群即可。组件日志超过存储容量。

2024-06-28 17:00:45 777

原创 大数据之FlinkCDC

当时通过排查任务发现,我们的Flink部署搭建是通过采用Flink StandAlone HA的模式,有三台服务器,当提交任务到主节点以后,发现主节点上的任务运行大概30分钟的时候,服务器的cpu利用率大概是4250%,导致任务宕机.在抽取的过程中,如果表的数据量太大,抽取超过30张表以后,所有的任务大概运行25~30分钟以后,所有的任务的状态会从running 变为 Failed.2.在启动全量抽取数据的同时,启动FlinkCDC的增量模式,进行增量数据的抽取。第二种解决方案:(暂时解决掉,生效)

2024-06-28 11:27:11 1075 2

原创 大数据之HDFS磁盘扩容(linux磁盘扩容)

本文以扩容/dev/vdb1 分区为例,命令中/dev/vdb 与1之间需要使用空格分隔。/dev/vdb1 分区容量为32G,文件系统类型为ext4,已挂载至/www。返回结果如下,则表示已扩容成功(/dev/vdb1分区由32G扩容至53G)/dev/vda 数据盘磁盘容量为21.5GB,包含/dev/vda1分区。/dev/vdb 数据盘磁盘容量为53.7GB,包含/dev/vdb1分区。/dev/vda1 分区容量为22G,文件系统类型为xfs,已挂载至/2、执行以下命令,查看扩容结果。

2024-06-06 11:41:19 361

原创 大数据之CDH对Hdfs做Balance数据均衡/数据平衡/数据倾斜

不良 : 运行良好的 NodeManager:5。存在隐患的 NodeManager:0。NodeManager 总数:10。运行良好:50.00%。运行良好或存在隐患:50.00%。临界阈值:90.00%。以下 DataNode 数据目录 位于小于其可用空间 10.0 吉字节 的文件系统中。/data1/dfs/dn(可用:7.2 吉字节 (3.66%),容量:196.7 吉字。并且发现了yarn中的资源节点直接掉了。可以达到资源的再平衡处理。

2024-06-05 09:26:34 298

原创 大数据之Schedule调度错误(一)

这是因为这导入任务与另一个导入任务冲突了。这两个导入任务都是导入同一张表,sqoop导入会将源表的数据临时放在路径'hdfs://masterf:8020/user/root/'下,再将数据mv到目标表location下。当两个任务同时启动,其中一个任务会将路径'hdfs://masterf:8020/user/root/'下的数据MV,另一个任务就会读取不到数据,就会 报该错误。将这两个任务调整调度时间间隔开。

2024-06-04 15:34:35 459 1

原创 大数据之HIVE,一次HIVESQL执行的过程(四)

上图的 Map 的输出的文件被分片为红绿蓝三个分片,这个分片的就是根据 Key 为条件来分片的,分片算法可以自己实现,例如 Hash、Range 等,最终 Reduce 任务只拉取对应颜色的数据来进行处理,就实现把相同的 Key 拉取到相同的 Reduce 节点处理的功能。查询时,hive会从hdfs的路径上提取数据,再根据hive表的结构和定义,来向我们展示出类似表格的形式。如下的日志过程,本质上是一个在MapReduce中进行Shuffle的过程。数据最终是怎么存储到hdfs上的过程。

2024-05-31 15:17:11 587

原创 大数据之HIVE调优(三)

所谓谓词下推就是通过嵌套的方式,将底层查询语句尽量推到数据底层去过滤,这样在上层应用中就可以使用更少的数据量来查询,这种SQL技巧被称为谓词下推(Predicate pushdown)数据量小的时候无所谓,数据量大的情况下,由于COUNT DISTINCT操作需要用一个Reduce Task来完成,这一个Reduce需要处理的数据量太大,就会导致整个Job很难完成。接大数据HIVE调优(二)的问题引出。2.不要在表关联后面加WHERE条件。每次1%增长,大概10分钟。大概持续时间 20分钟。

2024-05-23 16:26:49 324

原创 大数据工具之HIVE-参数调优,调度乱码(二)

在利用HUE工具,搭建WORKFLOW流程的过程中,如果直接执行hivesql数据正常,不会出现乱码现象,如果利用WORKFLOW搭建的流程,进行数据的拉取,会出现数据中文乱码现象,这些乱码主要是由于select 中的硬编码中文导致出现的现象。定位时发现任务卡在map = 0%, reduce = 0%阶段,而且发现map分配数量很少,所以猜测分配map较慢,增加map数量可解决问题。二、Hive 卡在map = 0%, reduce = 0%阶段。在利用workflow搭建的流程中进行如下配置处理。

2024-05-22 15:25:18 373

原创 大数据Hadoop之-工具HIVE(一)

日常工作中数据倾斜主要发生在Reduce阶段,而很少发生在 Map阶段,其原因是Map端的数据倾斜一般是由于HDFS数据存储不均匀造成的(公司的日志存储几乎都是均匀分块存储,每个文件大小基本固定),而Reduce阶段的数据倾斜几乎都是因为分析师没有考虑到某种key值数据量偏多的情况而导致的。分桶表会将指定列的值进行哈希散列,并对 bucket(桶数量)取余,然后存储到对应的 bucket(桶)中(Hive 中的分桶概念和 Java 数据结构中的 HashMap 的分桶概念是一致的。

2024-05-21 15:13:58 788

原创 大数据之Doris集群搭建与部署(一)

一、为什么要用Doris二、Doris原理三、Doris集群搭建与部署一、为什么要用Doris刚开始我们的数仓流程是这样的:随着业务需求的变化,出现了实时同步数据的需求,离线的需求已经不能满足业务上的变化,利用Doris作为中间数据集,对外提供统一的数据服务极大提升了数据处理的效率和查询的便捷性,利用了多数据源的迁移方案进行数据处理二、Doris架构原理图三、doris集群部署Doris集群部署是基于Doris单机部署进行扩展,部署,主要基于以下三个点部署1.FE部署2.BE部署。

2024-05-17 17:18:20 1967

原创 Flink 高可用之On Yarn 高可用方案(二)

先在yarn启动一个flink集群,然后将任务提交到这个集群上,这种模式,集群中的任务使用相同的资源,如果某一个任务出现了问题导致整个集群挂掉,那就得重启集群中的所有任务,这样就会给集群造成很大的负面影响。考虑到集群的资源隔离情况,一般生产上的任务都会选择per job模式,也就是每个任务启动一个flink集群,各个集群之间独立运行,互不影响,且每个集群可以设置独立的配置。2 .parallelism是动态的概念,是指程序运行时实际使用的并发能力。Flink 高可用之On Yarn 高可用方案(二)

2024-05-17 10:33:48 191

原创 Flink 高可用之StandAlone-HA模式(一)

服务器: node1(Master + Slave): JobManager + TaskManager。- 服务器: node2(Master + Slave): JobManager + TaskManager。- 服务器: node3(Slave): TaskManager。#存储JobManager的元数据到HDFS。#启用检查点,可以将快照保存到HDFS。#开启HA,使用文件系统作为快照存储。#使用zookeeper搭建高可用。

2024-05-16 11:23:48 825

原创 Oracle create table 语句转换为 HIVE create table语句

Oracle create table 语句转换为 HIVE create table语句 以及 insert 和select 语句。

2024-05-15 17:10:30 1237

原创 集群分发脚本xsync

使用 ssh-keygen -t rsa 命令,在生成命令时,会要求你输入密码短语、确认密码短语等信息,可根据自己需要的情况来填写,不填写也可以(但是建议通过ssh-keygen建立SSH keys,不要指定密码),如果不填写直接按回车键即可,然后就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)-rw-------. 1 root root 1679 9月 20 15:49 id_rsa。-rw-r--r--. 1 root root 732 9月 20 15:10 xsync。

2024-05-15 16:14:37 936

原创 关于 BigDecimal的应用逻辑

首先,创建BigDecimal对象,进行BigDecimal的算术运算后,分别建立对货币和百分比格式化的引用,最后利用BigDecimal对象作为format()方法的参数,输出其格式化的货币值和百分比。在需要精确的小数计算时再使用BigDecimal,BigDecimal的性能比double和float差,在处理庞大,复杂的运算时尤为明显。BigDecimal都是不可变的(immutable)的, 在进行每一次四则运算时,都会产生一个新的对象 ,所以在做加减乘除运算时要记得要保存操作后的值。

2024-05-10 15:18:46 770

原创 大数据之Hue中运行Sqoop常见的问题分析

1、登入Oozie服务所在的服务器,进入 /opt/cloudera/parcels/CDH/lib/oozie/oozie-sharelib-yarn/lib/sqoop 目录,将所需的jdbc驱动包放入。可以发现在Hue执行的Sqoop操作是Oozie启动器执行的,不止Sqoop,Spark也是通过Oozie启动器执行的,推测其他应用也是。1、在终端执行Sqoop命令,只需要在 $SQOOP_HOME/lib 目录下增加jdbc驱动包,Sqoop在执行时就可以找到驱动。目前没有发现坏的影响,暂且搁置。

2024-05-08 16:25:15 711

原创 大数据之Sqoop(二)-增量数据抽取

之前已经将id在0~5201314之间的编号的订单导入到Hadoop中了(这里为HDFS),现在一段时间后我们需要将近期产生的新的订单数据导入Hadoop中(这里为HDFS),以供后续数仓进行分析。我们知道通过 -m 参数能够设置导入数据的 map 任务数量,即指定了 -m 即表示导入方式为并发导入,这时我们必须同时指定 - -split-by 参数指定根据哪一列来实现哈希分片,从而将不同分片的数据分发到不同 map 任务上去跑,避免数据倾斜。基于递增列的增量数据导入(Append方式)

2024-05-07 15:28:13 662

原创 关于: Transactional碰到锁的问题

如果直接使用Transactional,后面没有指定具体的异常类型,那么下面的抛出异常中,事务是不生效的,因为。还有一个问题,关于Transactional使用失效的踩坑点,源码中是这样定义的,只有运行时异常或者error时才会生效。

2024-05-06 09:43:16 139

原创 linux ssh 免密登录

将三个机器上id_rsa.pub的内容合并起来放在authorized_keys,可以用命令按下面的步骤来,也可以分别将三个机器的公钥拷贝出来放在一个文件里,之后分别复制到各自机器的authorized_keys,我用的是下面的命令。这一步实际是将salve2的id_rsa.pub和slave1传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到master、slave1机器上。如果都不需要输入密码,就代表配置成功!

2024-05-06 09:17:13 305

原创 微信扫码登录

官方文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。如果你近期准备面试跳槽,点击小程序刷题吧,共 2500+ 道,几乎覆盖了所有主流 Java 技术面试题。

2024-04-30 14:42:37 768

原创 到底那些情况应该加索引呢?

在这个查询中,MySQL可以有效地利用联合索引idx_product_name_category,首先根据category过滤记录,然后在满足category条件的记录中使用联合索引来加速product_name的右模糊查询。不以通配符开头或结尾的模糊查询:如果LIKE查询的模式不以通配符开头或结尾(例如:'abc'或'abcde'),并且不包含其他特殊字符(如转义字符``),大多数数据库系统可以使用普通B-tree索引来加速查询。右模糊查询:如果可能,将通配符放在模式的末尾,例如:'abc%'。

2024-04-29 10:18:39 395

原创 如何更好的写好: controller

有些时候 JSR303 标准中提供的校验规则不满足复杂的业务需求,也可以自定义校验规则。自定义校验规则需要做两件事情:自定义注解类,定义错误信息和一些其他需要的内容注解校验器,定义判定规则//自定义注解类/*** 是否允许为空*//*** 校验不通过返回的提示信息*/String message() default "不是一个手机号码格式";/*** Constraint要求的属性,用于分组校验和扩展,留空就好*/Class<?Class<?//注解校验器。

2024-04-28 14:32:26 727

原创 Flink应用

该Flink集群常驻YARN 中,所有的Flink任务都提交到这里。如果YARN中给Flink集群分配的资源耗尽,只能等待YARN中的一个作业执行完成释放资源才能正常提交下一个Flink作业。第2种:每次提交Flink任务时单独向YARN申请资源,即每次都在YARN上创建一个新的Flink集群,任务执行完成后Flink集群终止,不再占用机器资源。不过这种模式下任务执行完成后Flink集群即终止,所以输入地址vm3:44429时可能看不到结果,因为此时任务可能执行完了,flink集群终止,页面也访问不了了。

2024-04-02 17:37:06 1110

原创 java 代码优化 双层嵌套for循环

这其实就是时间复杂度,for循环嵌套for循环,就好比 循环每一个 user ,拿出 userId 需要在里面的循环从 userMemo list集合里面 按顺序去开盲盒匹配,拿出第一个,看看userId ,拿出第二个,看看userId ,一直找匹配的。相当于拿到userId 想去开盲盒的时候, 根据userId 这个key hash完能直接找到数组里面的索引标记位, 如果底下没链表(有的话O(logN)),直接取出来就完事了。按照目前以JDK8 的hash算法,起hash冲突的情况是非常非常少见了。

2024-03-27 14:42:38 680

原创 LINUX磁盘挂载(centos磁盘挂载)

Last sector,+sectors or +sizefk,M,G) (2048-419430399,default 419430399): # 默认回车。Command (m for help): #输入n回车,添加新分区,如果需要更多,请输入m回车看帮助。Partition number (1-4): # 输入数字1回车,分区数量。select (default p): # 输入p回车,P的意思是主分区。(操作完分区步骤后,就会看到步骤2的结果)如果没有设备 Boot,就没有挂载磁盘。

2024-03-15 10:51:21 741

原创 大数据组件之Sqoop(一)

1.如果导入的数据表中的数据用逗号隔开,那么fields-terminated-by ',' 不能用',',换成其他的符号格式。3.如果出现脏数据或者null数据,那么增加参数: --hive-drop-import-delims。5.出现一个隐藏性的问题,就是缺少mysql驱动,需要增加驱动,才能进行数据抽取和全量读取。4.数据增量覆盖,增加--hive-overwrite。2.如果在hue中执行,那么用tab键进行分割。1.从源端抽取数据导入到目标端。综上: 主要用来抽取大量数据。

2024-03-08 15:53:28 495

原创 责任链设计模式

责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。图片。

2023-05-25 10:06:23 807 1

原创 接口优化方案

有些小伙伴说,不知道如何使用并行优化接口?我之前写过一篇文章并行优化接口的文章,保姆级别的!

2023-05-05 10:11:04 521

原创 SpringCloud 分布式事务组件之Seata

那这个时候你觉得可能会产生什么样的问题呢,其实很简单,这个时候你这个订单要购买的商品库存已经被锁定了,你为了下这个订单用的优惠券,也已经被锁定了,结果呢,你的订单自己本身的数据并没进入数据库,然后还返回一个了异常信息给用户说,本次下单失败。接着seata server发现说,这分布式事务都失败了,那赶紧的,他会通知库存系统和营销系统里的seata框架小兄弟说,兄弟们,赶紧的,把之前插入你们数据库里的undo_log表里的补偿日志拿出来,接着呢,你又调用了营销系统,锁定了优惠券,也O了。

2023-05-04 17:38:58 781

原创 ThreadLocal 适合用在哪些实际生产的场景中?

在这种情况下,每个 Thread 内都有自己的实例副本,且该副本只能由当前 Thread 访问到并使用,相当于每个线程内部的本地变量,这也是 ThreadLocal 命名的含义。因为每个线程独享副本,而不是公用的,所以。

2023-04-28 10:34:14 576

原创 幂等解决方案(生产可用)

幂等解决

2023-01-06 21:28:24 682

原创 记一次生产中使用CompletableFuture遇到的坑

记一次生产中使用CompletableFuture遇到的坑

2022-11-17 15:40:42 914

原创 转载 微服务架构 | 微服务是什么?

微服务

2022-10-12 15:12:34 298

原创 kafka一次消息堆积处理

kafka生产环境参数调整

2022-08-29 21:33:40 928

原创 SpringCloudAlibaba的底层原理

大家理解一下SpringCloudAlibaba里面都包含哪些技术组件,在系统里都是用来干什么的,然后再给大家分析一下这些技术底层的原理。首先,假设你们公司有两个系统,咱们就假设是系统A和系统B吧,这俩系统现在的需求就是要让系统A可以发送一个请求给系统B来实现系统间的接口调用,咱们看下面这个图。现在有一个最大的问题,系统A是部署在一台服务器上的,系统B又是部署在另外一台服务器上的,那系统A怎么可能莫名其妙的就知道系统B部署在哪台机器上呢?这就好比说,您在大马路上走着走着,看到一个美女,回家了..

2022-04-25 18:46:35 859

原创 Git中使用 Git 回退

1 简介在使用Git管理自己的代码版本时,由于编译生成的中间文件,Git使用SHA-1算法来对文件进行加密,进而得出来一个40位的十六进制加密字符串。325525d8b1f67b5ddd37956a8a728fd26c4ba5ce但这种算法对于文本文件有效,对于二进制之类的文件则无法正常的进行加密。因此Git版本管理多管理文本文件,而非二进制之类的文件,例如obj文件、.class...

2022-04-18 14:36:42 776

原创 设计模式总结

设计模式是众多软件开发人员经过长时间的试错和应用总结出来的,解决特定问题的一系列方案。现行的部分教材在介绍设计模式时,有些会因为案例脱离实际应用场景而令人费解,有些又会因为场景简单而显得有些小题大做。本文会结合在美团金融服务平台设计开发时的经验,结合实际的案例,并采用“师生对话”这种相对诙谐的形式去讲解三类常用设计模式的应用。希望能对想提升系统设计能力的同学有所帮助或启发。引言话说这是在程序员世界里一对师徒的对话:“老师,我最近在写代码时总感觉自己的代码很不优雅,有什么办法能优化吗?”“嗯,

2022-03-14 21:27:08 805

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除