自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【rancher镜像】修改rancher官方镜像仓库为私有仓库

在使用rancher构建k8s时,由于中国区网络问题经常没法访问docker的官方仓库镜像docker.io,而rancher在构建k8s时,会默认从docker.io去下载镜像,由于网络原因,构建就会存在问题,镜像无法下载,rancher的组件没法初始化比如以下,rancher无法从官方仓库下载到rancher/shell:v0.1.21,rancher/mirrored-coredns-coredns:1.10.1等等修改rancher默认的镜像仓库到指定仓库具体可以参考rancher官方文档私有镜像仓

2024-08-28 15:15:32 432

原创 【kyuubi k8s】kyuubi发布k8s执行spark sql

准备好kyuubi的包,spark包,jdk包,还有上篇中重点提到的aws包:awsicelib目录下的jar,还有一点将k8s的config也要打包进来,否则无法通过k8s的认证,没法提交任务。依据上一篇kyuubi与spark集成,并发布spark sql到k8s集群,上一篇的将kyuubi和spark环境放在本地某台服务器上的,为了高可用,本篇将其打包镜像,并发布到k8s。我的busycommand,10s钟检测一次,如果进程没了,重新启动kyuubi。k8s中生成2个executors。

2024-06-17 15:42:55 784

原创 【kyuubi-spark】从0-1部署kyuubi集成spark执行spark sql到k8s读取iceberg的minio数据

在初次研究了spark sql,发现没有能实时返回数据的方式,spark更着重于执行任务处理,而对于客户端交互没有很好的支持。在搜索了大量资料及chatgpt的帮助下,找到了用kyuubi驱动sparksql来与客户端交互的方法。

2024-06-08 10:23:59 1861

原创 【大数据架构】基于流式数据的大数据架构升级

团队在升级大数据架构,摒弃了原来基于hadoop的架构,因此抛弃了hive,hdfs,mapreduce这一套,在讨论和摸索中使用了新的架构。

2024-06-08 09:32:35 1117

原创 【iceberg数据一致性】iceberg如何保证高并发数据一致性

那么在高并发的时候,同时操作某张表时是如何运作的呢?其实这里iceberg引用了乐观锁的方法。其实在写入数据的时候是有一个验证的操作的,即在准备写入时会检查原文件和带写入文件的差异,如果存在本次写入数据以外的数据,则代表有其他操作已经更新了原文件,那么本次写入会取消,并重试写入的步骤,知道验证完成,写入完成,如此就保证了数据的一致性,并且也解决了HMS锁的问题。在使用iceberg写数据时,一直弄不清楚为什么iceberg写入快,并且能够保证数据的一致性。今天决定搞清楚这个问题,经过查询和理解,写下来。

2024-05-17 14:01:17 464

原创 【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 1410

原创 【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 1427 2

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

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

2024-01-03 16:47:40 1024

原创 【大数据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 1602

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

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

2023-12-18 11:06:16 1271 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 2476

原创 【大数据】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 3658

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

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

2023-06-02 15:17:17 3906

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

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

2023-05-05 11:27:25 4192

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

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

2022-09-27 10:09:23 5937

原创 【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 10462

原创 【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 11540

原创 【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 11459

原创 【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 13462

原创 【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 9863

原创 【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 8382

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

逛脉脉的时候,偶然看到一个数学题,觉得挺有意思,来兴致,做了个程序解答解答: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 8629 1

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

先起个标题,待编辑

2021-05-28 16:24:06 9254

原创 【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 7766

原创 【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 8293

原创 【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 9698

原创 【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 8316 1

原创 【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 7881

原创 【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 7492

原创 【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 6833

原创 【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 8164 1

原创 【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 10479 1

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

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

2020-09-02 16:11:15 7525

原创 【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 8469

原创 【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 34103 1

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

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

2020-04-16 10:36:15 731 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 2383 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 483 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 1229 5

原创 【presto on yarn】解决方案

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

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

kyuubi集成spark时需要访问local s3的包

kyuubi1.9集成spark3.5.0时需要访问local s3的包,其中缺少了aws-java-sdk-bundle-1.12.262.jar,iceberg-spark-runtime-3.5_2.12-1.5.0.jar。这两个太大,自行下载

2024-06-08

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关注的人

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