- 博客(35)
- 资源 (9)
- 收藏
- 关注

原创 Apache DolphinScheduler 使用常见问题总结(持续更新中)
DolphinScheduler 使用常见问题总结开发环境常见问题API启动端口是8080不是12345找不到mysql驱动开发环境常见问题API启动端口是8080不是12345在初始化环境中api默认配置12345,解决办法编辑运行配置,增加如下配置-Dserver-api-server -Dspring.profiles.active=api找不到mysql驱动由于DolphinScheduler 默认使用的postgresql,默认没有引入mysql驱动依赖。需要手动修改pom。
2020-05-29 23:24:54
51050
46
转载 jvm 参数配置
Behavioral OptionsOption and Default Value Description -XX:-AllowUserSignalHandlers Do not complain if the application installs signal handlers. (Relevant to Solaris and Linux only.) -XX:AltStackSize=16384 Alternate signal stack size (in Kby
2021-06-07 18:29:22
328
原创 JVM方法调用指令
JVM识别方法 虚拟机识别方法的关键在于类名、方法名以及方法描述符。方法描述符由方法的参数类型以及返回类型所构成。在同一个类中,如果同时出现多个名字相同且描述符也相同的方法,Java 虚拟机会在类的验证阶段报错。方法静态绑定与动态绑定静态绑定 指的是在解析时便能够直接识别目标方法动态绑定指的是需要在运行过程中根据调用者的动态类型来识别目标方法调用方法相关指令invokestatic 用于调用静态方法。static关键字修饰的方法。 它要调用的方法...
2021-05-21 18:40:44
280
原创 synchronized 锁分级
说明 在JDK 1.8中,synchronized 的速度已经有了显著的提升,主要通过分级锁的方式。JVM 会根据使用情况对synchronized锁升级,会如此路径升级:偏向锁 -->轻量级锁-->重量级锁。锁信息 那锁是通过什么方式判断锁是否要升级呢?关键信息在对象头里,对象分为MarkWord、Class Pointer、Instance Data、Padding,其中MarkWord跟锁信息有关,它的长度是 24 位,它包含Thread ID(23...
2021-04-10 21:50:21
498
原创 UNIX设计原则脑图
Unix哲学起源于Ken Thompson早期关于如何设计一个服务接口简洁、小巧精干的操作系统的思考,随着Unix文化在学习如何尽可能发掘Thompson设计思想的过程中不断成长,同时一路上还从其它许多地方博采众长 Unix哲学(同其它工程领域的民间传统一样)是自下而上的,而不是自上而下的。Unix哲学注重实效,立足于丰富的经验。你不会在正规方法学和标准中找到它,它更接近于隐性的半本能的知识,即Unix文化所传播的专业经验。它鼓励那种分清轻重缓急的感觉,以及怀疑一切的态度,并鼓励你以幽默达...
2021-03-31 16:26:53
122
原创 需求分析
为何要做需求分析1) 因为我们做软件本身就是为了满足用户需求。用户需求到底为何,我们需要清楚定义。2) 需求边界定义的需要。用户需求理清楚了,不代表产品理清楚了。用户需求的满足一定会有行业分工,我们做什么,合作伙伴做什么,需要厘清大家的边界。3) 架构设计的需要。架构需要切分子系统,需要我们梳理并对用户需求进行归纳与抽象。架构还需要防止过度设计,把简单的事情复杂化。需求分析过程必然会涉及以下这些内容1) 我们要面向的核心用户人群是谁?2) 用户原始需求是什...
2021-02-27 21:29:54
426
原创 通俗易懂理解网络I/O模型
最近可能周志明老师写的《软件架构探索》,讲解网关路由章节很形象的解释了各种网络I/O模型,这里分享出来大家细品。网路请求本质 比如你发送一次百度搜索,从远程主机返回的数据会先存放到操作系统内核的缓冲区中,然后再从内核的缓冲区复制到应用程序的地址空间,所以当发生一次网络请求发生后,将会按顺序经历“等待数据从远程主机到达缓冲区”和“将数据从缓冲区拷贝到应用程序地址空间”两个阶段,根据实现这两个阶段的不同方法,可以分为同步I/O与异步I/O。网络I/O模型 同步I/O与异步...
2021-01-25 16:31:01
254
原创 软件工程师的核心竞争力是什么-笔记
前言干了几年的开发,最近也在思考我的核心竞争力是什么。现在是90后出道了,我该怎么不被替代呢。最近看极客时间《软件工程之美》发现了几个要点。以下是学习笔记。作者提出软件工程师的核心竞争力,不是单一能力的体现,而是几种能力和价值的合集。学习能力、解决问题能力和影响力构成了软件工程师的核心竞争力。从三个方面说一说。核心竞争力1 学习能力招聘网站上招聘软件工程师的要求,都需要能掌握一门或者多门编程语言,会熟练使用工具、框架。所以最基本的要求是技术和代码。但熟练掌握一门编程语言、框架,还不.
2021-01-22 18:36:38
1248
2
原创 XXL-JOB源码解析-执行器注册
概述 执行器注册包括注册和删除注:源码版本2.3注册过程执行器创建是以XxlJobSpringExecutor开始。现在看下下面是官方给的demo@Configurationpublic class XxlJobConfig { private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); @Value("${xxl.job.admin.addresses}") priva..
2021-01-06 18:27:45
2335
原创 如何参与开源项目
以我参与过的开源项目举例dolphinscheduler说明1 进入https://github.com/apache/incubator-dolphinscheduler,点击fork按钮,clone一份到自己的github上。此时本地还没有本地github代码。2 cmd 进入要放代码的目录执行,将代码clone到本地。git clone git@github.com:apache/incubator-dolphinscheduler.git3 执行gi...
2020-11-16 23:15:22
529
原创 git pull error fatal: refusing to merge unrelated histories
将本地的项目第一次上传到github 仓库,执行命令git pull origin master报错* branch master -> FETCH_HEADfatal: refusing to merge unrelated histories原因是由于,第一次本地和github仓库没有关联起。解决办法可以在命令后 加--allow-unrelated-historiesgit pull origin master --allow-...
2020-07-21 21:36:48
119
原创 使用Apahce Dolphinscheduler遇到问题怎么办
第一步:进入github issue 地址为 https://github.com/apache/incubator-dolphinscheduler/issues第二步:在filter中去掉is:issue is:open 输入你遇到问题关键词第三步:如果在列表中详情中的回复中找能到答案,那恭喜你不是以第一个遇到如果在列表中没有你要的答案,你可以直接new issue第四步:将你提交的issue地址发到答疑群,同时描述下你的问题。大家都比较忙,有些问题不能及时回复...
2020-06-23 15:36:51
868
3
原创 写代码的第一性原理-设计原则
第一性原理是被马斯克带火的。现在很多课里都在将第一性原理,这里简简单给第一性原理下个定义:透事物的本质,要把事物分解成最基本的组成,从源头解决问题。那么写代码的第一性原理是什么呢?我觉得是前辈们总结设计原则,下面是常用的设计原则。设计原则SOLID 原则1. SRP 单一职责原则 一个类只负责完成一个职责或者功能。单一职责原则通过避免设计大而全的类,避免将不相关的功能耦合在一起,来提高类的内聚性。同时,类职责单一,类依赖的和被依赖的其他类也会变少,减少了代码的耦合性,以此来实现代码的高内聚、松耦
2020-06-22 23:09:14
1055
原创 Markdown如何添加段首空格
写md有个痛点,就是每段开始行缩进不能直接使用空格。多敲几个也无效。搜了一波,发现跟html加空格一样。加 段首开始没添加前段首开始添加后效果 段首开始参考文章...
2020-06-21 22:55:01
2078
原创 Kubernetes入门之基本概念
Kubernetes概述 Kubernetes(k8s)是Google在2014年发布的一个开源项目。最初,Google开发了一个叫Borg的系统(现在命名为Omega)来调度庞大数量的容器和工作负载。在积累多年的经验后,Google决定重写这个容器管理系统,并将其贡献到开源社区,让全世界都能受益。这个项目就是Kubernetes。简单地讲,Kubernetes是Google Omega的开源版本 &
2020-06-21 22:47:24
325
原创 Apache DolphinScheduler API调用说明
背景调度一般都是通过页面创建项目、流程等,但是需要和第三方系统集成就需要通过调度API管理项目、流程。操作步骤创建token1) 登录调度系统,进入 安全中心->令牌管理 ,单击 创建令牌按钮,创建令牌。如下图所示2) 选择失效时间(就是token有效期,自己内部系统就设置长点),单击“生成令牌”,拷贝token字符串,然后保存就 ok使用token找到API文档页面apiserver地址:12345/dolphinscheduler/doc.html选一个测试的接口,本次测
2020-06-18 11:13:48
10646
2
原创 学习笔记(01):陆奇博士直播-正视挑战把握创业创新机会-正视挑战把握创业创新机会-2...
「正视挑战,把握创业创新机会」本期嘉宾是奇绩创坛创始人兼CEO 陆奇博士奇绩创坛|2020秋季创业营报名 (跳转链接 https://www.miracleplus.com/apply/?source=20200616live优快云)欢迎填表申请,无需BP。...
2020-06-17 14:37:54
246
原创 Apache DolphinScheduler告警邮箱配置
在使用 Apache DolphinScheduler调度发现,如果执行SQL查询任务没有配置邮箱任务就会执行失败。如果在安装调度时没有配置,可以按照如下方式重新配置邮箱。第一步 获取邮箱客户端授权码我本地是配置163邮箱,可以按照163邮箱官方帮助问题操作,这里不再重复,单击这里其他邮箱形式差不多第二步 修改alert.properties配置找到文件,调度安装目录/conf/alert.properties(我本地是/data/app/dolphinscheduler13/conf/alert
2020-06-16 21:01:00
6230
1
原创 hive-常用元数据表结构
常用元数据表在使用Hive进行开发时,往往需要获得己存在 Hive表的建表语句 ( Data D efinitionL anguage, DDL) ,然而Hive本身并没有提供这样一个工具 。 要想还原建表 DDL 就必须从元数据入手 。 Hive 的元数据并不存放在 HDFS 上 ,一般存放在MySQL、 Derby中表名说明TBLS所有Hive表的基本信息TABLE_PARAM表级属性,如是否外部表、表注释等COLUMNSHive 表字段信息(字段注释 ,
2020-06-15 22:19:24
497
原创 启动hdfs报错 Incompatible clusterIDs
进行了一次(非首次)hdfs namenode -format命令后,启动hdfs,发现datanode没有启动,通过看日志发现有如下的报错信息:java.io.IOException: Incompatible clusterIDs in /Users/soft/dev/BigData/hadoop-2.10.0/data/dfs/data: namenode clusterID = CID-62694e49-58bb-4d8c-a6d6-f1421c671d78; datanode clusterID
2020-06-15 15:37:56
391
原创 HDFS常用命令
HDFS命令命令 说明 样例 -help 输出这个命令参数手册 hdfs -help -ls 显示目录信息 hdfs dfs -ls / -mkdir 在hdfs上创建目录,-p:创建父目录 hdfs dfs -mkdir /hadoop/local -appendToFile 将一个或者多个文件添加到HDFS系统中 hdfs dfs -appendToFile a.txt b.txt /hadoo...
2020-06-04 11:17:01
271
原创 JODConverter框架所用的设计模式
[JODConverter](https://github.com/sbraconnier/jodconverter)是Java OpenDocument文件转换器库,可以进行许多文件格式的转换。它依赖于OpenOffice或LibreOffice 提供的服务来进行转换,它能将Microsoft Office文档(Word,Excel,PowerPoint)转换为PDF格式在项目中使用了JODConverter。简单了解下源码,其中有几个设计模式,本篇文章分享下建造者模式。设计模式介绍建造者模式简单
2020-06-02 22:48:09
1224
原创 提交代码到github抱歉remote: Invalid username or password. fatal: Authentication failed for
今天git push 到github仓库报错,提示需要输入用户密码,出现如下提示,开始以为是密码记错了,就直接登录github网页是ok的。remote: Invalid username or password.fatal: Authentication failed for 'https://github.com/xxx/xxx/'在网上也看了些,发现了原来输入的密码不是登录密码...
2020-03-01 21:11:54
1961
原创 简单理解JVM虚拟机-JVM内存区域划分
程序计数器在 JVM 规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 Java 方法的 JVM 指令地址;或者,如果是在执行本地方法,则是未指定值。Java 虚拟机栈每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应着一次次的 Java 方法调用...
2020-02-26 16:22:49
184
原创 Mac下idea 更新SVN出现certificate issued for a different hostname问题解决
在mac下使用svn,没有乌龟的陪伴很痛苦,在idea中首次更新svn会报如下错误。subversion error options of ‘https://你的svn地址’: Server certificate verification faild: certificate issued for a different hostname, issuer is not trusted(ht...
2020-02-24 15:59:37
3290
原创 RDD基本操作
定义RDD是弹性分布式数据集(Resilient Distributed Dataset), RDD 其实就是分布式的元素集合。就像List,Array,Set,Map集合。在 Spark 中,对数据的所有操作不外乎创建 RDD、 转化已有 RDD 以及调用 RDD 操作进行求值。而在这一切背后, Spark 会自动将RDD中的数据分发到集群上,并将操作并行化执行。用户可以使用两种方法创建 R...
2018-10-30 19:26:59
784
原创 Spark学习笔记之学习spark过程
目的关于大数据,14年就有那么一点点小打算学习,结果拖到18年了,这大半年深深体会到数据的重要性,数据才是一个企业宝贵的财富,所以就想搞搞大数据,做做分析。所以现在给自己历下flag一定要学习一个技术,现先就从Spark学习。 学习过程最开始买了一本《Spark最佳实践》,看完的体会是,基本上都是讲spark基础知识,实践很少,这算是一本入门书籍。由于现在的工资跟数据分析没有关系,...
2018-10-23 22:00:13
209
原创 简单理解JVM虚拟机1-虚拟机介绍
目的 虚拟机一直觉得很神秘,前几年学了一点点结果都忘完了,今年翻阅了几次《深入理解JAVA虚拟机》这本书,渐渐的有点点常识理解,但是还是不够深入。所以想将想学习的过程整理成笔记,方便以后查阅。 定义 JAVA虚拟机是整个JAVA平台的基石,是JAVA技术用以实现硬件无关与操作系统无关的关键部分,是JAVA语言生成出极小体积的编译代码的运行平台,是保障用户机器免于恶意代码损...
2018-09-07 11:24:41
253
原创 tomcat 禁用trace,put,head,post,delete 请求方式
背景 项目中请求方式只有GET,POST请求,处于安全考虑准备禁用TRACE,HEAD,PUT,DELETE,OPTIONS请求方式。实现 在tomcat的web.xml配置文件最后加上请求方式限制,配置如下,本次使用的tomcat8<security-constraint> <web-resource-collection> ...
2018-04-10 21:14:55
15309
4
原创 请不要让自己的解决问题的博客害了对方。
背景 一天遇到一个很难解决的问题,就去度娘搜索,技术blog一般就是csdn,oschina,cnblogs这些,你很开心的找到了一个答案,然后尝试博主的方案,改了半天,结果还是没搞出来,白白浪费了半天,结果你快气死了,工作进度摆在这里,你不得不加班搞定问题, 结果你又搜索找答案,结果,结果,你终于找到了正确的方案,问题顺利解决。此刻你心情又愉悦又想骂人。 高兴的是问题解决,可以下班。骂...
2018-03-14 18:36:30
254
原创 Long.ValueOf("str") 和Long.parseLong("str")真的有性能差别吗?
问题 用SonarQube做代码扫描,发现Boxing/Unboxing to parse a primitive,tag标记得是性能问题。 验证 随后翻了源代码 Long.valueOf(str)源码public static Long valueOf(String s) throws NumberFormatException { return Long....
2018-03-02 14:11:57
4937
3
原创 Java 日期 解析减少一天问题。神奇
复盘 今天在做一个入库项目,shuju信息入库后,重新编辑发现出生日期减少了一天,比如1987-08-04,转换到界面后却变成了1987-08-03, 问题发现过程 1 先看前端是否有特殊处理,经过检查发现没有问题。 2 找到获取专家基本信息接口,调用发现返回的日期的确是少了一天,这里可以判断问题出在后端 3 然后断点,发现在接口最终返回的是一个date类型,这可以断定...
2018-03-02 11:12:12
18941
7
原创 关于Cannot construct org.apache.maven.plugin.war.util.WebappStructure maven打包问题解决
解决Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor问题
2015-02-03 15:15:33
3945
原创 玩转maven之配置篇
看maven结构本身都很小巧的,就只有几兆, 是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软 件项目管理工具。一:下载完maven需要做两步配置 1 .配置环境变量,这样在CMD下才有作用 看maven结构本身都很小巧的,就只有几兆, 是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和
2015-01-28 18:58:37
511
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人