在k8s上部署dolphinscheduler

news2024/11/18 11:43:07

(作者:陈玓玏)


一、 前提条件

  1. 已部署k8s,版本信息如下:
    在这里插入图片描述
  2. k8s为单机部署;
  3. 已部署nfs,版本如下;
    在这里插入图片描述

二、 部署helm

以下步骤安装的是二进制版本,如果通过脚本安装,可以直接参考链接:https://helm.sh/docs/intro/install/。
1.下载helm,地址:https://github.com/helm/helm/releases,通过wget下载。这里碰到一个错误,下载到最后四秒时报错,helm文件带*号,不可用,网络问题,重新下载;
2.解压,tar -zxvf helm-v3.14.2-linux-amd64.tar.gz;
3.把文件移至指定位置,mv linux-amd64/helm /usr/local/bin/helm;
4.验证是否安装成功,输入helm version,能查看到版本即可。
在这里插入图片描述

三、安装dolphinscheduler

1.下载安装包,下载地址:https://dolphinscheduler.apache.org/zh-cn/download/3.1.8,通过命令wget -c https://archive.apache.org/dist/dolphinscheduler/3.1.8/apache-dolphinscheduler-3.1.8-src.tar.gz下载;
2.按序执行以下代码:

tar -zxvf apache-dolphinscheduler-<version>-src.tar.gz
cd apache-dolphinscheduler-<version>-src/deploy/kubernetes/dolphinscheduler
helm repo add bitnami https://charts.bitnami.com/bitnami
  1. 更新依赖:helm dependency update .
    注意,执行helm dependency update .前,最好把Chart.yaml中的三个repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami改成repository: https://raw.gitmirror.com/bitnami/charts/archive-full-index/bitnami,避免连不上外网导致下载不到依赖。

碰到的bug:
3.1. helm dependency update .碰到bug:Chart.yaml file is missing,因为没进入正确的路径,少cd了两层;
3.2. helm dependency update .碰到bug:Save error occurred: could not find : chart postgresql not found in https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami: looks like “https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami” is not a valid chart repository or cannot be reached: context deadline exceeded (Client.Timeout or context cancellation while reading body),应该是服务器不通github或者链接github的网速太慢。尝试解决,先在https://www.ip138.com/查找github.com的ip地址,然后在服务器的/etc/hosts中加入一行,ip github.com,再尝试helm dependency update .最后解决方法是更改Chart.yaml的地址,把repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami改成repository: https://raw.gitmirror.com/bitnami/charts/archive-full-index/bitnami。

  1. 修改存储类型
    修改 values.yaml 文件中下面的配置项,将resource.storage.type改为NONE,common中的configmap中新增RESOURCE_STORAGE_TYPE: "NONE"和FS_DEFAULT_FS: “file:///”,common的fsFileResourcePersistence改enabled: true,storageClassName: “nfs-storage”.
    主要修改的内容如下图:
    在这里插入图片描述

  2. 部署dolphinscheduler:helm install dolphinscheduler . --set image.tag=<version>

碰到的Bug:
5.1 一开始没进行第四步,默认用的是hdfs存储,一直报错postgresql的secret不存在,重新执行了第4步就好了;
5.2 报错连接postgresql失败,账号密码有误,排查应该是我之前用k8s部署过了postgresql和mysql等,账号密码已经在configmap中设置过了,所以dolphinscheduler用新的账号密码连不上,删除原来的postgresql、mysql、zookeeper的部署,重新执行helm部署dolphinscheduler就解决了;
5.3 报错0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.这里应该是我设置了存储类型中的storageClassName: “nfs-storage”,但实际我的集群中没有这个storageClassName,所以pod和pvc、pv绑定失败。

为了解决Bug5.3,新建一个pv:

kind: PersistentVolume
apiVersion: v1
metadata:
  name: nfs-storage
  labels:
    app: nfs
    type: local

spec:
  capacity:
    storage: 20Gi
  hostPath:
    path: /home/data
    type: ''
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs-storage
  volumeMode: Filesystem

pod全部正常运行了。

在这里插入图片描述
6. 访问,在k8sdashboard上找到名为dolphinscheduler-api的service,编辑yaml文件,把类型从ClusterIP改为NodePort,访问ip+端口+/dolphinscheduler/ui,默认的用户是admin,默认的密码是dolphinscheduler123,可进入dolphinscheduler,表示部署成功。
在这里插入图片描述

参考文章:

https://blog.csdn.net/weixin_64348970/article/details/134368824
https://blog.csdn.net/qq_41538097/article/details/125380287

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1499075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI视野·今日Sound 声学论文速览 第五十四期】Thu, 7 Mar 2024

AI视野今日CS.Sound 声学论文速览 Thu, 7 Mar 2024 Totally 8 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Can Audio Reveal Music Performance Difficulty? Insights from the Piano Syllabus Dataset Authors Pedro Ramoneda, Minhee Lee, Dasa…

学生信息管理APP

设计内容简介 本次设计使用Android Studio实现一个学生信息管理系统,系统功能结构如下图所示: 详细设计 数据库设计SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低。…

Android14音频进阶:AudioTrack与AudioFlinger创建数据通道(五十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

UNIAPP微信小程序中使用Base64编解码原理分析和算法实现

为何要加上UNIAPP及微信小程序&#xff0c;可能是想让检索的翻围更广把。&#x1f607; Base64的JS原生编解码在uni的JS引擎中并不能直接使用&#xff0c;因此需要手写一个原生的Base64编解码器。正好项目中遇到此问题&#xff0c;需要通过URLLink进行小程序跳转并携带Base64参…

定时执行专家V7.1 多国语言版本英文版发布 - TimingExecutor V7.1 English Version Release

目录 ◆ About TimingExecutor ◆ Main Frame ◆ Job Dailog ◆ Trigger Dialog ◆ Setting Dialog ◆ About Dialog ◆ Job Detail Information panel ◆ Statistics Information panel ◆ About TimingExecutor 《定时执行专家》是一款制作精良、功能强大、毫秒精度…

数据库RDBMS1

配置MySQL 准备网络yum源&#xff08;准备物理机或一台虚拟机作为仓库服务器&#xff09; [rootzzgrhel8 ~]# yum install -y httpd php php-mysqlnd php-xml php-json createrepo [rootzzgrhel8 ~]# systemctl start httpd [rootzzgrhel8 ~]# systemctl enable httpd [root…

linux系统命令深入研究1——ls的参数

ls list命令有一些常用的参数&#xff0c;其中-a意为列出all全部文件&#xff08;包括隐藏文件&#xff09;&#xff0c;-l列出详细信息&#xff0c;-h以人类可阅读的方式列出文件大小 --full-time是列出详细时间信息&#xff0c;包括最后一次修改时间 -t是按时间排序&#xff…

【MySQL 系列】MySQL 起步篇

MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域&#xff0c;MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版&#xff0c;社区版完全免费&#xff0c;并且几乎能满足全部的使用场景。由于 MySQL 是开源的&#xff0c;我们还可以根…

Git 掌握

目录 一、前言 二、centos安装Git 三、Git基本操作 (1) 创建Git本地仓库 (2) 配置Git (3) 认识工作区&#xff0c;暂存区&#xff0c;版本库 四、添加文件 五、查看.git文件 六、修改文件 七、版本回退 八、撤销修改 (1) 场景一 对于还没有add的代码 (2) 场景二 已…

第一次捡垃圾

配置 cpu e3 1225 v6 淘宝 130 显卡 p106-100(1060矿卡的特称) 咸鱼 118 内存 8g 3200频率 2 咸鱼 702140 硬盘 128g 固态 咸鱼 35 主板 ex-b150m-v3 咸鱼 110 电源 400w 咸鱼 58 4热管cpu散热器 咸鱼 28 机箱 迷你 拼多多 28 电源线 1m5 淘宝 8 pcie转m.2 拼多多 9 编程器 用…

bun实现HTTP服务器

Bun 提供了原生 Bun.serve API。它实现了 fetch 以及Node.js的 http 和 https 模块。 这些模块已被重新实现&#xff0c;以使用 Bun 的快速内部 HTTP 基础设施。随意直接使用这些模块;像 Express 这样依赖于这些模块的框架应该开箱即用。有关详细的兼容性信息&#xff0c;请参阅…

R语言,实现MACD指标计算:股票技术分析的利器系列(1)

R语言&#xff0c;实现MACD指标计算&#xff1a;股票技术分析的利器系列&#xff08;1&#xff09; MACD指标代码完整代码介绍代码EMA函数calculate_DEA 函数calculate_MACD 函数 运行结果 MACD指标 先看看官方介绍&#xff1a; MACD (平滑异同平均线&#xff09; 指标说明 DI…

【leetcode热题】环形链表

难度&#xff1a; 简单通过率&#xff1a; 34.9%题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个链表&#xff0c;判断链表中是否有环。 为了表示给定链表中的环&#xff0c;我们使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索…

图像处理与视觉感知---期末复习重点(2)

文章目录 一、空间域图像增强1.1 图像增强1.2 几种变换 二、直方图2.1 直方图定义2.2 直方图均衡化2.3 离散情况2.4 例子2.5 直方图匹配2.6 例子2.7 一道例题 三、空间滤波器3.1 定义3.2 例子 四、平滑空间滤波器4.1 作用与分类4.2 线性滤波器 五、统计排序滤波器5.1 定义与分类…

Qt添加VTK并绘制图形

文章目录 准备环境使用VS创建Qt Widget项目配置VTK依赖调试C/C链接器 添加vtk窗口测试代码 参考链接&#xff1a; VS2017配置QT环境(详细版)_vs2017 qt-CSDN博客 QT5VTK9.1最新配置方法_qt vtk-CSDN博客 VTK笔记-Qt5.12.11编译VTK9.0.3-QVTKOpenGLNativeWidget-CSDN博客 准…

算法---双指针练习-2(复写零)

1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 首先&#xff0c;通过遍历数组 arr 来确定复写后数组的最后一个元素的值下标 dest。这个下标表示在复写后的数组中&#xff0c;最后一个元素应该存储的位置。遍历过程中&#xff0c;如果遇到非零元素&#xff0c;则 de…

AI Agents之CrewAI智能体开发框架

一、前言 AI Agents 的开发是当前软件创新领域的热点。随着大语言模型 (LLM) 的不断进步&#xff0c;预计 AI 智能体与现有软件系统的融合将出现爆发式增长。借助 AI 智能体&#xff0c;我们可以通过一些简单的语音或手势命令&#xff0c;就能完成以往需要手动操作应用程序才能…

Elemenu中el-table中使用el-popover选中关闭无效解决办法

主要是技术太菜,没找到原因,一点点才找到这个办法解决 因为在el-table-column里,因为是多行,使用trigger"manual" 时,用v-model"visible"来控制时,控件找不到这个值,才换成trigger"click" 先找到弹出关闭事件,再找元素的属性 右键>审核元素…

软考69-上午题-【面向对象技术2-UML】-关系

一、关系 UML中有4种关系&#xff1a; 依赖&#xff1b;关联&#xff1b;泛化&#xff1b;实现。 1-1、依赖 行为&#xff08;参数&#xff09;&#xff0c;参数就是被依赖的事物&#xff0c;即&#xff1a;独立事物。 当独立事物发生变化时&#xff0c;依赖事务行为的语义也…