在k8s上部署dolphinscheduler

(作者:陈玓玏)


一、 前提条件

  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.mfbz.cn/a/429105.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Bert Encoder和Transformer Encoder有什么不同

前言&#xff1a;本篇文章主要从代码实现角度研究 Bert Encoder和Transformer Encoder 有什么不同&#xff1f;应该可以帮助你&#xff1a; 深入了解Bert Encoder 的结构实现深入了解Transformer Encoder的结构实现 本篇文章不涉及对注意力机制实现的代码研究。 注&#xff1a;…

在Linux以命令行方式(静默方式/非图形化方式)安装MATLAB(正版)

1.根据教程&#xff0c;下载windows版本matlab&#xff0c;打开图形化界面&#xff0c;选择linux版本的只下载不安装 2.获取安装文件夹 3.获取许可证 4.安装 &#xff08;1&#xff09;跳过引用文章的2.2章节 &#xff08;2&#xff09;本文的安装文件夹代替引用文章的解压IS…

CSS变量和@property

CSS变量 var() CSS 变量是由CSS作者定义的实体&#xff0c;其中包含要在整个文档中重复使用的特定值。使用自定义属性来设置变量名&#xff0c;并使用特定的 var() 来访问。&#xff08;比如 color: var(--main-color);&#xff09;。 基本用法 CSS变量定义的作用域只在定义该…

Rio: Order-Preserving and CPU-Efficient Remote Storage Access——论文泛读

EuroSys 2023 Paper 论文阅读笔记整理 问题 现代NVMe SSD和RDMA网络提供了更高的带宽和并发性&#xff0c;但现有的网络存储系统&#xff08;例如&#xff0c;基于结构的NVMe&#xff09;&#xff0c;由于存储订购保证效率低下&#xff0c;无法充分利用这些新设备。在这些系统…

[DevOps云实践] 3大云厂商(AWS/GoogleCP/Azure)的服务对比一览

[DevOps云实践] 3大云厂商(AWS/GoogleCP/Azure)的服务对比一览 如今有很多人在使用云端或者把他们的基础架构迁移到云端。每个云服务提供商都有其优势和劣势,大部分情况下您的选择将基于您想要在云中构建什么。您公司的各个团队也很可能会倾向于为他们的特定项目使用不同的…

【论文解读】Robust Collaborative 3D Object Detection in Presence of Pose Errors

CoAlign 摘要引言方法实验结论 摘要 协同3D对象检测利用多个代理之间的信息交换&#xff0c;以在存在诸如遮挡之类的传感器损伤的情况下提高对象检测的准确性。然而&#xff0c;在实践中&#xff0c;由于定位不完善而导致的姿态估计误差会导致空间消息错位&#xff0c;并显著降…

使用html网页播放多个视频的几种方法

前言 因为项目测试需要&#xff0c;我需要可以快速知道自己推流的多路视频流质量&#xff0c;于是我想到可以使用html网页来播放视频&#xff0c;实现效果极其简单&#xff0c;方法有好几种&#xff0c;以下是几种记录&#xff1a; 注意&#xff1a;测试过&#xff0c;VLC需要使…

微服务:Feign篇

1.什么是Feign Feign是一种声明式、模板化的HTTP客户端&#xff0c;可用于调用HTTP API实现微服务之间的远程服务调用。它的特点是使用少量的配置定义服务客户端接口&#xff0c;可以实现简单和可重用的RPC调用。 先来看我们以前利用RestTemplate发起远程调用的代码&#xff…

卡密交易系统 卡密社区SUP系统源码 分销系统平台 分销商城系统开发

卡密社区SUP系统总控源码主站分销系统功能源码 跟以前的卡盟那种控制端差不多总控可以给别人开通&#xff0c;分销&#xff0c;主站&#xff0c;类似自己做系统商一样&#xff0c;自助发卡&#xff0c;卡密交易系统。 搭建环境Nginx1.22 mysql 5.7 php8.1 rids 7.2 安装方法…

【C++】十大排序算法之 插入排序 希尔排序

本次介绍内容参考自&#xff1a;十大经典排序算法&#xff08;C实现&#xff09; - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类&#xff1a; 比较类排序&#xff1a;通过比较来决定元素间的相对次序…

鸿蒙开发就业前景以及发展方向分析~

鸿蒙操作系统作为华为公司自主研发的操作系统&#xff0c;已经成为当下炙手可热的话题。作为一个全新的操作系统&#xff0c;鸿蒙开发为IT行业带来了巨大的就业机会。本文将围绕鸿蒙开发的就业前景以及发展方向展开讨论。 一、鸿蒙开发就业前景 随着鸿蒙操作系统的发布&#…

二叉树——从中序与后序遍历序列构造二叉树、654. 最大二叉树、617. 合并二叉树

从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 在这里插入代码片 输入&#xff1a;inorder [9,3,15…

leetcode 热题 100_和为 K 的子数组

题解一&#xff1a; 前缀和数组哈希表&#xff1a;可以计算所有子数组之和暴力求解&#xff0c;但复杂度太高。对于子数组求和的过程&#xff0c;我们可以采用前缀和数组进行优化&#xff0c;前缀和数组中pre[index]代表nums[0]~nusm[index]之和&#xff0c;当我们要计算子数组…

NLP评价指标

一、分类任务常见评估&#xff1a; 准确度(Accuracy) 评估预测正确的比例&#xff0c;精确率(Precision) 评估预测正例的查准率&#xff0c;召回率(Recall) 评估真实正例的查全率。如果是多分类&#xff0c;则每个类别各自求P、R最终求平均值。 TP&#xff08;True Positives…

SwiftUI 在 App 中弹出全局消息横幅(上)

功能需求 在 SwiftUI 开发的 App 界面中,有时我们需要在全局层面向用户展示一些消息: 如上图所示:我们弹出的全局消息横幅位于所有视图之上,这意味这它不会被任何东西所遮挡;而且用户可以点击该横幅关闭它。这是怎么做到的呢? 在本篇博文中,您将学到以下内容 功能需求…

mac电脑使用pyinstaller打包python脚本

pyinstaller -F template.py 出现报错"AssertionError: Executable contains code signature!" 移除签名 codesign --remove-signature /Users/f7692281/PycharmProjects/TPtestlist/transmit_v6.0.py 打包命令 pyinstaller --windowed transmit_v6.0.py pyinst…

如何使用两个 ESP32-DevKit 开发板的 SDIO 接口测试 AT 固件?

文档参考 ESP32 SDIO AT GuideSDIO 硬件接线说明 硬件准备 两个 ESP32-DevKit 开发板10 KHz 电阻长度低于 10cm 的杜邦线 管脚ESP32 SDIO HostESP32 SDIO SlaveCLK1414CMD1515DAT022DAT144DAT21212DAT31313GNDGNDGND 1-bit SD 模式&#xff08;默认&#xff09;&#xff1…

HTTP代理扫描的技术解析(HTTP代理扫描的技术原理和使用方法)

HTTP代理扫描的技术解析 近年来&#xff0c;随着互联网的快速发展&#xff0c;HTTP代理扫描技术也日益成熟。HTTP代理扫描是指通过扫描网络中的HTTP代理服务器&#xff0c;获得有效代理的IP地址和端口&#xff0c;进而实现网络请求的转发。通过HTTP代理扫描&#xff0c;用户可…

深入了解直播美颜SDK,美颜SDK是什么?

在实现直播美颜功能的背后&#xff0c;美颜SDK扮演了重要的角色。今天&#xff0c;笔者将为大家讲解美颜SDK的定义、功能以及在直播行业中的应用。 一、美颜SDK的定义 美颜SDK是一种软件开发工具包&#xff0c;旨在为应用开发者提供一套实现美颜功能的接口和算法。它通常包含…

探究java反射取值与方法取值性能对比

探究java反射取值与方法取值性能对比 由于我开发框架时&#xff0c;经常需要对象取值。常用的取值方式有&#xff1a; 反射取值方法调用取值 环境 同一台电脑&#xff1a; jdk 21.0.2 idea 2023.3.3 1. 测试代码&#xff08;常用&#xff09; 1.1 反射取值 public stat…
最新文章