- 博客(108)
- 资源 (2)
- 收藏
- 关注
原创 Gravitino源码分析-启动流程
在脚本末尾,start主要执行了start函数,可以看出 脚本后面跟的参数start作为参数,满足了start函数自行条件。在脚本中可以看到start函数执行的命令如下。这里比较核心的脚本就是nohup命令,这个命令是后台执行。这里看到是执行了bin目录下gravitino.sh脚本。Gravitino的启动根据官网介绍依赖于脚本。它主要执行了以下功能。
2025-03-10 15:48:27
330
原创 Gravitino源码分析-SparkConnector 实现原理
spark在[spark-29399]pr提交更新了SparkPlugin插件SparkPlugin插件执行生命周期。
2025-03-04 17:41:31
873
原创 联盟链学习笔记-网络的创建
网络管理员定义了一个包含两个成员的联盟 X1,包含组织 R1 和 R2。这个联盟的定义被存储在了网络配置 NC4 中,会在接下来的网络开发中被使用。CA1 和 CA2 是这两个组织对应的证书颁发机构。NC4 的配置方式,只有 R1 和 R4 能够创建新的联盟。这个图标显示了一个新的联盟 X1,它定义了 R1 和 R2 是它的联盟组织。我们也看到了 CA2 也被添加进来标识来自 R2 的用户。注意一个联盟可以包含任意数量的组织,这里我们仅包含了两个组织作为一个最简单的配置。
2023-10-13 17:02:54
539
原创 DataVines
数据的可信性依赖于数据质量,而完善的数据质量检查一直是业界缺失的项目,最近新开源了一个项目DataVines补全了这一块的短板。看一下项目作者自己写的项目介绍。
2023-06-25 18:20:13
543
原创 基于Thrift的分布式Hive数据源连接器
最近要写一个通过thrift连接hive的工具,传统的jdbc代码是不能获取日志的,因此需要定制一个可以获取hive 执行日志的客户端。我的连接是在节点A获取的,然后在节点A上执行了查询。那么我下次继续请求更新的日志信息的时候,请求可能到达了节点B。由于spring项目内已经注册的有Hazelcast集群,所以我们仅仅在此处检测JVM内存在的Hazelcast资源即可,检测到之后取出来就可以使用。问题的根源就是请求日志或者数据的时候请求是异步的,请求之后立马返回,下次请求具体到达什么节点是不确定的。...
2022-08-15 20:08:43
1137
原创 Required field ‘client_protocol‘ is unset 原因探究
最新在做基于Thrift协议的hive客户端,但是遇到了问题,具体一点的异常如下...
2022-08-12 11:28:46
8377
原创 浅谈IOC编程思想
IOC 是的缩写表示控制反转在整个系统中IOC就相当于哆啦A梦的口袋,任何对象可以通过这个口袋中拿到。有了IOC容器之后再看c对象的依赖,它虽然还是依赖于a和b但是情况却不一样了fill:#333;color:#333;color:#333;fill:none;}IOC容器abc如图所示,此时的情况相当于cc的依赖交由IOC容器进行管理,在程序运行时IOC容器主动的将a和b进行注入到c中。这时候c由主动创建a和b两个依赖的行为被反转为被动接受IOC容器注入a和b依赖思考一下?......
2022-08-03 15:46:07
507
原创 SpringBoot分布式共享内存
最新开发一个数据平台,平台本身为分布式部署,但是各个节点都是有一份缓存,缓存存储了全量数据,每次数据更新都会需要广播请求更新每一个节点的缓存。如果某一个请求失败那么内存中的数据就会造成不一致的情况,导致请求如果分配到这个没有更新内存的节点出现的结果将是不可预期的。曾经考虑过使用redis但是由于是赋能项目,所以不能导致因为赋能项目让客户必须部署redis才可以使用。因此redis方案就此夭折。...
2022-07-19 11:30:07
1086
原创 SpringBoot多数据源
mybitsplus用户使用双数据源是很方便的可以直接使用mybits的双数据源大家可以点进去看官方文档,但是有些文档地方是没有的或者收费的。先看mybitsplus的实现 【官方文档节选】当你想要切换数据源时可以使用注解可以使用在方法上面或者类上面。当然也可以手动切换数据源, mybitsplus提供了来进行手动切换当然里面放的参数名为你配置文件里写的数据源名称,如上面配置的,,使用之前调用push将数据源推进去,使用完成之后调用poll。的实现是一个栈因此将数据源使用的时候push进去
2022-07-08 10:04:36
912
原创 Could not find acceptable representation 原因探究
日志是一条warn信息,但是下面的报错就是重新定向到/error路径了,因此可以断定项目出错的地方在这个warn类型日志上主要的功能是Excel文件下载,文件下载时设置但是设置之后却会出现错误,项目内其他json类型却可以正常返回不受影响,受影响的仅仅为下载接口。对代码进行debug,数据正常组装到但是在返回的时候Spring的返回类型仅仅只有json类型。那么可能就时SpringBoot结果转换器出现问题。 查看以前覆写的 当初为了支持Iong类型精度不丢失重写了结果转换器,当时仅考虑到json类型,对于
2022-06-16 10:42:04
2232
1
原创 SpringBoot自定义Spring路由
SpringBoot 的路由调度是由DispatcherServlet类进行调度的 调度流程是由 给request添加一系列请求属性后调用方法这里的调用实际上就是查找handlerMapping的handlerHandleMapping的实例AbstractHandlerMapping也是RequestMappingHandlerMapping的父类,实现了这个方法可以看出调用方法获取了请求具体的handler,这个方法的作用就是去查找url对应的方法,如下可以看出该方法调用了方法去查找path对应
2022-06-08 14:58:29
3894
原创 JAVA自带插件机制
JAVA 插件机制 - java SPIjava 官方提供自己的插件机制 【点击进入官方插件机制文档】本文内容是对官方文档的理解加实践。文章目录JAVA 插件机制 - java SPI实现java SPI大约需要三个步骤定义插件接口编写插件加载插件实现java SPI大约需要三个步骤定义插件接口实现Spi 首先要定义一个SPI接口,以后的拓展插件都需要实现这个接口个人理解:设计模式的六大原则之一: 依赖倒置原则上层模块不应该依赖底层模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细
2022-04-12 15:32:20
785
原创 Hasor Dataway 实现原理
Hasor Dataway 实现原理文章目录Hasor Dataway 实现原理引言请求流程结束语引言最近搞接口可配置发布的服务,类似于Megic-Api,但是最近看到一个框架Hasor感觉这个框架很厉害,尝试分析一下他的实现原理,借鉴一波。请求流程先看简化流程图#mermaid-svg-VIlLRH68zREspnlL .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)
2022-02-22 15:39:40
648
原创 dolphinscheduler源码解析-MasterSchedulerService
dolphinscheduler 源码解析-MasterSchedulerService文章目录dolphinscheduler 源码解析-MasterSchedulerService类定义类属性初始化方法类定义@Servicepublic class MasterSchedulerService extends Thread 可以看出该类继承了线程基类,那该类就可以在线程池内执行。类属性 /** * logger of MasterSchedulerService
2021-07-29 22:17:41
533
原创 dolphinscheduler源码解析-NettyServerHandler
DolphinScheduler源码解析-NettyServerHandler文章目录DolphinScheduler源码解析-NettyServerHandler类定义类属性类定义@ChannelHandler.Sharablepublic class NettyServerHandler extends ChannelInboundHandlerAdapter 注解说明了这个handler可以被多个channel共享,然后该类又继承了ChannelInboundHandlerAdapter,
2021-07-28 22:52:00
759
原创 dolphinscheduler源码解析-NettyRemotingServer
dolphinscheduler源码解析-NettyRemotingServer文章目录dolphinscheduler源码解析-NettyRemotingServerNettyRemotingServer属性NettyRemotingServer属性private final Logger logger = LoggerFactory.getLogger(NettyRemotingServer.class);/** * server bootstrapprivate final Serve
2021-07-28 22:50:02
1253
原创 dolphinscheduer源码解析-master启动
dolphinscheduer源码解析-master启动文章目录dolphinscheduer源码解析-master启动MasterServer类定义MasterServer类定义/** * master server */@ComponentScan(value = "org.apache.dolphinscheduler", excludeFilters = { @ComponentScan.Filter(type = FilterType.REGEX, pattern =
2021-07-28 21:17:17
672
原创 dolphinscheduler源码环境配置
DolpinScheduler 开发环境配置文章目录DolpinScheduler 开发环境配置前言环境搭建前言dolphinscheduler作为开源调度平台已经被很多的企业采用,其发展速度也是非常快,现在已经处于微内核和插件化架构升级中,各种的功能可以通过插件化的形式集成。但是其入门的介绍包括一些视频都是早期编写的,没有在入门章节提起这部分,其实插件化部分有写这部分文档,但是需要用户自行翻阅。环境搭建git上面下载dolphinscheuler的源代码 git地址为 [点击进入]使用
2021-07-11 23:19:13
1686
1
原创 Spark自定义集合简单介绍
集合浅析文章目录集合浅析AppendOnlyMapBitSetCompactBufferSizeTrackingAppendOnlyMapSizeTrackerExternalAppendOnlyMapMedianHeapOpenHashMapOpenHashSetPartitionedAppendOnlyMapPartitionPairBufferPrimitiveKeyOpenHashMapPrimitiveVectorPrimitiveVectorAppendOnlyMap简单介绍Append
2021-01-21 15:01:24
523
1
原创 操作系统知识随心记-浅谈文件头和元数据
操作系统知识随心记-浅谈文件头和元数据文章目录操作系统知识随心记-浅谈文件头和元数据程序是如何运行的操作系统也是应用程序,为什么它就可以开机自动运行呢文件头的作用关于元数据一些浅谈程序是如何运行的我们开发的程序一般是独立于操作系统的,它们想要被运行就需要被加载到内存中,这些是由操作系统的底层硬件决定的,那么他就需要被加载。操作系统也是应用程序,为什么它就可以开机自动运行呢操作系统也是需要加载的,而且它的加载程序是由多方保证的。主板上有一套ROM程序,这个程序不可修改,通电后CPU的cs:ip寄
2021-01-10 12:56:24
594
原创 深入理解JAVA虚拟机 脑图
深入理解JAVA虚拟机最近读了《深入理解Java虚拟机》感觉,深深感受到了JAVA语言的强大。下面是整理的脑图,仅供参考。如果看不清,链接【点击进入】
2020-11-03 11:43:13
238
原创 Spark涉及的设计模式-创建型-单例模式
Spark涉及的设计模式-创建型-单例模式文章目录Spark涉及的设计模式-创建型-单例模式单例模式的作用在spark中使用的例子单例模式的作用单例模式主要是避免了一个全局使用的类频繁地创建和销毁。当想要控制实例数据节省系统资源的时候可以使用。在java中单例模式有很多种写法,比如什么饱汉、饿汉,双重检查等等但是在scala语言中这个完全不需要什么这么多花里胡哨的,仅仅需要一个伴生对象。伴生对象就是单例模式的。伴生对象采用object声明在spark中使用的例子在spark中简单举一个例子p
2020-08-04 11:04:44
636
原创 spark涉及的设计模式-创建型- 建造者模式
spark涉及的模式-创建型- 建造者模式文章目录spark涉及的模式-创建型- 建造者模式定义:该模式的应用建造者模式角色结构具体实现定义:将一个复杂的构造和他的表示分离,是的相同的构建过程可以创建不同的表示该模式的应用该模式主要关注于各种部件的组装问题。回想Spark1.X时代,那是想要使用一个Spark环境就必须创建一个SparkConf,然后将它传入一个SparkContext的构造方法内。当然了还有sqlContext和hiveContext。这些由用户自行创建都是比较凌乱的,没有进行
2020-07-31 14:39:59
479
原创 Spark涉及的设计模式-创建型-原型模式
Spark涉及的设计模式-创建型-原型模式文章目录Spark涉及的设计模式-创建型-原型模式定义使用原型模式在Spark中的应用定义使用原型实例指定创建对象的种类,并通过拷贝这些对象的原型创建新的对象。使用原型模式主要用于对象的复制,无论时java和scala都会提供一个Cloneable接口。他们的左右只有一个,就是实现了该接口之后可以调用对象的clone方法。其实scala的cloneable接口也是继承的java的cloneable的接口。package scala/** * Cl
2020-07-30 15:57:17
530
1
原创 Spark涉及的设计模式-创建型-工厂方法模式
设计模式-创建型-工厂方法模式文章目录设计模式-创建型-工厂方法模式工厂接口工厂实现客户端为什么不用抽象工厂模式说在前面的话:说到工厂方法模式不得不说的就是简单工厂模式(又名静态方法模式),简单工厂模式就是他的行为就很简单,就是定义一个接口用来创建对象。但是它创建工厂类的时候是通过客户端传入参数进行决定创建什么工厂的。这样如果需要添加一个工厂那么就需要改变这个工厂类。这样就违背了开闭原则。而工厂方法模式则不通,他是通过客户端就决定实例化哪个工厂进行决定的,这样需要修改的是客户端和添加新的工厂类这里我
2020-07-30 15:09:44
447
原创 Spark3.0消息发送经历了什么
Spark3.0消息发送经历了什么首先创建一个RpcEnv变量,用来存储各种信息 val rpcEnv = RpcEnv.create(systemName, bindAddress, advertiseAddress, port.getOrElse(-1), conf, securityManager, numUsableCores, !isDriver)该变量主要调用create方法,最后调用到NettyRpcEnvFactory的create方法,以工厂模式创建RpcEnv
2020-07-23 16:20:51
261
原创 scrapy 安装
scrapy 安装文章目录scrapy 安装安装python管理模块anaconda下载位置环境变量使用conda命令安装scrapy安装命令一些常见的错误安装python管理模块anaconda下载位置下载位置可以去清华镜像,不要问为什么?除非你可以忍受特别低的下载速度 点击进入下载页面 选择你需要的版本环境变量配置环境变量将conda的安装目录配置到你的环境变量中路径有两个,我的...
2020-04-21 11:24:36
716
原创 DataNode数据块丢失问题查找
HDFS数据块丢失问题文章目录HDFS数据块丢失问题问题发现问题定位找到原因新的问题的产生向前一小步查看影响问题发现正在跑Spark任务的时候,代码提交上去了,代码提交之后肯定是要通过yarn上传到HDFS上面,然后各个节点就可以看到jar包了。但是这个时候突然间报错NameNode进入了安全模式。【注:进入安全模式之后你就只能查看hdfs上面的内容,不能创建。因此上传jar包失败】。于是...
2019-12-06 11:54:23
1529
原创 记一次HBase的STUCK Region-In-Transition问题
HBase STUCK Region-In-Transition问题产生原因HBase2.x的Procedure是记录了HBase的各种操作,比如创建表、删除表、禁用表。当他出现不一致的时候可能就会导致STUCK Region-In-Transition。解决方案HBase2.x已经有了相当先进的修复工具hbck2,但是这个修复工具试基于HbckService类来完成的,而HBase2.x......
2019-10-18 17:06:32
3191
1
原创 Centos7安装CDH6.3.0
Centos7.6安装CDH6.3文章目录Centos7.6安装CDH6.31、下载安装包2、集群环境准备3、安装mysql4、配置yum parcel源一般为/etc/my.cnf1、下载安装包Cloudera Manager安装包 下载cm6.3.0-redhat7.tar.gzCDH-6.3.0-1.cdh6.3.0.p0.1279813-el7.parcelCDH-6.3.0-...
2019-10-15 14:49:53
5692
6
原创 HBase数据迁移方案
HBase2.1.0数据迁移方案文章目录HBase2.1.0数据迁移方案步骤一、迁移HFile数据步骤二、迁移表的region步骤三、bulkload数据业务要求:将数据从旧的集群HBase1.2迁移到HBase2.1.0中去。每个表的数据量级10TB左右值得注意:HBase升级到Hbase2.x之后,他的数据修复工具独立出来作为 HBCK2 成立了一个单独的项目 ,并且这个项目并不是所有的......
2019-09-25 16:04:22
4916
7
原创 Spark 加载PMML格式模型在线预测
Spark 加载PMML格式模型在线预测Spark 加载PMML格式的模型文件目前spark自身是不支持这个pmml类型模型的,想要使用它可以采用github上面的插件jpmml-evaluator-sparkgithub地址 但是它上面的东西描述的优点抽象,使用的时候可能遇到很多的坑,比如使用的时候导入依赖<dependency> <groupId>or...
2019-09-06 11:49:39
2665
4
原创 升级CDH集群的JDK
升级CDH集群的JDK更改所有节点的java命令[root@a01 ~]# whereis javajava: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz[root@a01 ~]# ll /usr/bin/javalrwxrwxrwx. 1 root root 22...
2019-09-05 17:46:24
578
1
原创 HBase启动报错Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
HBase报错问题HBase运行好好的,突然之间重启之后再也起不来了,一直报错。Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder类似的就是这个htrace包里面的内容。去安装的lib里面查发现真的没有和它有关jar包,再看lib里面的目录client-facing-thirdpar...
2019-08-27 09:46:39
993
原创 Neo4j导入数据超过限制怎么办
Neo4j导入数据超出限制今天neo4j导入数据的时候报错了original error: Maximum id limit for PROPERTY has been reached. Generated id 68719476796 is out of permitted range [0, 68719476735]这说明我的属性超出了限制个数68719476735,然后分配了一个新的...
2019-08-26 11:35:56
1670
2
原创 从两个HDFS集群之间拷贝数据命令
从两个HDFS集群之间拷贝数据命令1 distcp命令命令如下:hadoop distcp hdfs://a01:8020/lime/ hdfs://nameservice/该命令在需要数据的集群上面进行执行,执行过程需要跑MR程序。有的时候我在其他节点上需要数据,同时我需要的是把数据从hdfs上面下载下来,以前我的方式是通过 distcp拷贝其他集群的数据.。 然后去本地集群上通过...
2019-08-22 14:46:27
5519
原创 Neo4j性能测试
Neo4j性能测试文章目录Neo4j性能测试测试环境准备CPU内存磁盘测试数据测试方法100万关系数据测试无索引无预热无索引有预热创建索引查询索引是否生效有索引无预热1千万数据无索引无预热无索引有预热有索引无预热有索引有预热数据大小一亿条数据数据大小无索引无预热无索引有预热有索引无预热有索引有预热建立索引后数据大小十亿条数据数据量大小无索引有索引无预热有索引有预热数据大小结过对比图测试环境准备......
2019-07-19 18:09:27
8563
15
原创 SparkGraphX和Neo4j对比
SparkGraphX和Neo4j对比Neo4j优点支持交互式查询,查询效率很高。能够迅速从整网中找出符合特定模式的子网,供随后分析之用,适用于OLTP(Online Transaction Processing)场景支持算法:社区发现算法,中心算法,路径查找算法,相似度算法,连接分量预测算法缺点不支持数据分片。因此存储数据有限Spark支持海量数据,运算...
2019-07-19 15:33:43
3192
winutils.zip
2019-06-12
hadoop,spark,hbase,zookeeper,kafka配置文件
2017-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人