当前位置: 首页 > news >正文

使用阿里云快速搭建 DataLight 平台

使用阿里云快速搭建 DataLight 平台

本篇文章由用户 “闫哥大数据” 分享,B 站账号:https://space.bilibili.com/357944741?spm_id_from=333.999.0.0

注意:因每个人操作顺序可能略有区别,整个部署流程如果出现出入,以官方文档为准。

DataLight 相关资源

🌐 DataLight 开源项目官网:
http://datalight.boundivore.cn

🌐 后端开源地址:
https://gitee.com/boundivore/boundivore-datalight

🌐 前端开源地址:
https://gitee.com/boundivore/boundivore-datalight-web

🌐 百度网盘:-开源资源包下载地址:
链接:https://pan.baidu.com/s/1342bIcEBDQHdFA35KUTjbQ
提取码:data

🌐 123网盘-开源资源包下载地址:
链接:https://www.123pan.com/s/7j3rTd-iFzKd?
提取码:6666

🌐 视频教程:
https://space.bilibili.com/3546708503955571/channel/seriesdetail?sid=4187881&ctype=0

一、概述

部署 DataLight 平台过程中,需要遵循按需分配原则,本教程旨在帮助用户快速预览 DataLight 大数据平台,用户可根据需要,自行调整配置。如果需要部署的服务较多,则需要更多的资源,用户可按需部署自己需要的服务,并在配置文件管理功能中,自行调整各个服务对于资源的占用情况。

二、购买阿里云抢占式资源服务器

2.1 登录阿里云页面

登录阿里云页面,找到 ECS 服务器购买页面。

2.2 创建 ECS 实例

2.3 选择实例配置

如果目的是测试预览,则可以选择最低成本的抢占式实例。

2.4 选择系统

购买三台,第一台配置高一些,4 核 16G 内存,另外两个可以 2 核 8G 内存即可

2.5 配置系统盘容量与网络

如果准备下载并上传全量 DataLight 资源包到节点,则推荐系统盘为 100G。

如果为了测试预览,则外网带宽可选择按量计费以降低成本。

在配置外网 IP 时,如果不希望除主节点外,其他节点有外网访问权限(可进一步降低成本),可在主节点上搭建 VPN 来实现对集群内其他节点的访问。

2.6 配置节点密码

配置访问系统的 root 用户的密码。

2.7 完成创建

购买成功,如下图所示。

2.8 修改实例名称

用户可根据需要,自行修改 ECS 服务器名称。

三、修改节点配置

该过程在不同云厂商系统环境中可能存在细微区别,但大体上一致。

在初始化节点时,用户可根据 DataLight 教程,通过帮助脚本,完成节点的自动初始化工作。

当然,也可以手动完成。

3.1、建立远程连接

通过 SSH 工具,建立与 ECS 服务器的远程连接访问。此处可以通过 VPN 或直连外网 IP。建立连接的节点,是你准备部署 DataLight Master 进程所在的节点。

配置3台节点。此处如果 node02、node03 没有分配外网 IP,可以考虑在 node01 上搭建 VPN 以使得外网访问穿透到 node02 node03节点。

3.2、修改主机名

sh /opt/datalight/assistant/scripts/init-hostname.sh node01
sh /opt/datalight/assistant/scripts/init-hostname.sh node02
sh /opt/datalight/assistant/scripts/init-hostname.sh node03

修改完,重启服务器

3.3、修改 hosts 映射文件

vi /etc/hosts
172.17.238.41   node01  node01
172.17.238.43   node02  node02
172.17.238.42   node03  node03

注意:阿里云的 /etc/hosts 中下方标记的内容需要删除。

3.4、修改安全组

为了安装方便,放行所有端口,并指定允许的 IP 为你当前本机交换机或路由器的 IP 地址,防止网络恶意脚本的攻击。

注意:可以通过百度搜索:IP 来查看当前自己的本机外网 IP。

3.6、免密登录,可通过初始化脚本自行完成

ssh-keygen -t rsa然后免密登录 node01 node02 node03
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03

四、购买 mysql 数据库

4.1 前往阿里云 RDS 产品页面

购买 MySQL 数据库实例。

4.2 配置 RDS 实例内容

4.3 查看 RDS 实例列表

4.4 完成创建,并查看访问地址

创建成功后,点击进入,创建外网连接。

4.5 初始化 RDS 数据库账号密码

单击“创建账号”前往 RDS 账号密码配置页面。

4.6 完成账号创建

创建数据库管理员账号、密码。

4.7 通过工具连接 RDS 数据库实例。

远程连接 MySQL:

五、初始化 MySQL 数据库

5.1 创建 DataLight 数据库

在运行 DataLight 之前,创建 DataLight 数据库。

CREATE DATABASE db_datalight DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

5.2 导入 DataLight 表结构

导入 sql 文件的数据,SQL 语句的位置:D:\datalight\Boundivore\datalight部署包\datalight\orm\sql

5.3 导入完成,查看表内容

六、上传 DataLight 资源包

6.1 创建 DataLight 文件夹

在 Linux 系统中,创建文件夹 DataLight,命令如下:

mkdir -p /opt/datalight

6.2 准备上传工具

将内容拷贝上去:由于 Finalshell 拷贝大量文件夹时,老出现拷贝不全的情况。

该工具的下载链接是:https://www.filezilla.cn/download/client

6.3 查看待上传内容

6.4 准备上传

无论是 Finalshell 还是 Filezilla ,在拖拽的过程中,经常会因为网络抖动,造成文件丢失,所以为了保险起见,请先在当前本地系统中压缩整个资源包后,上传压缩包,并在 Linux解压更为稳妥。

6.5 上传压缩包

由于 K8S 较大,很多尝鲜的小伙伴用不上,上传 plugins 的时候可以不上传 KUBESPHERE 插件包。

仅需在第一个 node01(主节点) 节点上上传 datalight 文件夹下的内容,其它节点不需要上传。

6.6 解压压缩包

上传完成后,使用如下命令解压压缩包:

unzip dl.zip -d /opt/datalight/

6.7 安装系统依赖

可手动在每个节点完成如下内容的安装,也可以使用自动初始化脚本完成安装。

yum -y install epel-release  # 安装 EPEL 仓库,提供额外的软件包
yum -y install jq  # 安装 jq,用于处理 JSON 数据
yum -y install curl  # 安装 curl,用于命令行数据传输
yum -y install chrony  # 安装 chrony,用于时间同步
yum -y install expect  # 安装 expect,用于自动化交互式 shell 脚本
yum -y install openssl openssl-devel patch  # 安装 OpenSSL 和开发包及 patch 工具
yum -y install lrzsz  # 安装 lrzsz,用于 ZMODEM 文件传输
yum -y install unzip zip  # 安装 unzip 和 zip,用于解压和压缩文件
yum -y install yum-utils  # 安装 yum-utils,提供额外的 yum 命令
yum -y install net-tools  # 安装 net-tools,提供网络工具如 ifconfig
yum -y install bc
yum -y install gcc gcc-c++  # 安装 GCC 和 G++ 编译器
yum -y install make  # 安装 make,构建自动化工具
yum -y install autoconf automake libtool curl  # 安装 autoconf、automake、libtool 和 curl,用于构建和配置软件
yum -y install zlib lzo-devel zlib-devel openssl openssl-devel ncurses-devel ruby  # 安装 zlib、lzo-devel、zlib-devel、openssl、openssl-devel、ncurses-devel 和 ruby,用于压缩、加密、终端控制和 Ruby 语言支持
yum -y install snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop libXtst  # 安装 snappy、snappy-devel、bzip2、bzip2-devel、lzo、lzo-devel、lzop 和 libXtst,用于数据压缩和图形界面支持

6.8 修改自动初始化脚本配置

修改配置文件:/opt/datalight/assistant/conf/init-main-cluster.properties

# 准备初始化的节点列表配置信息,Key 前缀为序号,不可重复,需要初始化多少节点,则添加多少节点
# 建议:1.node.ip 为当前执行脚本的节点 IP
1.node.ip=172.17.238.41
1.node.ssh.port=22
1.node.hostname=node01
1.node.user.root=root
1.node.pwd.root=***************
1.node.user.datalight=datalight
1.node.pwd.datalight=123456782.node.ip=172.17.238.43
2.node.ssh.port=22
2.node.hostname=node02
2.node.user.root=root
2.node.pwd.root=***************
2.node.user.datalight=datalight
2.node.pwd.datalight=123456783.node.ip=172.17.238.42
3.node.ssh.port=22
3.node.hostname=node03
3.node.user.root=root
3.node.pwd.root=***************
3.node.user.datalight=datalight
3.node.pwd.datalight=12345678

6.9 修改数据库连接配置

由于你使用的是阿里云的数据库,所以需要修改 Master 连接 MySQL 的连接。

database:mysql:host: rm-2zesz8wlma97k45imdo.mysql.rds.aliyuncs.comport: 3306user: rootpassword: "******"dbName: db_datalight

6.10 修改 iptables.conf

如果启用了 iptables,则需修改如下内容。

39.105.124.191 22
39.105.124.191 80
39.105.124.191 443
39.105.124.191 8001
39.105.124.191 8002

6.11 启动时间同步

三台服务器的时间要同步,不同步,启动会失败。

systemctl enable chronyd
systemctl restart chronyd

6.12 执行整个节点的初始化脚本

上面的步骤中,有一部分内容的操作,在自动初始化脚本 init-main.sh 中已经包含了,只是本人手动操作了一部分。

具体差异可对比官方文档。

检查 /opt/datalight/assistant/repo/jdk 下 是否有jdk,没有的话需要上传。最终执行如下命令。

cd /opt/datalight/assistantsh main/init-main.sh

初始化过程如下图所示。

七、启动 Master

7.1 必要检查

请先检查 3 台节点的时间是否同步。

init-main.sh 脚本执行完毕后,环境变量不刷新,需要 3 台节点都重新刷新一下环境变量,以使当前 SSH Session 生效。或重连 SSH 会话。

source /etc/profile

7.2 启动 Master 进程

在 node01 节点,启动 Master 进程,命令如下。

/opt/datalight/bin/datalight.sh start master 8001

通过 jps 命令查看进程。

八、配置本地 IP 与主机名映射

为方便后续使用,可以在本地系统中配置 hosts 映射。

Windwos 中的路径如下:

C:\Windows\System32\drivers\etc

添加内容:

39.105.124.191 node01
39.105.126.251 node02
39.105.141.49 node03

九、访问 DataLight 页面

启动成功后,进行页面访问:

http://node01:8001

默认账户:admin

默认密码:admin

访问页面如下:

如遇失败,可查看日志:

/data/datalight/logs/app/datalight-master.log

相关文章:

使用阿里云快速搭建 DataLight 平台

使用阿里云快速搭建 DataLight 平台 本篇文章由用户 “闫哥大数据” 分享,B 站账号:https://space.bilibili.com/357944741?spm_id_from333.999.0.0 注意:因每个人操作顺序可能略有区别,整个部署流程如果出现出入,以…...

ubuntu设置自启动

1. 把要启动的程序或者脚本(比如A.sh、A1)放在 /usr/sbin 目录中。比如我的 A.sh 只是启动 A1 程序: #!/bin/bash/usr/sbin/A1echo "A1 finish!!!" 需要注意的是,脚本和程序都要有可执行的权限才行 2. 在 /etc/systemd/system 目录中创建 .…...

Paddle分布式训练报NCCL错

应该是没有装NCCL,但是通过NVIDIA官网方式用apt安装报错,说nccl签名有问题 打开官网查找对应版本的nccl:https://developer.nvidia.com/nccl/nccl-legacy-downloads 这里不下载local Ubuntu选项,下载O/S agnostic local install…...

PD3.1快充对我们到底有没有必要?

在科技飞速发展的今天,各种智能设备和电子产品已经渗透到了我们生活的方方面面。随之而来的,是对充电速度和效率的不断追求。正是在这样的背景下,USB联盟于2021年6月发布了最新的快充协议——PD3.1。那么,PD3.1快充协议对我们到底…...

Android OpenGL ES详解——立方体贴图

目录 一、概念 二、如何使用 1、创建立方体贴图 2、生成纹理 3、设置纹理环绕和过滤方式 4、激活和绑定立方体贴图 三、应用举例——天空盒 1、概念 2、加载天空盒 3、显示天空盒 4、优化 四、应用举例——环境映射:反射 五、应用举例——环境映射:折射 六、应用…...

Bugku CTF_Web——字符?正则?

Bugku CTF_Web——字符&#xff1f;正则&#xff1f; 进入靶场 <?php highlight_file(2.php); $keyflag{********************************}; $IM preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match); if…...

C# 中Math.Round 和 SQL Server中decimal(18,2) 不想等的问题

首先了解Math.Round方法的默认舍入规则 在C#中&#xff0c;Math.Round方法使用的是“银行家舍入法”&#xff08;也叫四舍六入五成双&#xff09;。这种舍入规则是&#xff1a;当要舍弃的数字小于5时直接舍去&#xff1b;当要舍弃的数字大于5时进位&#xff1b;当要舍弃的数字正…...

lab2:docker基础实战

一、实验目的 1.通过本次实验&#xff0c;完成Docker主机的安装和配置、镜像的搜索和下载、容器生命周期的基本管理、容器网络的管理。 2.通过Dockerfile来构建nginx镜像&#xff0c;了解Dockerfile镜像构建过程。 二、实验内容与实验要求 1.完成Docker的安装和配置。 2.完…...

Druid 1.2 源码导读

Druid 是阿里巴巴开源的数据库连接池和监控组件&#xff0c;广泛用于 Java 应用程序中。Druid 1.2 版本提供了高性能的连接池和丰富的监控功能。以下是对 Druid 1.2 源码的导读&#xff0c;帮助你理解其架构和设计。 1. 源码获取 从 GitHub 上获取 Druid 1.2 的源码&#xff…...

千益畅行,共享旅游卡市场乱象解析与未来展望

在当今旅游市场蓬勃发展的大背景下&#xff0c;共享旅游卡作为一种新兴的旅游消费模式&#xff0c;受到了广泛关注。然而&#xff0c;伴随着其快速发展&#xff0c;市场乱象也层出不穷。作为千益畅行共享旅游卡的全国运营总监&#xff0c;我深感有必要对这些问题进行深入剖析&a…...

Dubbo源码解析-服务导出(四)

一、服务导出 当我们在某个接口的实现类上加上DubboService后&#xff0c;就表示定义了一个Dubbo服务&#xff0c;应用启动时Dubbo只要扫描到了DubboService&#xff0c;就会解析对应的类&#xff0c;得到服务相关的配置信息&#xff0c;比如&#xff1a; 1. 服务的类型&…...

浅谈React的虚拟DOM

React的虚拟DOM&#xff1a;揭秘高效渲染的秘密 在React中&#xff0c;虚拟DOM&#xff08;Virtual DOM&#xff09;是一个核心概念&#xff0c;它是React能够提供高效渲染和更新的关键。虚拟DOM是一个轻量级的JavaScript对象&#xff0c;表示真实的DOM树。通过使用虚拟DOM&am…...

linux上海康SDK安装并设置环境变量

将HCNetSDK下linux部分复制到客户端电脑/usr/lib/HCNetSDK下:sudo cp -r H /usr/lib/HCNetSDK H是我的文件夹&#xff0c;要把这个文件夹的内容复制到/usr/lib/HCNetSDK路径里。 编辑&#xff1a;vi ~/.bashrc 找到export,按 i 插入换行添加 export LD_LIBRARY_PATH$LD_LIB…...

【计算机网络】UDP网络程序

一、服务端 1.udpServer.hpp 此文件负责实现一个udp服务器 #pragma once#include <iostream> #include <string> #include <cstdlib> #include <cstring> #include <functional> #include <strings.h> #include <unistd.h> #incl…...

什么是全域电商?有哪些电商代运营公司能做全域电商代运营?

什么是全域电商&#xff1f;有哪些电商代运营公司能做全域电商代运营&#xff1f; 随着电商行业的迅猛发展&#xff0c;传统的单一平台运营模式已经无法满足品牌多元化发展的需求。在此背景下&#xff0c;全域电商作为一种新兴的运营方式应运而生&#xff0c;成为越来越多品牌在…...

微信小程序上传pdf和显示

引用&#xff1a;https://blog.csdn.net/qq_54027065/article/details/129854339 loadResume(){let that thisuni.showLoading({title:"下载中"})wx.downloadFile({url:url,success:(res)>{console.log(res,"res11111")if (res.statusCode 200){setTi…...

MongoDB分布式集群搭建----副本集----PSS/PSA

MongoDB分布式集群 Replication 复制、Replica Set 复制集/副本集 概念 一、 副本集的相关概念 1.概念 “ A replica set is a group of mongod instances that maintain the same data set. ” 一组MongoDB服务器&#xff08;多个mongod实例&#xff09;&#xff08;有不…...

PDF编辑的好东西

1.Eage浏览器 直接拖到浏览器中就ok了&#xff0c;这样读书的话是非常爽的&#xff0c;然后的话最近&#xff0c;也不知道学啥&#xff0c;vue开发网站&#xff0c;一开始的配置&#xff0c;也是给我难到了&#xff0c;所以没有办法&#xff0c;就随便找点书看看吧&#xff0c…...

块设备的两种访问方法的区别

概述 1.当我们运行类似于“dd if/dev/sdb1ofsdb1.img”的命令把整个/dev/sdb1裸分区复制到sdb1.img的时候&#xff0c;内核走的是def_blk_fops这个file_operations 2.另外一种方法是通过文件系统来访问块设备&#xff0c;file_operations的实现则位于文件系统内&#xff0c;文…...

java 泛型中的 ?

在 Java 泛型中&#xff0c;? 被称为通配符&#xff08;wildcard&#xff09;&#xff0c;它代表了未知的类型。使用通配符可以增加代码的灵活性&#xff0c;允许在不知道具体类型的情况下操作泛型类或接口。通配符主要有以下几种形式&#xff1a; 无界通配符&#xff08;Unbo…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...