自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 CDH6 rpm方式安装kerberos记录

cdh6整合kerberos的记录

2022-03-22 11:43:49 3515

原创 springcloud2.x整合mybatis3+shardingsphere4.1.0&4.1.1 主从分离+服务治理

懒得按以前格式写了,纯粘代码几点注意:1、冲突问题,官网的配置未解决curator问题;(P.S. 最新版5.0.0α也没有处理好spring cloud 2.x+的问题,会造成no value bound,详见issue#8299https://github.com/apache/shardingsphere/issues/82992、配置问题,官网的配置文档还停留在4.0.0的配置,看源码,配置的读取代码为@Generated public void setOrchestratio

2021-04-13 15:50:55 317

原创 activiti工作流5.22.0自定义流程活动图获取接口

目标在不使用activiti explore提供的流程实例图diagram-viewer/index.html以及其繁杂的BaseProcessDefinitionDiagramLayoutResource四个类的情况下,自定义轻量的流程活动图查询接口,可以按顺序返回串行显示的流程数据,并标识执行与否,注意,本例仅解决串行显示的需求,如果需要1:1完全绘制流程,包括排他网关等,则建议复用流程实例图diagram-viewer/index.html以及后端接口。返回格式demo:{ "code":

2020-05-18 18:01:12 1363

原创 activiti工作流5.22.0 多人会审功能实现

背景因业务需求需要实现指定多人来进行一个task,传统做法是使用网关来达到目的,但是显示情况是会审的人员是可变且易变的,比如我指定安全组来做一个检验任务,安全组今天可能是5个人,明天又有人离职变成了3个人,因此网关不大适合该场景,这里就需要用到activiti提供的parallel。环境activiti 5.19.0~5.22.0皆可概念Activiti User Gu...

2018-01-30 17:42:25 20412 35

原创 修改moment引用解决antd datepicker中英混合问题

解决方法来源地址:https://github.com/ant-design/ant-design/issues/23891项目版本号antd 3.29.20moment 2.29.0nodejs 6.7.0解决方案根据该回答修改后:网上真是各种乱七八糟的方案,最搞笑的是一个说不要用npm install,要用yarn add ,结果另一篇说不要用yarn add要用npm install,真尼玛呵呵哒。......

2021-07-21 09:58:26 639 2

原创 记一次迷信batch insert导致的性能急剧下降问题

背景系统用于实现数据传输采集,在不允许库对库传输,甚至跨库(mysql->oracle)传输的情况下,使用自开发采集器进行数据传输。mybatis插入数据库我们都知道有一种通过foreach来实现batch插入的方式,之前在mysql和oracle上都做过单表插入测试,其中无事务的情况下,8G内存4核PC,每次10000条内插入,mysql上性能差距不大。在8G内存,8核CPU情况下,每次3000条数据,事务插入和batch插入(Oracle batch插入语法需要更换为union all),性能

2021-01-18 17:34:26 998

原创 记一次Activiti5.22发生的用户-流程关联错乱问题

问题描述查询用户参与的流程时(query.involvedUser(uid)????,返回了完全不相关的流程信息,发现ACT_RU_IDENTITYLINK和ACT_HI_IDENTITYLINK都存储了和流程无关的用户ID,角色类型都是参与者participant,于是一步步梳理。源码追踪首先由任务完成的complete方法定位到TaskEntity类的complete方法if (Authentication.getAuthenticatedUserId() != null &&

2020-07-13 19:40:49 1346 3

原创 sparksql运算调优纪事(三)——repartition数据倾斜处理

版本spark2.1.0现象继续上一章,利用effective_time字段进行重新分区导致了任务执行的倾斜本章就要针对这个问题进行处理。问题定位首先看下repartition是如何进行重分区的。由partitionExprs.map(_.expr)可以得知,代码根据列最终返回的key进行map分区,而根据接口注释,可以得知,该接口根据传入partitionExprs将数据重新进...

2020-02-20 14:21:44 2592

原创 sparksql运算调优纪事(二)——task并发任务数设置

版本spark 2.1.0前言利用spark-submit提交作业的时候,根据各种天花乱坠的教程我们会指定一大堆参数,借以提升并发和执行性能,比如–executor-cores 4–num-executors 4–executor-memory 8g–conf spark.default.parallelism=50–conf spark.sql.shuffle.part...

2020-01-21 16:40:53 4466

原创 kettle6.1转换内正确的并发设置姿势

引子网上很多教程没搞懂“改变开始复制的数量”这个意思,将数量设置在输入端,导致不仅没有进行多线程并发,反而变成复制读入多分数据导致开销增大,而且还造成了数据重复写入,这样还敢说性能提升,真是有鬼了。实际效果单线程效果所谓的“多线程”,不仅没有提升速度,反而给我往文本文件里写了50W条数据,说这个多线程的,不会阅读什么叫“开始复制”这四个字吗,都说了复制了!!真是蠢爆了。正确姿...

2019-12-30 16:14:53 1983 5

原创 三张图辨析所谓select *性能劣于select XXX

该场景主要适用于仅查询索引字段的情况,否则其余情况一概同等而论。但是大部分应用场景我们需要将几乎所有字段读取出来,所以select *和select xxx差别不大。1、展示索引字段和非索引字段,全表扫描2、展示使用索引字段的情况,使用了主键索引3、select *情况,全表扫描...

2019-12-06 18:09:55 329

原创 sparksql运算调优纪事(一)——hive小文件处理

业务目的全量离线运算统计,结果写入oracle问题执行时task数量过多hive动态分区小文件过多测试环境5运算节点,内存分别为12G,不断发生内存溢出问题逐步调优1、执行时task数量过多,总数达到了108000个,OMG,每个任务都是内存溢出,因为是用sparksql读hive表,所以spark的spark.default.parallelism强制指定task数并没有用,只...

2019-09-19 16:49:30 1251 2

原创 hive on spark与sparkSQl共存

1

2019-05-17 16:56:05 985

原创 kettle6.1从http接口读取数据并解析json以及xml

业务需求1、从数据库中读取表内容作为入参;2、根据入参读取http接口并获取返回数据;3、解析返回的json并提取其中的xml字段;4、解析该xml字段;5、入库。使用组件...

2019-03-29 14:17:46 10701

原创 利用正则表达式爬取HTML页面内容

闲来使用正则表达式做了一个HTML页面的数据爬虫,主要是根据页面规则去匹配相应字段内容,记录一下。利用HttpGet获取页面内容,使用pattern获取匹配内容CloseableHttpClient client = HttpClientBuilder.create().build(); long t = new Date().getTime(); for (i...

2018-12-18 18:19:03 3455

原创 hive 2.3.3(HA) on spark 2.2.0 on yarn 2.6.5踩坑记

环境一览hive 2.3.3配置HA spark 2.2.0 hadoop 2.6.5 zookeeper 3.6.5 hbase 1.2.6碰到的所有坑1、jdbc连接zk时方法找不到异常org.apache.curator.utils.ZKPaths.fixForNamespace,这个是因为curator-framework和curator-client版本不匹配...

2018-05-25 19:03:58 1983

原创 kettle6.1读写hive on hbase记录

版本kettle 6.1 hbase 1.2.6 hive 2.2.0 hadoop 2.6.5数据架构业务数据通过kafka流向业务数据处理引擎,过滤后的数据写入hbase,kettle job定期执行作业,读取hive运算结果写入业务mysql库中,提供给前端展示。实现1、hive on hbasehive与hbase数据互通,这点利用hive自带的hive-hb...

2018-05-21 14:58:15 943

原创 服务器防御基础(常见的几种攻击手段以及应对方式)

前言互联网世界鱼龙混杂,我们的网站放在internet上除了网站用户和会员会造访,还会有一群觊觎网站利益服务器功能的人在暗中观察,抓住机会找到漏洞就把网站一举拿下,从而盗取数据或是利用服务器资源作为矿机等等,因此服务器防御也是不可忽略不可轻视的一方面。大部分公司在开发运维过程中并不会去刻意注意服务器安全,也不会去请专门的安全人员,直到服务器被攻破,被人勒索了以后才会意识到安全问题的重要性,...

2018-05-10 19:33:27 11782

原创 利用AbstractRoutingDataSource+AOP实现多数据源切换

实现基于springmvc+mybatis框架动态切换不同的数据源。基础框架springmvc4+mybatis3。主要利用了spring aop以及spring的AbstractRoutingDataSource类。

2018-04-27 15:59:28 733

原创 利用spring-boot构建spark job作业提交服务

版本依赖spark.version:2.1.0 hadoop.version:2.6.5 springboot-mybatis.version:1.1.1 springboot:1.5.10实现功能通过HTTP提交job作业请求,并记录日志到数据库中 项目DAO部分使用mybatis实现,本文中不做记录编码实现pom<project xmlns...

2018-03-26 14:54:30 8975 5

原创 java结合luaj实现服务中执行动态脚本

业务场景我们都会碰到这样的情况,某某用户临时又增加新的校验规则需求,但是需求又很碎很急,没法等到下一个版本上线(想打人有木有),这种时候如果为了上线该改动需要重启服务,修改代码,除了增加开发工作量以外还增大了服务运维风险。我们当然可以使用类似weblogic之类支持热部署的服务器,但是这对大部分公司显然不适用。 如果这个时候能够将代码逻辑配置到数据库中,让运维人员编写简单的逻辑即可满足需求而...

2018-02-08 11:19:15 2670 2

原创 kettle6.0 hadoop hbase交互记录

摘要:在kettle6.0中连接读写hadoop和hbase与之前版本方法不同,故记录一下使用方法。环境准备: windows kettle6.0 jdk1.7 hadoop 2.6.5 hbase 1.2.6 配置首先配置hadoop的连接插件 打开 工具->hadoop distribute原生hadoop选择CDH5.4 接下来新建一个hadoop连接配置

2017-12-12 19:37:48 1171

原创 hadoop2.6.5+spark2.1.0+hbase1.2.6完全分布式环境部署

一、服务器环境准备 tips:本例作为测试环境,只使用了两台服务器,实际生产环境至少会有三台以上服务器作一主多从。 如果要配置 hadoop JournalNode zookeeper高可用,则至少需要五台服务器。服务器centos7 * 2 A master:10.10.16.92 B slave:10.10.16.93 环境 Jd...

2017-11-29 19:23:21 976

原创 IntelliJ IDEA构建基于maven的spark+hbase工程(scala语言)

利用IDEA来编写基于maven的scala程序,主要功能用来支持从hbase中拉取数据供spark进行mapreduce运算。

2017-11-08 16:03:34 4956

原创 java调用spark+hdfs计算的一个小demo

最近在入门spark+hadoop,伪分布式安装,部署推荐这几个地址,不错。这边顺手记录一下自己用到的两个小程序。推荐教程http://www.powerxing.com/install-hadoop/ http://blog.csdn.net/yeruby/article/details/41042713 http://blog.csdn.net/tongxinzhazha/ar

2017-11-04 15:37:25 5482 3

原创 shiro+mybatis+springmvc实例记录(二)——shiro支持ajax请求

接上文,页面跳转显然不适合动静分离ajax交互的架构模式,因此就需要对框架进行改造优化,使得后台能够返回json数据给前端请求。自定义拦截器shiro对权限、用户信息的校验实在默认的拦截器中进行的,要改写数据返回方式,则需要重写拦截器。这里我们分别对authc,perms进行重写。 分别定义两个拦截器,并使用printWriter将json字符串写入response中。 LoginFilterp

2017-11-01 18:57:28 1959

原创 利用jenkins自动构建基于docker的tomcat容器

软件准备jenkins-2.7.4 maven-3.0.5 git-2.8.0 gitlab-8.7.5 docker-17.05.0-ce 具体的安装本处不予缀述,该yum的yum,make install或者rpm都可以,自由选择。git最好不要用yum install git,自动安装的版本太老,会导致后续jenkins执行git命令失败。环境搭建这次的构建jenkins和docke

2017-10-16 10:14:38 1985

原创 shiro+mybatis+springmvc实例记录(一)

应用背景早先做权限控制都是采用自己编写的interceptor进行过滤拦截,适合仅针对登录进行校验的场景,随着要求复杂多样化,就需要寻求一款稳定便捷的框架。shiro和security都是不错的选择,我这次姑且先选型shiro。shiro简介Apache Shiro是一款提供了身份认证、授权管理、加密以及session管理的强大且便捷的框架,通过其便捷的API可以有效地加强后台服务器安全校验,且应用

2017-10-11 15:32:27 469 1

原创 稍微修补后的一个jsp window资源管理页面

背景就不多说了,使用webshell纵览系统资源的工具应该还是很便利的,但是由于之前网上的版本太过简陋,根本连编译都不会通过,这种写法charAt(i)==’//’? exm?这种写法大学生都知道会报错好吧?这还像将就着用?更不用说“/r/n”这种低级错误了,你用都比这个好啊喂。这里直接贴上可以使用的jsp,后续再整个Linux版本的好了。"text/html; charset=UTF

2017-08-31 12:16:05 293

原创 升级Glibc2.14的坑爹记录

勇敢的骚年哟,请问你要的是这个glibc2.12呢还是这个glibc2.14呢。。。由于隔壁部门坑爹的SO,需要我把glibc升级到2.14,于是苦逼的程序员开始了艰辛的升级之旅~~升级的过程不用说了,网上一抓一大把,粗制滥造的就算了,CSDN上有很多篇很详细的文章,不过纵观全网大量的文章居然都漏了一个重要步骤,直接就导致了后面locale的设置问题。大部分教程make && make instal

2017-08-28 16:36:22 9746 13

原创 kettle6.0基础功能实战

业务背景因为公司业务,需要进行国内-海外部分业务数据的同步,早期本来方案选定直接做MySQL主从,但是考虑到同步过程中不需要同步所有数据库表,且单表中也需要根据业务情况,筛选出海外的数据,因此MYSQL直接做主从复制不符合预期。最终选型了kettle。Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移,我们使用的是6.1版本,目前网上对该版本的介绍还比较少,所以很多功能还是靠自己摸索

2017-08-18 10:45:30 10673

空空如也

空空如也

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

TA关注的人

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