使用阿里云快速搭建 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——字符?正则? 进入靶场 <?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#中,Math.Round方法使用的是“银行家舍入法”(也叫四舍六入五成双)。这种舍入规则是:当要舍弃的数字小于5时直接舍去;当要舍弃的数字大于5时进位;当要舍弃的数字正…...

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

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

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

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

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

linux上海康SDK安装并设置环境变量
将HCNetSDK下linux部分复制到客户端电脑/usr/lib/HCNetSDK下:sudo cp -r H /usr/lib/HCNetSDK H是我的文件夹,要把这个文件夹的内容复制到/usr/lib/HCNetSDK路径里。 编辑: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…...

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

微信小程序上传pdf和显示
引用: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服务器(多个mongod实例)(有不…...

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

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

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

如何在jupyter notebook切换python环境
目录 参考链接 首先确保conda已经正常安装 conda --version 或者conda -V 以下请将“myenv”替换成自己的命名!!! 1-查看虚拟环境目录 conda env list 2-创建虚拟环境命令 conda create -n myenv 或者 conda create --name myenv 3-激活虚拟环…...

用Python将Word文档转换为Markdown格式
Markdown作为一种轻量级标记语言,以其简洁的语法和广泛的兼容性,特别适合用于博客、技术文档和版本控制系统中的内容管理。而Word文档则因其强大的排版功能,常常成为文档制作的首选。然而,直接使用Word格式在某些平台上可能显得过…...

CSV 文件
CSV,全称为 Comma-Separated Values)(逗号分隔值),是一种常用的文本文件格式,用于存储表格数据,如电子表格或数据库。它采用纯文本形式,以逗号作为字段之间的分隔符,每行…...

SpringCloud核心组件(五)
文章目录 Gateway一. 概述简介1. Gateway 是什么2. 什么是网关?3.Gateway 和 Nginx 两个网关的区别什么是流量入口? 4.Gateway 能干嘛5.gateway 三大核心概念6.运行方式 二. 入门案例a.创建gateway模块,在pom.xml中引入依赖b.创建启动类GatewayApplicat…...

TCP为什么需要三次握手和四次挥手,有哪些需要注意的地方?
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。为了确保数据能够准确无误地从一端发送到另一端,TCP设计了一系列机制来保证通信的可靠性,其中包括连接建立和断开的过程。 三次握手(Three-…...

机器学习(基础2)
特征工程 特征工程:就是对特征进行相关的处理 一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程 特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征,比如:字典特征提取(特征离散化)、文本特征提取、图像特征提取。 特征工程API 实例化…...

Cpolar 内网穿透使用
Cpolar登录地址:cpolar - secure introspectable tunnels to localhost 使用固定公网TCP连接ssh ssh -p端口号 用户名公网地址...

ThreadLocal 提供线程局部变量
ThreadLocal作用 相当于建立一个独立的空间,可以把使用频率高的任何类型的数据放到里面,方便调用用来存取数据:set()/get()使用ThreadLocal存储的数据,线程安全 ThreadLocal工具类 /*** ThreadLocal 工具类*/ SuppressWarnings(…...

MongoDB聚合管道数组操作
数组表达式运算符判断数组中是否包含元素( i n ) 并获取元素索引 ( in)并获取元素索引( in)并获取元素索引(indexOfArray) 一、初始化成员数据 db.persons.insertMany([{ "_id" : "1001", "name" : "张三", "fruits" : [ …...

大数据如何助力干部选拔的公正性
随着社会的发展和进步,干部选拔成为组织管理中至关重要的一环。传统的选拔方式可能存在主观性、不公平性以及效率低下等问题。大数据技术的应用,为干部选拔提供了更加全面、精准、客观的信息支持,显著提升选拔工作的科学性和公正性。以下是大…...