- 博客(469)
- 问答 (7)
- 收藏
- 关注
原创 知识点24--SpringBoot中使用SSE
摘要:SSE(Server-Sent Events)是一种基于HTTP协议的服务器推送技术,与WebSocket相比具有单向通信、仅支持文本数据的特点。本文通过SpringBoot实现演示了SSE的核心用法,主要包括:1)建立SSE连接时生成唯一客户端ID和SseEmitter对象;2)实现广播消息功能,遍历所有客户端发送消息;3)支持向特定客户端发送私密消息。代码展示了连接管理、事件构建和错误处理等关键实现,适用于消息通知等轻量级推送场景。
2025-11-24 17:11:28
494
原创 知识点23--SpringBoot的WebSocket
本文介绍了如何在SpringBoot中使用WebSocket实现一个简单的聊天室应用。首先需要引入spring-boot-starter-websocket依赖,然后创建一个WebSocket处理类(MyWebSocketHandler)来管理连接、消息处理和断开连接事件。处理类使用CopyOnWriteArrayList保证线程安全,实现消息广播功能。接着通过WebSocketConfig配置类注册处理程序并设置跨域访问。最后提供了前端HTML页面示例,包含聊天界面样式和WebSocket连接代码。该实现
2025-11-24 12:17:24
662
原创 个人用如何本地化部署模型
文章摘要:本文详细介绍了本地部署大语言模型(LLM)的完整流程,包括LM Studio、AnythingLLM和searXNG工具的安装配置,以及模型下载和联网搜索功能实现。作者强调本地部署仅适合体验需求,强调模型需要持续训练的重要性,指出企业自建模型效果不如官方的主要原因。部署过程涵盖模型选择(推荐GGUF格式)、工具配置、接口设置等关键步骤,并提供了具体的命令行操作和界面设置截图。最后通过AnythingLLM整合各组件实现完整的本地对话系统。
2025-11-15 00:40:50
993
原创 分离Hadoop客户端单独使用
客户端拿出来之后,一定要注意一个相当关键的问题,不要让执行客户端的服务器持有集群的ssh公钥串,正常执行hadoop fs等命令时,不涉及节点直接的交互,但如果你没有其他反制措施,比如改了客户端的源码加校验这种,则一旦对方持有了ssh串就会通过Linux的身份校验,说白了别人从官网下载一个完整包,在持有一个同名用户,拿着你的ssh串,替换你的配置文件就能操作你的集群了,很危险的事情这是。如果确实需要,则在谨慎保护公钥串的前提下,关闭集群管理用户的ssh登录以及密码登录,改成强制使用认证登录。
2025-11-14 16:36:45
437
原创 在浏览器中的数据公式如何开发
摘要:MathJax是实现网页LaTeX数学公式渲染的主流框架,支持全面的数学符号。通过在HTML中引入MathJax脚本,并配置tex参数,可实现行内公式(用$...$或(...))和块级公式(用$$...$$或[...])的渲染。示例代码展示了基本配置方法及不同形式的公式写法,包括爱因斯坦质能方程、积分公式和求和公式等典型数学表达式的实现方式。
2025-11-14 16:02:12
225
原创 hadoop节点扩容和缩容操作流程
Hadoop集群节点扩容与缩容操作指南 扩容时,需确保新节点配置(硬件、网络、Hadoop文件)与集群一致,启动DataNode和NodeManager后,集群会自动识别新节点,可通过Web UI或命令行验证。缩容需谨慎,通过创建排除列表文件并修改配置文件指定待移除节点,执行刷新命令触发优雅退役流程。HDFS会复制数据块至其他节点,YARN会等待任务完成,确认节点状态变为"Decommissioned"后方可安全停止服务。整个过程需通过监控工具确保数据完整性。
2025-11-14 16:00:58
1098
原创 挂网课脚本
摘要:本文展示了一个自动挂课脚本的实现代码。该脚本通过以下方式实现自动化学习:1) 解除页面焦点限制,允许后台播放;2) 自动触发视频播放并设置16倍速;3) 监听视频结束事件,自动点击"下一节"按钮。脚本兼容Flash和HTML5视频播放器,包含错误处理机制,通过递归调用实现连续播放。代码中还包含进度控制变量,可设置挂课步长。这种自动化方案适用于需要完成在线课程但不想手动操作的情况。
2025-11-11 18:54:55
99
原创 用于前端的icon图标如何自定义
放到你的前端项目中,fonts文件夹中是图标的资源文件,style.css文件是生效导入这些资源的样式文本,你只需要link就行,当然你也可以打开自己改其他属性,比较在页面上自动生成的东西有格式限制,但手改style.css文件就没有了。前端开发有一个很常见的问题,当较多的图标需求一起出现时,往往现有的公共类库是满足不了的,比如没有预期的图标、样式不满意等等,所以通常项目上会自定义一个单独的图标集合。网站中有免费用的现成图标,如果有合适的可以点击直接使用,左上角按钮上传自己的矢量图文件。
2025-10-10 18:32:10
303
原创 git忽略某些文件的推送
摘要:通过.gitignore文件配置Git忽略规则,每行指定一个路径模式(如/target/*.jar)。若文件已被追踪,需执行git rm --cached <文件>或git rm -r --cached <目录>移除索引但保留本地文件,使忽略规则生效。(99字)
2025-09-23 11:31:42
215
原创 前端左侧菜单列表怎么写
本文分享了前端开发中一级和二级菜单的实现方法。一级菜单使用HTML+CSS构建基础左侧导航,包含Font Awesome图标、悬停高亮和active状态切换。二级菜单在此基础上添加可展开子项功能,通过JavaScript控制子菜单的显示/隐藏。两种实现都采用flex布局,并包含响应式设计。文中强调实际开发中菜单层级通常不超过两级,类似短视频评论的父子关系展示方式。代码示例完整,包含HTML结构、CSS样式和JavaScript交互逻辑。
2025-09-18 17:17:22
1104
原创 PrestoDB配置用户和密码验证
PrestoDB提供两种密码验证方式:密码文件和LDAP服务。密码文件方式更简单,只需在配置文件中启用密码验证并创建包含bcrypt加密密码的文件。LDAP方式需要配置证书和LDAP服务连接,适合有专业安全团队的环境。两种方式都要求客户端连接时提供用户名和密码,密码文件方式对大多数用户来说更易实施且维护成本低。
2025-09-06 12:26:23
904
原创 OpenLDAP CentOS7 部署
本文详细介绍了OpenLDAP服务端和客户端的安装配置过程。主要内容包括:1) 通过yum安装openldap相关软件包;2) 启动slapd服务并设置开机自启;3) 使用slappasswd生成管理员密码;4) 创建并加载多个ldif配置文件,设置根密码、导入基础模式、定义域结构;5) 创建基础目录树;6) 关闭防火墙和SELinux;7) 验证服务正常运行;8) 推荐安装ldapscripts工具包简化操作。整个过程涵盖了从安装到基础配置的所有关键步骤,并提供了详细的命令和参数说明。
2025-09-03 17:41:02
652
原创 PrestoDB用jdbc连接
本文介绍了如何使用Presto JDBC进行安全连接。首先需要导入Maven依赖,然后提供了基本连接URL格式和Java代码示例。重点讲解了SSL安全连接的配置,包括生成Keystores和Truststores证书文件的方法,以及如何将证书导入到客户端。文中还详细列出了所有可用的连接参数,其中用户、密码、SSL、Kerberos凭证路径和密码是最常用的5个参数。最后给出了Presto服务端开启HTTPS的配置示例和Java连接代码模板。这些配置步骤对于保障生产环境中的数据传输安全至关重要。
2025-09-02 19:01:41
672
原创 大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建三
本文摘要: Azkaban 3.72.0集群部署指南,从源码编译开始详细记录搭建过程。重点包括:1)源码环境准备与依赖镜像源调整;2)Node.js和Gradle环境配置;3)多节点部署架构设计(1个Web+MySQL节点,2个Executor节点);4)MySQL数据库初始化注意事项;5)Web服务SSL证书生成方法;6)配置文件修改注意事项。特别强调国内网络环境下的编译问题和低版本MySQL驱动兼容性问题,提供完整的多执行器模式生产环境部署方案。
2025-08-28 23:13:27
883
原创 sparksql的transform如何使用
sparksql和hive都提供了transform方法,而且由于sparksql的抽象语法树复用了hive的原因,因此两者在用意上是一样的,都是提供一种UDF方式,因为在工作中不是每个人都非常了解数据开发的技术占,尤其是在注重运营的企业中多数人就不是技术出身,因此让这些人从头开发一个Java-UDF函数、经历注册、区分永久或临时函数、在学会使用,那将是一个大到可怕的沟通成本。所以sparksql和hive,提供了 transform 用来调用其他类库代码处理,以常见的Python类库为例语法如下。
2025-08-27 12:14:41
392
原创 hive如何将查询结果保存到一个路径下
上面这个语句最终的结果是在Hive运行的底层文件系统上,云原生是HDFS。反之如果你想要保存的执行命令的服务器上,只需要加上。这种方式的结果无法正常二次使用,只能用来观察数据之类的操作,因为结果的数据格式无法被程序二次反系列化。例如,如果你想将查询结果存储到HDFS的/user/hive/output路径下。如果你希望将查询结果写入一个文件,并且这个操作会覆盖目标路径中的现有文件,你可以使用。要格外说明一下,在工作中你会看到有的人使用如下的语句。
2025-08-27 10:58:35
189
原创 mirrors和profiles中repositories的区别
Maven中mirrors与profiles/repositories的主要区别在于:mirrors是镜像仓库,优先级最高,用于重定向匹配的仓库请求(如国内镜像加速),必须完全托管原始仓库内容;而profiles中的repositories是仓库声明,优先级较低但更灵活,可选择性启用特定仓库。mirrors通过<mirrorOf>控制重定向范围,而profiles可以按需配置不同环境下的仓库,支持更精细的发布/快照版本控制。
2025-08-15 12:53:00
272
原创 Windows10安装mysql8
本文详细介绍了在Windows系统上安装MySQL 8的完整流程。主要内容包括:1)强调必须下载mysql-installer-community包,避免使用x86.mis包;2)详细的旧版本卸载步骤,包括删除程序、系统文件、注册表项和环境变量;3)安装过程图解,从选择Custom安装到配置服务器、设置root密码等关键步骤;4)安装完成后的服务验证和权限配置。文章特别提醒了安装过程中的注意事项,并提供了完整的SQL语句来配置root用户远程访问权限。整个安装过程需要注意版本选择、旧版本彻底卸载和正确的配置
2025-08-07 00:09:11
844
原创 跨系统开发代码换行符如何解决
跨系统时的换行符,只会影响非编译类源码文件,比如脚本、配置文件读取等。对于已经在不同系统生成的文件,想要更改文件系统的所属属性只能找工具,如果要更改的结果是linux,可以使用。当然还有一个一劳永逸的办法,Idea支持远程开发,通常是把代码放在Linux系统上,办公电脑用远程开发就行。对于日常开发来说,需要开发工具做如下配置,即可保证后续新增的文件不会出现跨系统换行符问题。首先 git 运行如下命令,全局支持换行符的统一识别。随后,Idea中设置代码格式。
2025-07-12 18:39:15
219
原创 git reset报错Filename too long
不要改Windows系统配置没用,也不要全局配置,git bash以管理员运行会有问题。在当前git仓库下运行。
2025-06-21 22:28:13
149
原创 hadoop.proxyuser.代理用户.授信域 用来干什么的
要注意的是这个代理用户对于hadoop本身来讲,并不是一定要存在于linux用户体系中,通俗的将,它只是一个向hadoop表明有权去代表其他用户的身份牌,至于这个代理用户的身份牌上对应的人是否真的存在,或者这个身份牌被谁拿到,hadoop并不关心。拥有授信域下用户的权限,这里的主动是指非授信域发起操作时直接被操作某些东西,也不用担心授信域内任何一个用户都有其他用户的权限,因为是代理用户获得了授信域内用户的身份,去操作对于的操作,而非授信域用户直接以代理角色去执行操作。
2025-05-17 19:56:50
875
原创 CentOS7离线安装Mysql8
由于都是oracle下的东西,所以和oracle数据库一样最好是准备一个用户,当然mysql被没有和oracle那样强制不允许使用root用户。解压后得到的文件就是mysql服务的完全本体,按照个人需要放在合适的位置即可,这里正常放在 /opt 下 ,不过业内常规习惯是放在。比它多了一个测试用的资源包和一个mysql官方提供的负载均衡和故障转移的中间件,我们个人或非专业DBA不需要,下载。使用下面的命令初始化mysql,注意参数需要和配置文件里面写的一样。下载界面会看到如下包,一般情况下,用的最多的是。
2025-05-11 18:02:59
1016
4
原创 linux oracle 19c 静默安装
在后期使用上如果你重启了系统,在使用oracle用户启动的时候保险起见加载一下用户级别的环境变量,因为我本地测试环境搭建的时候就遇到了一个每次启动切换到oracle用户的时候没有oracle数据库的环境变量了,很奇怪,大家搭建的时候注意一下有没有这个问题。oracle数据库有个比较很抓瞎的事情,不同的版本搭建的大致流程是一样的,但是在实操细节上会有不同,比如操作的脚本位置和配置项等等,这些会变,所以需要时常积累不同版本的文档。第一步:配置合适的yum源,一般用阿里源就行,随后安装需要的yum环境。
2025-04-19 23:22:07
1100
1
原创 presto自定义函数
需要注意的是,presto的自定义函数和hive、spark的自定义函数在立意上不一样,非要找一致行,只能说presto的自定义函数类似于一进一出函数,但是出来的结果类型由于presto本身支持很多类型,所以结果可以是多元化的。通过上面的案例,大家可以发现,SQL类型的执行体,其实能够完成的能力是有限的,因为它现在只支持一行内的返回提,无法写多行,一般用在一个很复杂的字段逻辑封装中,如果你有多行就需要写代码解决了。:这个函数执行体类型,默认是SQL,其他可选的有Java等可被识别的标识符,
2025-04-08 16:22:13
575
原创 presto任务优化参数
0.142版本开始,presto跑任务提供了读取元数据上的优化,来提高效率,但是个人不建议用,因为如果操作的数据是空的,比如只有hive数据的物理路径被删除了,这个配置可能影响任务结果,而且在0.279版本修复了使用这个参数,对分区列聚合以及行字段元数据读取上的bug,bug导致查询结果错误,总之不建议轻易使用,知道有这么个配置当作逼不得已用的一个参数就行,用也在0.279之后用。presto最早的正式版本是0.8X,刚开始的时候是没有完整的集群资源管理组件的,所以对于大查询就临时搞了上面的配置。
2025-03-29 17:39:03
1259
原创 presto启动时 discovery server 报错 404
同步节点配置的时候,不要直接复用其他worker节点的配置就能避免这个问题。文件在改集群配置的时候是不是少了一个discovery服务为true的。这个问题很简单,你看一下集群主节点的。
2025-03-25 21:41:55
313
原创 spark写数据库用连接池找不到driver类
就想到一个妖点子,把mysql-driver包放在了spark的jars资源路径里面,当作引擎的class资源,果然运行之后问题就解决了。最近遇到一个很离谱的bug,在写spark代码把数据写到mysql的时候考虑到连接的开销,所以用了HikariCP连接池,但是无语的是程序执行死活加载不到mysql的Driver类,但是解压了jar看到mysql-conn包就在lib下面,版本也是5.x的没问题,还尝试了。,也没解决,倒腾了各种方式,网上也查到确实有人复现这个问题—》
2025-03-03 16:31:45
445
原创 linux中conda3安装
在激活环境的前后,你可以观察一下linux系统的PATH变量,你会发现,激活一个环境,其实是conda将对应环境的路径临时的加到了系统PATH变量的最前面,但是后使用一定会遇到和本地是否冲突的问题,比如本地和激活的虚拟环境中都存在python3,这种情况下,你可以用以下的方式解决。一定要关闭自动激活,你不关闭的话,conda的运行模式就比较奇葩,只要你激活了一个环境后,需要的第二次连接才会进入虚拟环境,而且往后连接服务器都会自动进入虚拟环境,很难受,关了以后就可以在当前连接会话中操作激活和关闭。
2025-02-26 21:56:09
677
原创 maven的打包插件如何使用
默认的情况maven项目不打第三方包的,想要打一个完整的包就需要,把下面的插件依赖导入pom。打完包后,除了原本的最小jar外,会有一个包名包含jar-with的jar。
2025-01-27 17:27:37
2298
原创 linux中如何后台运行一个命令并获取它的进程号
配合,nohup可以让你的进程生命周期不终止于本次客户端连接,但是它会忽略执行器返回的进程id,因此需要ps解析结果,如下。当然使用ps -aux或者ps -ef在获取进程id上都可以。如果你只是想简单的后台挂起一个程序你可以在命令的末尾加一个。获取linux执行器最后一个操作返回的进程id,如下。但,如果你是在写一个日常用的脚本,建议你使用。
2025-01-24 16:50:24
495
原创 Java如何向http/https接口发出请求
接口提供的方法,它主要用于访问https协议下的接口时,验证当前已和你建立连接的hostname(主机名)和连接的SSLSession(SSL会话)证书是否匹配,防止中间人攻击,比如可以如下操作。下,在具体使用时可以用如下代码,你可以把它封装成一个工具类。是X.509 证书的验证实现,通俗的讲是一个基础的证书,用Java发送web请求所用到的包都在。对于上面的代码,重点要说明的第一点是。是用来实现证书验证的类,
2025-01-21 16:39:06
1549
原创 linux如何并行执行某个单独命令
并行执行命令通常出现在同步某个文件这类涉及多个节点,且一起执行一般不会发生致命意外风险的操作,可以用linux自带的xargs命令完成操作。
2025-01-21 11:22:19
262
原创 github登录用的TOTP和恢复码都丢失了怎么办
从22年左右开始github的登录就需要用TOTP的一个6位秘钥做二次认证登录,如果在用的TOTP软件失效了,可以用github开启二次认证时下载的恢复码重置认证,但是如果你和我一样这两个东西都没了就只能用邮箱重置了,过程给大家分享一下。点击绿色按钮之后,会给你的邮箱发一个六位密码,按照提示输入之后,经历一番复杂的验证,最后还要经过三个工作日才可以恢复登录。所以还是提前下载并保存好恢复码,在认证软件失效时,以备不时之需,下载的位置在,账号设置中。最后,呼吁保存好你的恢复码,别和我一样,真的也是无语了!
2025-01-19 00:15:01
1432
原创 spark任务优化参数
本文总结了Apache Spark任务优化的关键参数配置和使用经验。核心内容包括:1) 资源分配参数如driver/executor内存和核数设置;2) 任务执行优化如分区控制、文件大小限制(如maxPartitionBytes参数);3) 数据压缩配置。特别指出不同模块(core/sql)参数差异,SQL模块推荐使用AQE(自适应查询执行)优化。资源分配需根据数据量和计算复杂度平衡,建议动态调整executor数量。同时强调不同Spark发行版(如Kyuubi、阿里EMR)可能有特有参数。官方文档是验证参
2025-01-17 18:36:59
3193
原创 Spark任务提交流程
spark的任务执行流程没有Hadoop那么绕,它的流程其实就是当你运行submit的的时候Driver会和Master进行交互,因为对于Spark来说Master是掌控集群资源的组件,和Hadoop的yarn是一样的作用,Master会通知有资源的服务器节点,去主动的和Driver交互,这一步也叫反向注册,其实说的高大上,说白了就是让服务器子节点和Driver去交互,Master不参与了,不过在Master通知服务器子节点和Driver反向注册的时候,会通知它们启动executor进程而Driver和.
2025-01-17 17:43:20
1721
1
原创 hive表修改字段类型没有级连导致历史分区报错
指字段的最新状态,默认只对往后的分区数据生效,而之前的分区保留历史元数据状态。好处就是修改语句的效率很快,坏处就是如果历史分区的数据还有用,那就回发生分区元数据和表元数据的不一致报错。1、如果你改的是一个全量表,此时没有级联的概念,你的修改最多的会导致数据改动时引擎发现已有数据类型和你要改的类型不一样,说白了就是无论做任何修改都要保证元数据的一致性。二:想要避免这样的问题,那元数据正确的改动方法,应该是使用hive的客户端,运行修改语句时,带上级连关键字CASCADE,如新增一个字段。
2025-01-16 15:52:43
716
原创 presto任务卡住不继续执行
3、是否有大量数据在同一个select中做成本很高的计算,比如多个字段在数据量本身很大的情况下在同一个select里面一起去重等,这种情况不止要减少计算的数据,还要将多个字段使用with as的方式分成多个临时表计算。1、检查你的数据切片是否导致任务的数据集很大,这种情况通常导致执行阶段出现压力异常问题,此时减少切片,分多次写入,或者用个中间表,分步聚合。当你的presto任务非直接报错,只是卡在了 XX% 这种运行状态不动时,有时伴随queryid旁边有黄色感叹号,如下。
2025-01-16 15:29:26
397
原创 大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建二
本文介绍了多个大数据组件的安装配置要点,包括MySQL5.6、Spark3.2.1、Presto0.272、Zeppelin0.11.2、Kafka3.7.2、Doris2.1和Apache Celeborn0.5.4。重点强调了各组件安装时的版本兼容性问题和关键配置项,如Spark3.x的端口修改、Guava包替换、Presto与Hadoop3.0的适配、Zeppelin的Spark配置准确性等。特别对国产组件Doris和新兴的Shuffle服务Celeborn进行了详细介绍,包括版本选择建议和典型配置参
2025-01-14 10:26:00
840
搭建的presto测试sql时报错访问不到hdfs
2024-10-11
yarn ui上的历史任务记录能删除吗?
2024-08-11
搭建hadoop的时候做到datanode和nodemanager分离
2024-08-15
hive3.1.3的hiveserver2无法正常链接
2024-06-28
hadoop3.x跑测试任务applicationmaster刚启动就挂了
2024-06-20
datanode无法正常加入namenode的心跳
2024-06-17
input在type为file时遇到了一个文件队列不更新的问题,能否提供一些解决思路
2023-12-12
最近在写一个酒店的app,现在把查询房间数的sql思路列出来,看看有没有啥问题
2023-08-23
js中如何通过push组成json数组
2023-05-06
浏览器302错误有什么可行的建议
2023-04-03
前端项目是怎么把网页后缀隐藏的
2023-03-25
nginx与k8s联动的时候还能保持ip_hash吗
2023-03-13
scala match模式匹配正则 无法生效
2023-03-02
springboot项目用线程池怎么用配置文件的方式控制线程池大小
2023-01-01
前、后端之间如何交互Blob块文件
2022-12-19
docker容器能否做到和宿主机处于同一网段
2022-12-10
如何在Hive自定义函数中输出日志并出现在yarn聚合结果中
2025-10-28
spark配置gluten任务运行报错
2025-08-25
编译spark报错,有人遇到过吗
2025-08-18
celeborn的http端口访问返回404
2025-07-29
ranger的api调用修改权限信息,如果涉及到中文乱码怎么搞
2025-07-04
ranger2.6的hdfs权限有效时间API中传那个字段
2025-07-04
ranger-hdfs上需要改一个判断逻辑在什么地方呢
2025-06-20
ranger2.6执行setup.sh脚本报错
2025-06-19
探讨一个表权限系统表设计方案
2025-06-10
hadoop 的用户代理不生效
2025-05-14
hadoop3.2.3搭建后权限能力缺失
2025-05-13
linux使用httpd时是否有其他方法不改配置文件的方式下同时映射其他静态资源路径
2025-04-01
提交MR任务时任务参数无法在命令行携带吗
2025-03-28
如何正确使用maven-assembly-plugin将项目打包成tar包
2025-01-27
如何在shell中正确保留后台执行进程的id
2025-01-24
zeppelin怎么修改scala版本
2024-10-26
spark的thriftserver服务启动时报错找不到类
2024-10-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅