<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[你的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/w8998036</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; w8998036]]></copyright><item><title><![CDATA[【doris】doris部署]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/157974029</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/157974029</guid><author>w8998036</author><pubDate>Wed, 11 Feb 2026 14:22:54 +0800</pubDate><description><![CDATA[部署ms===================================以下操作在doris账户下操作。部署fe===================================以下操作在doris账户下操作。部署be===================================以下操作在doris账户下操作。创建STORAGE VAULT===================================部署foundationdb=======================]]></description><category></category></item><item><title><![CDATA[【paimon-trino】trino整合paimon元数据访问s3]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/157178619</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/157178619</guid><author>w8998036</author><pubDate>Tue, 20 Jan 2026 15:57:43 +0800</pubDate><description><![CDATA[本文记录了Trino 440与Paimon插件集成的技术实践。核心挑战在于Trino 440严格的HDFS依赖隔离机制，导致包含Hadoop包的插件无法启动。通过深入排查，发现关键参数fs.hadoop.enabled=false可绕过HDFS扫描，同时配合AWSSDKv2实现S3访问。最终配置方案包括禁用Hadoop路径扫描、启用原生S3驱动等参数调整，成功实现了Paimon在高版本Trino下的&quot;软着陆&quot;。这一实践揭示了现代数据系统&quot;去Hadoop化&quot;趋势下的兼容]]></description><category></category></item><item><title><![CDATA[【JMX JVM监控】Prometheus读取Trino的JMX数据到Grafana展示]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/144134598</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/144134598</guid><author>w8998036</author><pubDate>Tue, 03 Dec 2024 09:50:49 +0800</pubDate><description><![CDATA[JMX Exporter 利用 Java 的 JMX 机制来读取 JVM 运行时的一些监控数据，然后将其转换为 Prometheus 所认知的 metrics 格式，以便让 Prometheus 对其进行监控采集。配置步骤。]]></description><category></category></item><item><title><![CDATA[【rancher镜像】修改rancher官方镜像仓库为私有仓库]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/141640796</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/141640796</guid><author>w8998036</author><pubDate>Wed, 28 Aug 2024 15:15:32 +0800</pubDate><description><![CDATA[在使用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官方文档私有镜像仓]]></description><category></category></item><item><title><![CDATA[【kyuubi k8s】kyuubi发布k8s执行spark sql]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/139744081</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/139744081</guid><author>w8998036</author><pubDate>Mon, 17 Jun 2024 15:42:55 +0800</pubDate><description><![CDATA[准备好kyuubi的包，spark包，jdk包，还有上篇中重点提到的aws包：awsicelib目录下的jar，还有一点将k8s的config也要打包进来，否则无法通过k8s的认证，没法提交任务。依据上一篇kyuubi与spark集成，并发布spark sql到k8s集群，上一篇的将kyuubi和spark环境放在本地某台服务器上的，为了高可用，本篇将其打包镜像，并发布到k8s。我的busycommand，10s钟检测一次，如果进程没了，重新启动kyuubi。k8s中生成2个executors。]]></description><category></category></item><item><title><![CDATA[【kyuubi-spark】从0-1部署kyuubi集成spark执行spark sql到k8s读取iceberg的minio数据]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/139528924</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/139528924</guid><author>w8998036</author><pubDate>Sat, 08 Jun 2024 10:23:59 +0800</pubDate><description><![CDATA[在初次研究了spark sql，发现没有能实时返回数据的方式，spark更着重于执行任务处理，而对于客户端交互没有很好的支持。在搜索了大量资料及chatgpt的帮助下，找到了用kyuubi驱动sparksql来与客户端交互的方法。]]></description><category></category></item><item><title><![CDATA[【大数据架构】基于流式数据的大数据架构升级]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/139539445</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/139539445</guid><author>w8998036</author><pubDate>Sat, 08 Jun 2024 09:32:35 +0800</pubDate><description><![CDATA[团队在升级大数据架构，摒弃了原来基于hadoop的架构，因此抛弃了hive，hdfs，mapreduce这一套，在讨论和摸索中使用了新的架构。]]></description><category></category></item><item><title><![CDATA[【iceberg数据一致性】iceberg如何保证高并发数据一致性]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/139000424</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/139000424</guid><author>w8998036</author><pubDate>Fri, 17 May 2024 14:01:17 +0800</pubDate><description><![CDATA[那么在高并发的时候，同时操作某张表时是如何运作的呢？其实这里iceberg引用了乐观锁的方法。其实在写入数据的时候是有一个验证的操作的，即在准备写入时会检查原文件和带写入文件的差异，如果存在本次写入数据以外的数据，则代表有其他操作已经更新了原文件，那么本次写入会取消，并重试写入的步骤，知道验证完成，写入完成，如此就保证了数据的一致性，并且也解决了HMS锁的问题。在使用iceberg写数据时，一直弄不清楚为什么iceberg写入快，并且能够保证数据的一致性。今天决定搞清楚这个问题，经过查询和理解，写下来。]]></description><category></category></item><item><title><![CDATA[【spark operator】spark operator动态分配executor]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/136560078</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/136560078</guid><author>w8998036</author><pubDate>Fri, 08 Mar 2024 14:16:18 +0800</pubDate><description><![CDATA[之前在使用spark operator的时候必须指定executor的个数，在将任务发布到spark operator后，k8s会根据指定的个数启动executor，但是对于某些spark sql可能并不需要用到那么多executor，在此时executor的数量就不好控制了。根据pod启动的时间可以看出，先生成了2个executor，在16s后又生成了1个，最后完成，可以看出executor确实根据任务的执行情况动态生成了。executor从2个到3个，3个到4个，是动态的！再测试一个join的sql。]]></description><category></category></item><item><title><![CDATA[【Java Kubernates】Java调用kubernates提交Yaml到SparkOperator]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/135821058</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/135821058</guid><author>w8998036</author><pubDate>Wed, 24 Jan 2024 15:57:14 +0800</pubDate><description><![CDATA[最终我选择了fabric8io，因为我们需要使用k8s的自定义资源sparkApplication，对于自定义资源，kubernetes-client/java需要创建各个k8s对象的pojo，比较麻烦。这里提一下，我在重新使用spark operator的时候，发现原来官方的google的spark operator镜像已经不能拉取了，貌似是google发现它的两个镜像存在漏洞，所以关闭了开源镜像。目前查询框架使用的是trino，但是trino也有其局限性，需要准备一个备用的查询框架。]]></description><category></category></item><item><title><![CDATA[【大数据HA】keepalived结合haproxy实现高可用的HMS]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/135366584</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/135366584</guid><author>w8998036</author><pubDate>Wed, 03 Jan 2024 16:47:40 +0800</pubDate><description><![CDATA[上一篇实现了haproxy代理后端HMS服务实现高可用。但是对于haproxy还是单点故障，所以需要对haproxy进一步做HA，实现真正的后端服务的HA。

要实现haproxy的HA，需要使用到keepalived，使用keepalived是VIP虚拟IP服务，实现故障转移]]></description><category></category></item><item><title><![CDATA[【大数据HA】HAProxy实现thrift协议HMS服务的高可用-附Chatgpt协助截图]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/135152976</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/135152976</guid><author>w8998036</author><pubDate>Fri, 22 Dec 2023 15:53:36 +0800</pubDate><description><![CDATA[之前发布了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访问数据。]]></description><category></category></item><item><title><![CDATA[【docker】修改docker的数据目录]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/135057860</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/135057860</guid><author>w8998036</author><pubDate>Mon, 18 Dec 2023 11:06:16 +0800</pubDate><description><![CDATA[主节点是分配了较少内存和存储的低配机器，因为我们系统的rancher是用docker镜像启动的，而rancher和docker的默认目录都放在/var/lib下面，而这个/var目录目前只分配10G的存储，导致节点存储报警。因此想修改docker的数据目录，把它移走，过程也很简单。其中第三步可能花费一些时间，可耐心等待。]]></description><category></category></item><item><title><![CDATA[【Harbor Https】Harbor部署https并配置containerd拉取镜像]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/134879332</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/134879332</guid><author>w8998036</author><pubDate>Fri, 08 Dec 2023 15:53:10 +0800</pubDate><description><![CDATA[新项目，要接手另一个k8s集群，那个集群是kubernates1.24的rke2版本，里面已经不用docker容器了，使用了containerd容器来生成pod，因此需要变化我们以前的docker使用方式。containerd的镜像仓库配置地址在 /etc/rancher/rke2/registries.yaml，修改该文件，将harbor地址，证书配置进去，具体的配置参数和方法可以参考官方文档。修改harbor.yml的https配置，这里我修改了默认端口为1443，并引入服务端证书。]]></description><category></category></item><item><title><![CDATA[【大数据】Docker部署HMS(Hive Metastore Service)并使用Trino访问Minio及HDFS]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/134568944</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/134568944</guid><author>w8998036</author><pubDate>Thu, 23 Nov 2023 11:28:28 +0800</pubDate><description><![CDATA[团队要升级大数据架构，需要摒弃hadoop，底层使用Minio做存储，应用层用trino火spark访问minio。在使用trino访问minio时，需要使用hive的metastore service，经过调查HMS(Hive Metastore Service)是可以独立于hive组件的，即不需要整体安装hive，只部署HMS就可以使用trino通过HMS来访问minio。]]></description><category></category></item><item><title><![CDATA[【java】java访问https并验证账号密码]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/131007179</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/131007179</guid><author>w8998036</author><pubDate>Fri, 02 Jun 2023 15:17:17 +0800</pubDate><description><![CDATA[java访问https，获取页面或者数据时，需要证书和账号密码的验证。]]></description><category></category></item><item><title><![CDATA[【log4j漏洞】log4j 1.x漏洞依赖包解决方案]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/130502279</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/130502279</guid><author>w8998036</author><pubDate>Fri, 05 May 2023 11:27:25 +0800</pubDate><description><![CDATA[那么自己的程序中确定是没有引用了，那log4j的引用必定是程序中的第三方依赖包了。如果觉得上面办法比较麻烦，也并不适合自己的场景，还有一个办法，这个办法只能躲过扫描，并未实际解决log4j漏洞问题，那就是将引入的log4j 1.2.17的包中的版本去改掉，直接修改配置中的版本号，就能躲过扫描。对于应用中我们自己写的程序全部替换为新版本。考虑了很久，某时灵光一闪，既然没有log4j的引用类，那么就在程序中创建这些类吧，这样log4j的几个自定义类仍然可以被其他包引用，而应用中又不需要引用log4j的原始包。]]></description><category></category></item><item><title><![CDATA[【java ORMapping】java反射实现简单ormapping框架]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/127065495</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/127065495</guid><author>w8998036</author><pubDate>Tue, 27 Sep 2022 10:09:23 +0800</pubDate><description><![CDATA[ORMapping框架简单实现，利用java反射机制。]]></description><category></category></item><item><title><![CDATA[【spark on kubernetes】spark operator访问hdfs，hive]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/122230496</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/122230496</guid><author>w8998036</author><pubDate>Thu, 30 Dec 2021 11:18:59 +0800</pubDate><description><![CDATA[前一篇部署了spark operator，这边介绍spark访问hdfs，hive数据



一. 编写代码

Java代码，访问hdfs及访问hive


package 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]]></description><category></category></item><item><title><![CDATA[【spark on kubernetes】spark operator部署安装 v1beta2-1.2.0-3.0.0]]></title><link>https://blog.youkuaiyun.com/w8998036/article/details/122217230</link><guid>https://blog.youkuaiyun.com/w8998036/article/details/122217230</guid><author>w8998036</author><pubDate>Wed, 29 Dec 2021 16:53:08 +0800</pubDate><description><![CDATA[最近开始研究spark on kubernetes，经过调研，spark on kubernetes有两种方案，一种是官方的spark提供的原生支持按照spark-submit方式提交任务，第二种是google基于kubernetes提供的spark operator方案，还是按照kubernetes声明式语法提交任务。



一. spark on kubernetes区别


			
			spark on k8s
			
			
			spark on k8s operator
			
		社区支持
]]></description><category></category></item></channel></rss>