自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (8)
  • 收藏
  • 关注

原创 【spark operator】spark operator动态分配executor

之前在使用spark operator的时候必须指定executor的个数,在将任务发布到spark operator后,k8s会根据指定的个数启动executor,但是对于某些spark sql可能并不需要用到那么多executor,在此时executor的数量就不好控制了。根据pod启动的时间可以看出,先生成了2个executor,在16s后又生成了1个,最后完成,可以看出executor确实根据任务的执行情况动态生成了。executor从2个到3个,3个到4个,是动态的!再测试一个join的sql。

2024-03-08 14:16:18 1098

原创 【Java Kubernates】Java调用kubernates提交Yaml到SparkOperator

最终我选择了fabric8io,因为我们需要使用k8s的自定义资源sparkApplication,对于自定义资源,kubernetes-client/java需要创建各个k8s对象的pojo,比较麻烦。这里提一下,我在重新使用spark operator的时候,发现原来官方的google的spark operator镜像已经不能拉取了,貌似是google发现它的两个镜像存在漏洞,所以关闭了开源镜像。目前查询框架使用的是trino,但是trino也有其局限性,需要准备一个备用的查询框架。

2024-01-24 15:57:14 1196

原创 【大数据HA】keepalived结合haproxy实现高可用的HMS

上一篇实现了haproxy代理后端HMS服务实现高可用。但是对于haproxy还是单点故障,所以需要对haproxy进一步做HA,实现真正的后端服务的HA。要实现haproxy的HA,需要使用到keepalived,使用keepalived是VIP虚拟IP服务,实现故障转移

2024-01-03 16:47:40 853

原创 【大数据HA】HAProxy实现thrift协议HMS服务的高可用-附Chatgpt协助截图

之前发布了HMS服务,现在需要支持HA,那么需要启动两个HMS(使用docker启动的),并且两个HMS指向同一个mysql数据库,这样在两个HMS之间可以实现HA,所以重新做了一个HMS的服务,在两台虚机上虚机一:wuxdihadl03b,IP 10.40.8.44,部署了HMS和mysql服务虚机二:wuxdihadl04b,IP 10.40.8.45,部署了HMS服务使用trino访问了两个HMS实例,均能访问HMS及后端的minio数据trino的catalog配置trino访问数据。

2023-12-22 15:53:36 1400

原创 【docker】修改docker的数据目录

主节点是分配了较少内存和存储的低配机器,因为我们系统的rancher是用docker镜像启动的,而rancher和docker的默认目录都放在/var/lib下面,而这个/var目录目前只分配10G的存储,导致节点存储报警。因此想修改docker的数据目录,把它移走,过程也很简单。其中第三步可能花费一些时间,可耐心等待。

2023-12-18 11:06:16 1053 1

原创 【Harbor Https】Harbor部署https并配置containerd拉取镜像

新项目,要接手另一个k8s集群,那个集群是kubernates1.24的rke2版本,里面已经不用docker容器了,使用了containerd容器来生成pod,因此需要变化我们以前的docker使用方式。containerd的镜像仓库配置地址在 /etc/rancher/rke2/registries.yaml,修改该文件,将harbor地址,证书配置进去,具体的配置参数和方法可以参考官方文档。修改harbor.yml的https配置,这里我修改了默认端口为1443,并引入服务端证书。

2023-12-08 15:53:10 1803

原创 【大数据】Docker部署HMS(Hive Metastore Service)并使用Trino访问Minio及HDFS

团队要升级大数据架构,需要摒弃hadoop,底层使用Minio做存储,应用层用trino火spark访问minio。在使用trino访问minio时,需要使用hive的metastore service,经过调查HMS(Hive Metastore Service)是可以独立于hive组件的,即不需要整体安装hive,只部署HMS就可以使用trino通过HMS来访问minio。

2023-11-23 11:28:28 2907

原创 【java】java访问https并验证账号密码

java访问https,获取页面或者数据时,需要证书和账号密码的验证。

2023-06-02 15:17:17 3648

原创 【log4j漏洞】log4j 1.x漏洞依赖包解决方案

那么自己的程序中确定是没有引用了,那log4j的引用必定是程序中的第三方依赖包了。如果觉得上面办法比较麻烦,也并不适合自己的场景,还有一个办法,这个办法只能躲过扫描,并未实际解决log4j漏洞问题,那就是将引入的log4j 1.2.17的包中的版本去改掉,直接修改配置中的版本号,就能躲过扫描。对于应用中我们自己写的程序全部替换为新版本。考虑了很久,某时灵光一闪,既然没有log4j的引用类,那么就在程序中创建这些类吧,这样log4j的几个自定义类仍然可以被其他包引用,而应用中又不需要引用log4j的原始包。

2023-05-05 11:27:25 3855

原创 【java ORMapping】java反射实现简单ormapping框架

ORMapping框架简单实现,利用java反射机制。

2022-09-27 10:09:23 5810

原创 【spark on kubernetes】spark operator访问hdfs,hive

前一篇部署了spark operator,这边介绍spark访问hdfs,hive数据一. 编写代码Java代码,访问hdfs及访问hivepackage com.seagate.client.zyspark;import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import

2021-12-30 11:18:59 10225

原创 【spark on kubernetes】spark operator部署安装 v1beta2-1.2.0-3.0.0

最近开始研究spark on kubernetes,经过调研,spark on kubernetes有两种方案,一种是官方的spark提供的原生支持按照spark-submit方式提交任务,第二种是google基于kubernetes提供的spark operator方案,还是按照kubernetes声明式语法提交任务。一. spark on kubernetes区别 spark on k8s spark on k8s operator 社区支持

2021-12-29 16:53:08 11054

原创 【trino ssl】使用rancher部署trino ssl到kubernestes

这边介绍trino在kubernetes上的安装,这个过程遇到了几个难缠的问题,耗费了3周左右,其实都是小问题,但是在部署的过程中没有考虑到,导致时间拉长了。一.打包镜像第一步使用trino363打包镜像,使用dockerfile,基本上与之前介绍的presto on kubernetes没有变化FROM pythonMAINTAINER 682556RUN useradd --create-home --no-log-init --shell /bin/bash hiveRU..

2021-12-06 09:24:18 11302

原创 【trino https】trino权限验证开启https

一. 背景presto使用的很顺利,项目要求把presto的账号开放出去,供其他用户自己使用。因为目前的presto的jdbc链接是没有口令的,只要拿到这个链接,任何人都可以使用,且无法追踪任务提交的用户,这对presto和集群是一个大的风险,因此需要给presto加上权限控制。因为presto有两个版本,一个是目前的facebook的prestodb,更新到0.265.1,目前我们使用的prestodb0.220,另一个是创始团队重新创建的一个项目叫trino,更新到364版本。在调查了双方的官方安装

2021-12-03 16:26:31 12812

原创 【kubernetes】关于HPA的behavior的说明

项目中在使用hpa来弹性扩缩pod,使用到了hpa的behavior字段,去查询了该字段的用法,在使用中发现与预期的结果不一致,这里记录一下问题及理解。官方的link​​​​​​Pod 水平自动扩缩 | KubernetesPod 水平自动扩缩(Horizontal Pod Autoscaler) 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量。 除了 CPU 利用率,也可以

2021-10-12 13:29:59 9575

原创 【jvisualVM】jvisualVM监控程序运行时内存变化

<iframe src="//player.bilibili.com/player.html?aid=419341166&bvid=BV1hV411p757&cid=373970191&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

2021-07-21 16:09:31 8273

原创 【算法】一个数去首位去末位解答

逛脉脉的时候,偶然看到一个数学题,觉得挺有意思,来兴致,做了个程序解答解答:package com.seagate.zyproject;public class CalSpecDigit { /** * 一个数字去掉首位是18,去掉末位是60,这个数字是多少? * example(3进制,去首位18,去末位60) * example(8进制,去首位296,去末位485) * @param args */ public static void main(.

2021-07-15 10:27:52 8554 1

原创 【性能测试】记一次性能测试

先起个标题,待编辑

2021-05-28 16:24:06 9003

原创 【presto on kubernates】presto on kubernates解决方案2

同上篇文章,上篇文章使用了两个镜像presto coordinator和worker,这篇文章展示只用一个镜像,并且动态配置presto参数的情况一。 镜像打包首先删除presto中内存参数,jvm参数的设置文件。保留hive的链接文件(这里hive的链接也可以配置动态,因为hive的链接不会经常变动,所以直接打在镜像里)接下去编写Dockerfile,与前面类似FROM pythonMAINTAINER 682556RUN useradd --create-home -.

2021-04-02 16:41:37 7742

原创 【presto on kubernates】presto on kubernates解决方案

最近研究了kebernates的弹性计算HPA,可以根据CPU和Memory的阈值设定弹出pod的数量。HPA研究过后,组内建议是否可以将presto部署到kubernates集群上,于是便开始着手部署presto到kubernates。一 presto镜像打包镜像打包我分开了coordinate和worker两个镜像coordinate镜像打包:打包presto首先找一个presto的部署包,我之前在测试环境部署了一个presto 0.220,1个master(主节点也充当work.

2021-03-09 11:47:15 8257

原创 【presto】presto通过hive读取hdfs子目录数据问题

团队成员在做存储时遇到一个问题,在hdfs目录写了数据后,使用hive外部表挂载,挂载的目录如下/datamart-kafka-compare-OUT/datamart_kafka_compare_OUT/T_626而实际在T_626目录下还不是文件,还是目录(忽略红框这条,这条是后来从子目录拷贝出来的),如此在presto查询时,使用count查出来数据为0,而hive查询可以查出数据。presto查询略过,数据为0hive查询结果为了测试是否是无法读取子目录的问题,把红框这个

2021-01-21 16:45:11 9587

原创 【session共享】tomcat+redis实现session共享

做了k8s集群服务,免不了后端session共享的问题,此文简单记录tomcat+redis存储session的实现共享的操作。首先说明tomcat8的问题,我原来的tomcat版本是8,在网络上找了很多文章也尝试了操作的很多方法,结果证明tomcat8的redis session共享集成还存在问题,不能成功,因此还是别无他法的改成tomcat7.1)redis服务要起来,这里redis的安装启动不做说明2)下载tomcat+redis集成包,里面有三个jar。下载完成放到/tomcat/lib

2020-11-09 11:19:01 8235

原创 【kubernates】kubernates使用ingress部署ingress-nginx访问tomcat

上一篇介绍了单独nginx部署和tomcat部署,然后nginx转向tomcat的部署方式。本文使用k8s的ingress来部署nginx指向tomcat。ingress介绍参考https://www.cnblogs.com/gaofeng-henu/p/12463697.html什么是IngressIngress是kubernetes中用来对集群外部进来的请求进行负载、路由控制的一种机制。通过ingress,可以方便的将集群内的service以http或https方式对外提供服务,而.

2020-11-03 09:44:59 7841

原创 【kubernates】kubernates部署nginx访问tomcat

接上篇,kubernate结合nginx部署service访问tomcat,上一篇已经部署了tomcat的javaweb程序,下面介绍nginx部署及与tomcat的链接一:首先创建nginx镜像首先拉一个nginx的镜像做环境docker pull hub.c.163.com/library/nginx:latest下载一个nginx包,修改里面的nginx.conf#user nobody;worker_processes 1;#error_log logs/e.

2020-10-20 10:28:29 7470

原创 【kubernates】kubernates发布javaweb程序

结合上篇文章,从harbor下载镜像javaweb程序,并使用kubernates来部署镜像。一:kubernates集群kubernates集群已经安装好了,3个主节点,3个node节点Harbor镜像,拉取idat3镜像二:镜像拉取选择一个主节点10.38.150.61进控制台,拉取镜像#登入Harbordocker login -u admin -p Harbor12345 10.38.150.64:8090#拉取镜像docker pul...

2020-10-09 16:56:55 6809

原创 【CI/CD】docker结合gitlab-runner自动发布

最近team内对k8s,docker比较感兴趣,想了解CI/CD相关的内容,我争取了该任务,做了些相关的工作,研究了大概一个礼拜,初步完成了从gitlab代码提交用docker自动发布版本的工作(还未涉及k8s),在此记录一 涉及到的软件版本 版本 介绍 docker 19.03.8 不知道的不用往下看了 git 2.28.0 windows 分布式版本控制系统 gitlab 12.5.5 一个用于仓库管理系统的开源项目,使用Git..

2020-09-16 17:00:43 8036

原创 【gitlab-runner】gitlab-runner安装注册到https的gitlab

gitlab是一个代码托管工具,开源。gitrunner是一个持续集成工具(CI CD),只要gitlab代码有提交,gitlab-runner就会自动部署。很方便。gitlab-runner安装过程记录centos7 安装下载安装包sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/v12.8.0/binaries/gitlab-runner-linux.

2020-09-11 14:15:44 10071

原创 【d3】d3画图样式图例

以下d3的chart都是本人实践画过的,当然也花费了很多时间和精力,如有需要可以私信我要源码。一 简单拟合大体数据格式,后台计算拟合曲线返回formula,前端画图二 box plot计算出关键参数,画图三 椭圆图此图的画法,其实并不是直接给出的椭圆的关键参数画的。再后台计算椭圆数据时,采用的某个api返回的值是椭圆上的点,因此在前端直接显示的这些点,只要数量够,直观显示的就是椭圆形状。可以看出上图的椭圆中间曲线是空的四 mosic plot..

2020-09-02 16:11:15 7433

原创 【presto】Encountered too many errors talking to a worker node. The node may have crashed or be under

生产设置的presto集群的并发任务是10个,队列200。43台worker,每台分配15G内存。今天由于任务量过大,而且大查询任务很多,导致很多sql跑的很慢,并且有些sql在跑到99%的时候一直pengding,到了timeout时间就抛错了点进去看报错原因,发现以下报错com.facebook.presto.spi.PrestoTransportException: Encountered too many errors talking to a worker n..

2020-07-17 15:12:47 8215

原创 【http post】post传输数据大小

之前知道get请求对url请求长度有限制,post请求没有限制。今天在做程序的时候遇到了这个问题。场景:我需要将前端生成的Svg图片转化base64生成字符串传入后台,后台根据字符串解码生成到PPT里面。附:前端将svg生成图片的工具:saveSvgAsPng.js第三方js。https://github.com/exupero/saveSvgAsPng,后端将数据图片生成PPT使用的是P...

2020-05-07 14:19:27 30633

原创 【逆向思维】yarn node label生产共用问题

生产背景presto on yarn已经测试完毕,准备上生产,生产环境严格,不允许有任何影响生产的因素。生产共50个节点,要求是固定10台节点跑presto,且不能影响原有的mapreduce(无标签application)程序,即50台节点也必须都能被mapreduce程序分配到。在之前的测试中,固定10台节点中一台打coordinator标签,9台打worker标签,启动presto。存在...

2020-04-16 10:36:15 701 2

原创 【presto on yarn】问题UnknownHostException和重启节点

一.java.net.UnknownHostException: seacluster在presto on yarn启动之后,在presto-cli控制台访问hive的数据库,不论是show schemas还是show tables都能成功但是真正用sql去查询表的时候,却会报java.net.UnknownHostException: seacluster。这里的seaclu...

2020-03-19 12:26:11 2234 6

原创 【postgres】postgres数据库备份还原

安装过程转载https://blog.csdn.net/wlwlwlwl015/article/details/52399739数据库备份命令pg_dump -h 10.38.199.220 -U postgres seadoop > seadoop.bak将bak文件移动到目标服务器还原数据库命令psql -h localhost ...

2019-12-20 15:24:06 452 1

原创 【yarn node label】yarn node label设置presto主节点(接上一篇)

接上篇https://blog.csdn.net/w8998036/article/details/101522048,安装好presto on yarn之后,presto集群的coordinator主节点是由yarn自动分配的,那么每次访问presto的时候地址都会变,在程序中就没法固定presto的连接参数,此问题可以由yarn node label来解决使用node label需要...

2019-10-22 14:50:25 1158 5

原创 【presto on yarn】解决方案

一.前言项目架构升级,从hadoop2.7升到3.X,需要从批处理转变到实时流。大半年一直在做数据导入,没有很好的方案。目前在尝试的使用kafka分发文件,解码程序解码文件,落到flume,flume直接写hdfs。其中每天需要先建立hdfs文件目录,hive外部表挂载hdfs目录。因为patition目录结构有4层,导致小文件很多,写入速度很慢。一小时的数据流入需要四小时才能完全导入。我...

2019-09-27 14:22:35 3429 19

原创 【java】java面试查漏补缺

转载:https://mp.weixin.qq.com/s?__biz=MzA4Mzc0NjkwNA==&mid=2650789056&idx=2&sn=d902582df38fdd6859e98fbdee847ba7&chksm=87fabdf7b08d34e13b6d2251ee9be2e0e71d79913692a37e8f739ba4d5f5cd7a53df...

2019-07-30 13:42:46 120

原创 【pyspark】jupyter notebook安装

经用户要求,需要安装jupyter notebook供其使用来调用我们集群的spark,因此需要搭建jupyter环境并启动我们的jupyter主要是提供python代码的编写,且在python中调用pyspark来使用集群的spark资源。查找了网上的教程和博客,记录下自己安装jupyter的过程和问题前置条件服务器已经安装了python(我用的2.7) 服务器已经安装了spa...

2019-07-04 10:31:43 1682

原创 【hive外部表复制】hadoop数据复制及挂载hive外部表

场景公司有生产的hadoop(2.7)集群,现在需要搭建新的hadoop(3.1)集群,想要废弃mapreduce,使用其他的运算框架。选择了sparksql和presto需要做测试。那么新的集群是没有数据的,需要从生产导一些数据过来。策略1.使用hadoop命令从原集群的某个表的文件目录赋值到新的集群目录2.创建hive表,并分区3.新的集群文件挂载到hive表...

2019-06-20 16:54:27 896

原创 【Eclipse打包】Eclipse打第三方包的可执行jar出现的问题

使用eclipse打项目的可执行jar包,目录如下右键选择export,选择Runnable JAR fileNext,在launch configration选择需要执行的main函数入口,export导出地址,第三项Library handling有三个选项:第一种方式把第三方依赖的jar包解压出来成class,与你的程序class按照目录结构统一放置...

2019-06-20 09:58:39 776

原创 【远程调用传参】java.io.InvalidClassException: failed to read class descriptor

使用远程过程调用时,如果要传参对象,必须要保证两边类的包前缀及两边类的序列化号码一致,否则有可能报错一:客户端客户端Nio测试,传入的obj对象包名是com.seagate.client.bean.curr.CurrQueryJob,且序列化ID与服务端一致CurrQueryJob对象二:服务端服务端Handler,com.seagate.client.bea...

2019-06-17 15:13:07 1006 1

presto on kubernetes-present

presto on kubernetes介绍

2021-12-17

BDTC_zhenyang.pptx

BDTC大会总结的ppt

2021-12-17

trino-https-authority.docx

trino https配置文档

2021-12-17

googlemap.zip

googlemap.zip

2021-03-09

gameData.zip

gameData.zip

2021-03-09

R-algorithm.pptx

R-algorithm.pptx

2021-03-09

tomcat-redis集成包

tomcat-redis集成session 的包,适用tomcat7,有三个,直接放到/tomcat/lib下面,修改context.xml,添加两行

2020-11-09

presto on yarn安装部署.docx

presto on yarn的安装部署文档。已经在测试环境安装,可访问生产环境hive数据,访问速度快。presto版本0.220

2020-01-20

空空如也

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

TA关注的人

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