〔从零搭建〕离线开发平台部署指南

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。
✨杭州奥零数据科技官网:http://www.aolingdata.com
✨AllData开源项目:https://github.com/alldatacenter/alldata
✨Gitee组织:https://gitee.com/alldatacenter

摘要:离线开发平台基于开源项目DolphinScheduler建设,一个功能强大的分布式任务调度平台,支持复杂工作流编排、任务监控与告警,适用于离线数据处理场景。文章内容主要为以下五部分:

一、在线演示环境
二、功能简介
三、源码编译部署安装
四、访问离线开发平台页面
五、常见问题与解决方案

💡Tips:关注「公众号」大数据商业驱动引擎

在这里插入图片描述
🔹AllData数据中台线上正式环境:http://43.138.156.44:5173/ui_moat/

请联系市场总监获取账号密码

在这里插入图片描述
在这里插入图片描述

2.1 离线开发平台基于开源项目DolphinSchduler建设

🔹可视化操作
提供直观的可视化界面,用户通过简单的拖拽和配置操作,就能轻松创建复杂的工作流任务,无需编写大量代码,降低了使用门槛,提高了工作效率。

🔹任务调度与依赖
支持多种任务类型,如 Shell、SQL、Python 等,能满足不同数据处理场景的需求。可灵活设置任务之间的依赖关系,确保任务按照预定顺序执行,有效处理复杂的数据处理流程。

🔹资源管理
能够对计算资源进行统一管理和分配,根据任务的资源需求合理调度,提高资源利用率,避免资源浪费。

🔹监控与告警
实时监控任务的执行状态,包括任务进度、运行时长、资源使用情况等。当任务出现异常时,能及时发出告警通知,方便运维人员快速响应和处理问题,保障数据处理的稳定性和可靠性。

🔹多租户支持
支持多租户模式,不同租户可以在同一个平台上独立进行任务开发和管理,实现资源隔离和权限控制,满足企业内不同部门或团队的使用需求。

🔹DolphinScheduler开源项目:https://github.com/apache/DolphinScheduler
🔹文档地址:
https://dolphinscheduler.apache.org/zh-cn/docs/3.2.1/guide/homepage

2.2 离线开发平台功能特点

  • 分布式易扩展架构
  • 可视化DAG工作流编排
  • 多租户与权限管理
  • 任务类型丰富
  • 高可靠性与容错机制
  • 灵活的调度策略
  • 任务状态监控与日志
  • 数据源集成能力
  • 版本控制与状态管理
  • 生态兼容性

在这里插入图片描述
💡部署步骤:
在这里插入图片描述

3.1 环境准备

🔹操作系统要求
支持 Linux 或 macOS 系统(推荐使用 Ubuntu/CentOS 或 macOS)。确保系统已安装基础依赖工具(如 git、curl、wget 等)。

🔹Java环境:
安装 JDK 1.8 或更高版本(推荐使用 JDK 11)。
配置环境变量JAVA_HOME,并将$JAVA_HOME/bin添加到PATH。
验证安装:java -version

🔹Maven 环境:
安装 Maven 3.6 或更高版本。
配置环境变量MAVEN_HOME,并将$MAVEN_HOME/bin添加到PATH。
验证安装:mvn -v

🔹数据库:
支持 MySQL或 PostgreSQL。
创建数据库用户并授予权限,例如:
在这里插入图片描述

🔹其他依赖:
确保系统已安装 Node.js(用于前端构建,可选)。
确保系统已安装 Python(用于部分脚本执行,可选)。

3.2 源码编译部署获取安装包dat
在这里插入图片描述

3.3 编译构建 --编译后端代码:
进入项目根目录,执行以下命令进行编译:
在这里插入图片描述

编译完成后,生成的二进制包位于 dolphinscheduler-assembly/target 目录下,例如:
在这里插入图片描述

–编译前端代码(可选):
如果需要修改前端界面,可以编译前端代码
编译完成后,前端静态文件会生成到 ui_ds/ui_ds 目录。
在这里插入图片描述
–选择JDK8
在这里插入图片描述
3.4 源码打包 --Maven Clean
在这里插入图片描述

–Maven Package
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

–获取安装包dolphinscheduler-install.tar.gz
在这里插入图片描述

–操作流程说明:
在这里插入图片描述

3.5 部署与安装
🔹解压二进制包
将编译生成的二进制包解压到部署目录:
在这里插入图片描述

🔹配置数据库
修改数据库配置文件 conf/application.yaml,例如:
在这里插入图片描述

🔹配置Zookeeper
修改 ZooKeeper 配置文件 conf/zookeeper.properties,例如:
在这里插入图片描述

🔹配置Zookeeper
修改 ZooKeeper 配置文件 conf/zookeeper.properties,例如:
在这里插入图片描述

🔹初始化数据库
执行数据库初始化脚本
脚本会自动执行 dolphinscheduler-dao/src/main/resources/sql 目录下的 SQL 文件。

🔹启动服务
启动Zookeeper(如果尚未启动):
在这里插入图片描述

启动DolphinScheduler服务:
在这里插入图片描述

验证服务是否启动成功:
在这里插入图片描述

🔹访问Web界面

在这里插入图片描述
4.1 功能概览
在这里插入图片描述

4.2 项目管理
在这里插入图片描述

4.3 进入工作流页面
在这里插入图片描述

🔹拖动Shell节点
配置节点名称:mysql1
配置运行标志:正常
任务优先级:MEDIUM
Worker分组:DS-Worker
配置脚本:
在这里插入图片描述

🔹启动工作流
填写HTTP请求的URL、请求方法(如GET、POST)、请求头、请求体等信息。这些参数将用于向HTTP服务发送请求并获取数据。
在这里插入图片描述

🔹拖动第2个Shell节点
配置节点名称:mysql2
配置运行标志:正常
任务优先级:MEDIUM
Worker分组:DS-Worker
前置任务:Mysql1
配置脚本:
在这里插入图片描述

🔹拖动第3个Shell节点
配置节点名称:mysql3
配置运行标志:正常
任务优先级:MEDIUM
Worker分组:DS-Worker
前置任务:Mysql2
配置脚本:
在这里插入图片描述

4.4 启动工作流
在这里插入图片描述

4.5 查看工作流实例
在这里插入图片描述

4.6 查看任务实例
在这里插入图片描述

4.7 任务执行结果日志
在这里插入图片描述

4.8 项目管理-新建项目
在这里插入图片描述

4.9 文件管理-创建文件夹
在这里插入图片描述

4.10 文件管理-创建文件
在这里插入图片描述

4.11 文件管理-上传文件
在这里插入图片描述

4.12 资源管理-创建文件夹
在这里插入图片描述

4.13 资源管理-上传UDF资源
在这里插入图片描述

4.14 函数管理-UDF函数
在这里插入图片描述

4.15 函数管理-创建UDF函数
在这里插入图片描述

4.16 任务组管理-任务组配置
在这里插入图片描述

4.17 任务组配置-创建任务组
在这里插入图片描述

4.18 任务组配置-编辑任务组

在这里插入图片描述
4.19 任务组管理-任务组队列
在这里插入图片描述

4.20 数据质量-任务结果
在这里插入图片描述

4.21 数据质量-规则管理
在这里插入图片描述

4.22 源中心
在这里插入图片描述

4.23 源中心-创建源
在这里插入图片描述

4.24 源中心-创建源-创建数据源
在这里插入图片描述

4.25 监控中心-服务管理-Mastre
在这里插入图片描述

4.26 监控中心-服务管理-Worker
在这里插入图片描述

4.27 监控中心-服务管理-Alert Server
在这里插入图片描述

4.28 监控中心-服务管理-DB
在这里插入图片描述

4.29 监控中心-统计管理-Statistics
在这里插入图片描述

4.30 监控中心-统计管理-审计日报
在这里插入图片描述

4.31 安全中心-租户管理
在这里插入图片描述

4.32 安全中心-租户管理-创建租户
在这里插入图片描述

4.33 安全中心-用户管理
在这里插入图片描述

4.34 安全中心-用户管理-创建用户
在这里插入图片描述

4.35 安全中心-告警组管理
在这里插入图片描述

4.36 安全中心-告警组管理-创建告警组
在这里插入图片描述

4.37 安全中心-告警实例管理
在这里插入图片描述

4.38 安全中心-告警实例管理-创建告警实例
在这里插入图片描述

4.39 安全中心-Worker分组管理
在这里插入图片描述

4.40 安全中心-Worker分组管理-创建Worker分组
在这里插入图片描述

4.41 安全中心-Yar队列管理-创建队列
在这里插入图片描述

4.42 安全中心-Yar队列管理
在这里插入图片描述

4.43 安全中心-环境管理
在这里插入图片描述

4.44 安全中心-环境管理-创建环境
在这里插入图片描述

4.45 安全中心-集群管理
在这里插入图片描述

4.46 安全中心-集群管理-创建集群
在这里插入图片描述

4.47 安全中心-K8S命名空间管理
在这里插入图片描述

4.48 安全中心-K8S命名空间管理-创建命名空间
在这里插入图片描述

4.49 安全中心-令牌管理
在这里插入图片描述

4.47 安全中心-令牌管理-创建令牌
在这里插入图片描述
在这里插入图片描述
5.1 编译失败

  • 确保 Maven 版本符合要求(3.6+)。
  • 确保网络环境良好(可能需要配置 Maven 镜像)。
  • 如果遇到依赖冲突,可以尝试清理本地 Maven 仓库:
    在这里插入图片描述

5.2 数据库连接失败:

  • 检查数据库配置是否正确。
  • 确保数据库服务已启动,并且用户权限配置正确。
  • 检查防火墙是否放行了数据库端口(默认 3306)。

5.3 ZooKeeper连接失败:

  • 检查 ZooKeeper 服务是否已启动。
  • 检查 ZooKeeper 配置是否正确。
  • 检查防火墙是否放行了 ZooKeeper 端口(默认 2181)。

5.4 服务启动失败:

  • 检查日志文件 logs/dolphinscheduler-*.log 获取详细错误信息。
  • 确保系统资源充足(内存、CPU 等)。
  • 确保端口未被占用(默认端口:12345、25333、50050 等)。
<think>好的,用户现在需要关于小艺对话平台离线部署搭建指南,特别是环境配置的信息。让我先回顾一下之前的对话和用户提供的引用内容。 用户之前问过离线数据库搭建,我给了详细的步骤,包括选择数据库类型、配置路径、集成服务等,并提到了使用Docker部署PostgreSQL。现在用户进一步询问整个平台的离线部署,尤其是环境配置,需要结合之前的回答和相关引用。 查看用户提供的引用,引用[1]提到使用Docker安装Open WebUI,引用[2]涉及FastGPT的安装和依赖项,引用[3]是Ollama和AnythingLLM的部署指南。需要将这些内容整合到小艺对话平台的部署中。 首先,用户的需求是搭建离线环境,可能需要本地大模型、数据库和Web界面。根据引用[3],Ollama适合本地运行大模型,AnythingLLM作为前端。引用[1]的Open WebUI也是一个前端选项,可以替代或补充。引用[2]的FastGPT可能用于处理问答逻辑,但用户的小艺平台可能需要类似组件。 接下来,用户的环境配置需要包括基础依赖、大模型服务、数据库、应用框架和Web界面。之前回答中已经涉及数据库部分,现在需要扩展到大模型部署和前端整合。例如,使用Ollama运行模型,通过FastAPI或FastGPT构建后端,搭配Open WebUI或AnythingLLM作为前端。 需要注意离线部署的关键点:所有组件必须本地化,避免依赖外部网络。因此,Docker的使用很重要,可以隔离环境并确保依赖项齐全。引用中提到的apt安装步骤可能需要调整,确保在离线环境中提前下载好所有包。 另外,用户可能关心如何验证各组件是否正常运行,比如模型服务是否加载成功,数据库连接是否正常,Web界面能否本地访问。需要提供具体的测试命令和步骤,例如使用curl检查API端点,或者docker logs查看容器日志。 安全加固方面,之前提到了数据库的本地监听和权限控制,同样适用于其他服务。比如,Ollama和WebUI应仅绑定到localhost,防止外部访问。 最后,生成相关问题时要覆盖用户可能遇到的后续问题,如性能优化、模型切换、数据备份等,确保全面性。</think>### 小艺对话平台离线部署环境搭建指南 根据用户需求与引用内容[^1][^2][^3],结合小艺对话平台特性,离线部署需重点关注 **本地模型服务**、**数据库集成** 和 **可视化交互界面** 三部分。以下是具体配置方案: --- #### **1. 基础环境准备** **硬件要求**: - CPU:建议8核以上(如Intel Xeon E5系列) - GPU:NVIDIA RTX 3090/4090(若需加速大模型推理) - 内存:32GB+ - 存储:SSD 500GB+(预留模型存储空间) **离线依赖包预装**(参考引用[^2]): ```bash # 在联网环境中提前下载离线安装包 apt-get download apt-transport-https ca-certificates curl software-properties-common libssl-dev # 离线环境通过本地仓库安装 sudo dpkg -i *.deb ``` --- #### **2. 核心组件部署** ##### **2.1 本地大模型服务**(基于引用[^3]) 使用Ollama部署本地大语言模型: ```bash # 下载Ollama离线包 wget https://ollama.ai/download/ollama-linux-amd64 chmod +x ollama-linux-amd64 sudo mv ollama-linux-amd64 /usr/local/bin/ollama # 启动服务并加载模型 ollama serve & ollama pull chatglm2 # 离线需提前下载模型文件至~/.ollama/models ``` ##### **2.2 数据库服务**(延伸自前期回答) 采用Docker部署PostgreSQL: ```bash # 离线环境需提前导出镜像 docker save postgres:alpine > postgres.tar docker load -i postgres.tar docker run -d --name xiaoyi_db \ -v /data/postgres:/var/lib/postgresql/data \ -e POSTGRES_PASSWORD=your_secure_pwd \ postgres:alpine ``` ##### **2.3 应用框架集成**(结合引用[^1][^2]) 使用FastAPI构建服务中间件: ```python # requirements.txt 包含离线依赖包 from fastapi import FastAPI from sqlalchemy import create_engine app = FastAPI() engine = create_engine("postgresql://admin:your_secure_pwd@localhost/xiaoyi_db") @app.get("/query") async def query_knowledge(keyword: str): with engine.connect() as conn: result = conn.execute(f"SELECT content FROM knowledge WHERE keywords LIKE '%{keyword}%'") return {"results": [row[0] for row in result]} ``` --- #### **3. 可视化界面部署**(参考引用[^1][^3]) **方案一:Open WebUI** ```bash # 离线加载镜像 docker pull dyrnq/open-webui:main docker run -d --name webui \ -p 3000:8080 \ -e OLLAMA_BASE_URL=http://localhost:11434 \ dyrnq/open-webui:main ``` **方案二:AnythingLLM** ```bash # 配置本地模型路径 docker run -d --name anythingllm \ -v /data/anythingllm:/app/server/storage \ -p 3001:3000 \ -e LLM_PROVIDER=ollama \ -e OLLAMA_HOST=http://host.docker.internal:11434 \ mintplexlabs/anythingllm ``` --- #### **4. 离线环境验证** 1. **服务连通性测试**: ```bash curl http://localhost:11434/api/tags # 检查Ollama模型列表 psql -h 127.0.0.1 -U admin -d xiaoyi_db -c "\dt" # 验证数据库表结构 ``` 2. **端到端功能验证**: 在浏览器访问`http://localhost:3000`(Open WebUI),输入测试问题: ```text "请根据知识库回答:小艺对话平台支持哪些数据库类型?" ``` 观察是否返回数据库配置文档中的标准答案 --- #### **5. 安全加固配置** 1. **网络隔离策略**: ```bash # 禁止非必需端口外联 iptables -A OUTPUT -p tcp --dport 5432 -j DROP # 封禁PostgreSQL外网访问 ``` 2. **服务访问限制**: 修改Ollama配置`/etc/ollama/config.json`: ```json { "host": "127.0.0.1", "port": 11434 } ``` --- ### 相关问题 1. 如何在小艺平台中切换不同的大语言模型(如从ChatGLM2切换到Llama3)? 2. 离线环境下如何更新知识库数据? 3. 如何优化Ollama模型在本地的推理速度? 4. 小艺平台是否支持与Elasticsearch集成实现全文检索? 通过以上步骤,可在完全离线环境中搭建包含 **大模型服务**、**知识库存储** 和 **可视化交互** 的全栈对话平台[^1]。实际部署时需根据硬件资源调整容器资源配置(如`--shm-size`和`--gpus`参数)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杭州奥零数据科技

AllData数据中台知识星球

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值