Apache SeaTunnel 及 Web 功能部署指南(小白版)

news2024/11/17 21:48:15

在大数据处理领域,Apache SeaTunnel 已成为一款备受青睐的开源数据集成平台,它不仅可以基于Apache Spark和Flink,而且还有社区单独开发专属数据集成的Zeta引擎,提供了强大的数据处理能力。随着SeaTunnel Web的推出,用户界面(UI)操作变得更加友好,项目部署和管理更加便捷。

file

本指南旨在提供一个简明扼要的步骤,帮助用户成功部署SeaTunnel及其Web界面。小主已经把可能遇到的坑都填过了,希望大家都能安安稳稳上路,不掉坑,话不多说,走起~

1.预置环境

1.1.所需软件包及版本要求

  • CentOS 7.6.18_x86_64

  • JDK >= 1.8.151

  • Maven >= 3.6.3

  • Apache Seatunnel ==2.3.3

  • Apache Seatunnel Web == 1.0.0

  • MySQL >= 5.7.28

file

1.2.下载地址

官网下载入口: 下载入口

apache-seatunnel-2.3.3: apache-seatunnel-2.3.3-bin.tar.gz

file

apache-seatunnel-web-1.0.0: apache-seatunnel-web-1.0.0

file

1.3.准备工作

1.3.1.安装JDK

安装及配置系统环境变量略过,自行百度

1.3.2.安装Maven

安装及配置系统环境变量、配置阿里云仓库镜像, 略过,自行百度

1.3.3.创建安装软件目录

创建SeaTunnel后端服务安装目录

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend

创建SeaTunnel前端服务安装目录

mkdir -p /opt/bigdata/seatunnel-2.3.3/web
file

1.3.4.下载或者本地上传安装包

下载apache-seatunnel-2.3.3-bin.tar.gz

#进入1.3.2中创建好的安装目录

cd /opt/bigdata/seatunnel-2.3.3/backend

#下载安装包

wget https://dlcdn.apache.org/seatunnel/2.3.3/apache-seatunnel-2.3.3-bin.tar.gz

下载[apache-seatunnel-web-1.0.0.tar.gz

#进入1.3.2中创建好的安装目录

cd /opt/bigdata/seatunnel-2.3.3/web

#下载安装包

wget https://dlcdn.apache.org/seatunnel/seatunnel-web/1.0.0/apache-seatunnel-web-1.0.0-bin.tar.gz

如果你已经将安装包下载到本地, 可通过FTP工具上传安装包到前后端各自的安装目录。

2.安装Apache Seatunnel

2.1.解压安装包

#解压后端安装包

tar -zxf /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3-bin.tar.gz

#重命名安装包

mv apache-seatunnel-2.3.3-bin apache-seatunnel-2.3.3
file

#解压前端安装包

tar -zxf /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0-bin.tar.gz

#重命名安装包

mv apache-seatunnel-web-1.0.0-bin apache-seatunnel-web-1.0.0
file

2.2.配置环境变量

/etc/profile中配置环境变量
file 让修改配置立即生效

source /etc/profile

2.3.下载JAR包

2.3.1.创建目录

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/flink

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/flink-sql

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/spark

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/seatunnel

file

2.3.2.修改下载脚本

下载脚本的位置

/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/bin
file

修改install-plugin.sh之前请先备份

mvn加速下载seatunnel相关jar包

安装seatunnel过程中,解压文件后官方默认提供的connector的jar包只有2个,要想连接mysql,oracle,SqlServer,hive,kafka,clickhouse,doris等时,还需下载对应的jar包。

file

使用本地Maven加速下载connector相关jar包

seatunnel下载connector的jar时,使用mvnw来下载jar包,默认是从https://repo.maven.apache.org 下载,速度及其缓慢。我们可以改成自己在linux系统上安装的mvn,配置阿里云远程仓库地址,从阿里云mvn源下载会快很多, 下面教大家如何进行修改。

修改其安装插件相关脚本,复制bin目录下install-plugin.sh重命名为install-plugin.sh.bak

file

替换脚本中的${SEATUNNEL_HOME}/mvnw为mvn,即可使用本地mvn,配合阿里云的mvn源,可加速下载。

file

2.3.3.执行下载
自动下载

执行命令即可,一般不推荐,因为从官网下载速度太慢,可以通过修改相关的代码进行手动加速下载。

系统默认自动下载时会下载所有的连接器JAR, 如果暂时不需要使用, 可以在执行下载脚本执行之前先在/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/config/pulgun_config配置中注释掉不需要的连接器
file

shell
sh /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/bin/install-plugin.sh

file

自动下载完成之后, 将/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/seatunnel下所有的jar包都拷贝到/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/lib目录下

手动下载

修改代码,通过阿里云的mvn源快速下载,然后将相关jar包复制到对应目录即可。

seatunnel-connectors下载地址

注意:下载jar复制到两个文件夹,一个是lib文件夹,一个是connectors/seatunnel文件夹。

2.3.4.测试验证

#进入安装目录

cd /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3

#启动服务

./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local

file

file file file

2.4.启动服务

#进入安装目录

cd /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3

#启动服务

nohup sh bin/seatunnel-cluster.sh 2>&1 &

在seatunnel的安装目录下查看日志

tail -f logs/seatunnel-engine-server.log 有以下类似信息打印出,说明启动成功。

file

必须保证Apache SeaTunnel的Server正常运行,Web端服务才能正常运行。

3.安装Apache Seatunnel Web

3.1.安装配置Seatunnel引擎集群

在SeaTunnel的Web端机器上需要安装SeaTunnel客户端,如果服务端与Web端在同一台机器,则可直接跳过这个步骤。

本文档的安装过程中,Seatunnel服务端和web是安装在同一台机器上, 所以直接跳过此步安装步骤。

这里所说的Seatunnel引擎客户端其实就是我们章2中安装的Seatunnel服务端, 下面讲解一下如何进行Seatunnel集群的安装配置

3.1.1.准备服务器节点

我们现在需要搭建Seatunnel引擎集群,需要准备n台服务器节点, 我这里使用了3台服务器。比如, 已知我们的3台服务器的IP分别是

192.168.1.110

192.168.1.111

192.168.1.112

我们直接在章2中已经安装部署好的Seatunnel单节点中进行集群的配置,主要的配置修改包含以下几项:

3.1.2.修改JVM参数

在seatunnel的安装目录,找到$SEATUNNEL_HOME/bin/seatunnel-cluster.sh

file

将 JVM 选项添加到$SEATUNNEL_HOME/bin/seatunnel-cluster.sh第一行

JAVA_OPTS=“-Xms2G -Xmx2G”

file

如果不想这样进行修改,也可以, 不过需要在进行集群启动时,自行增加JVM参数进行启动, 启动命令如下:

nohup sh $SEATUNNEL_HOME/bin/seatunnel-cluster.sh -DJvmOption="-Xms2G -Xmx2G" 2>&1 &

file

3.1.3.SeaTunnel Engine配置

SeaTunnel Engine Server配置是在sh $SEATUNNEL_HOME/config/seatunnel.yaml .

详细配置想可参考官方文档4. Config SeaTunnel Engine,这里不赘述

3.1.4.SeaTunnel Engine Server配置

SeaTunnel Engine Server配置是在sh $SEATUNNEL_HOME/config/hazelcast.yaml .

集群名称配置

SeaTunnel Engine 节点使用集群名称来确定对方是否与自己是一个集群。 如果两个节点之间的集群名称不同,SeaTunnel 引擎将拒绝服务请求。

网络配置

SeaTunnel Engine 集群基于 Hazelcast,是运行 SeaTunnel Engine Server 的集群成员的网络。 集群成员自动连接在一起形成集群。 这种自动加入是通过集群成员用来查找彼此的各种发现机制来实现的。

请注意,集群形成后,集群成员之间的通信始终通过 TCP/IP 进行,无论使用何种发现机制。

SeaTunnel 引擎使用以下发现机制。

TCP

您可以将 SeaTunnel Engine 配置为完整的 TCP/IP 集群。 有关配置详细信息,请参阅通过 TCP 发现成员部分。

hazelcast.yaml配置示例如下:

hazelcast:
  cluster-name: seatunnel
  network:
    join:
      tcp-ip:
        enabled: true
        member-list:
          - hostname1
    port:
      auto-increment: false
      port: 5801
  properties:
    hazelcast.logging.type: log4j2

在独立 SeaTunnel 引擎集群中我们建议使用TCP方式。

另一方面,Hazelcast 提供了一些其他的服务发现方法。 详情请参考hazelcast网

3.1.4.3 Map配置
  • type

imap持久化类型,目前仅支持hdfs。

  • namespace

命令空间用于区分不同业务的数据存储位置,例如OSS的桶名。

  • clusterName

这个参数主要用于集群隔离,我们可以通过这个来区分不同的集群,比如cluster1、cluster2,这个也可以用来区分不同的业务

  • fs.defaultFS

We used hdfs api read/write file, so used this storage need provide hdfs configuration

if you used HDFS, you can config like this:

map:
    engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: hdfs
           fs.defaultFS: hdfs://localhost:9000

如果没有 HDFS 并且您的集群只有一个节点,您可以配置为使用本地文件,如下所示:

map:
    engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: hdfs
           fs.defaultFS: file:///

如果你使用OSS,你可以这样配置:

map:
    engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: oss
           block.size: block size(bytes)
           oss.bucket: oss://bucket name/
           fs.oss.accessKeyId: OSS access key id
           fs.oss.accessKeySecret: OSS access key secret
           fs.oss.endpoint: OSS endpoint
           fs.oss.credentials.provider: org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider

3.1.5.SeaTunnel Engine Client配置

SeaTunnel Engine Client配置是在sh $SEATUNNEL_HOME/config/hazelcast-client.yaml .

集群名称配置

客户端必须与 SeaTunnel 引擎具有相同的集群名称。 否则,SeaTunnel 引擎将拒绝客户端请求。

网络配置

cluster-members

所有 SeaTunnel 引擎服务器节点地址都需要添加到此处。

hazelcast-client:
  cluster-name: seatunnel
  properties:
      hazelcast.logging.type: log4j2
  network:
    cluster-members:
      - hostname1:5801
3.1.6.启动Seatunnel引擎服务端节点
mkdir -p $SEATUNNEL_HOME/logs

cd $SEATUNNEL_HOME

./bin/seatunnel-cluster.sh -d

如果集群存在多台节点, 需要启动所有节点上的Seatunnel引擎服务。

3.1.7.安装Seatunnel引擎客户端并启动

您只需将SeaTunnel引擎节点上的安装目录目录复制到客户端节点主机的相同安装目录下,并像SeaTunnel引擎服务器节点一样配置SEATUNNEL_HOME,之后启动服务即可。

3.2.配置Seatunnel Web服务

3.2.1.数据库初始化
修改数据库连接配置

script/seatunnel_server_env.sh相关配置改为你的对应的数据库信息

file file

以上截图中原始文件中配置的是HOSTNAME,PORT,USERNAME,PASSWORD等,但是因为的机器上有全局配置文件也用了这几个变量名,但是链接的数据库信息和seatunnel连接的数据库不是一个数据库, 因为名称冲突导致在启动web服务时连接数据哭失败,

所以我这里修改了seatunnel_server_env.shinit_sql.sh脚本中的HOSTNAME,PORT,USERNAME,PASSWORD可以加上前缀SEATUNNEL_,变成了

SEATUNNEL_HOSTNAME,SEATUNNEL_PORT,SEATUNNEL_USERNAME,SEATUNNEL_PASSWORD

一定要记住, 如果你按照文档修改了seatunnel_server_env.sh脚本的变量名, 一定要将init_sql.sh脚本中对应的变量名称进行同步修改,如下图:
file

执行初始化数据库命令

进入seatunnel-web的安装目录,然后执行命令sh init_sql.sh,无异常则执行成功。

file

3.2.2.配置WEB后端服务
修改后端基础配置

web后端服务的配置文件都在${web安装目录}/conf

file

vim conf/application.yml修改端口号和数据源连接信息

file

配置client信息

将seatunnel引擎服务节点的安装目录下的config目录下的关于引擎客户端的配置文件拷贝到seatunnel-web安装目录下的conf目录下

同一台机器下部署直接使用以下拷贝命令(注意修改服务的安装目录为你自己的安装目录)

sudo cp /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/config/hazelcast-client.yaml /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0/conf

如果不在同一台机器上, 可以使用scp命令或者下载下来然后上传到web服务的安装主机的安装目录下的conf目录下即可。

配置支持的插件信息

将seatunnel引擎服务节点的安装目录下的connectors目录下的plugin-mapping.properties配置文件拷贝到seatunnel-web安装目录下的conf目录下

sudo cp /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0/conf

同一台机器下部署直接使用以下拷贝命令(注意修改服务的安装目录为你自己的安装目录)如果不在同一台机器上, 可以使用scp命令或者下载下来然后上传到web服务的安装主机的安装目录下的conf目录下即可。

3.2.3.下载配置数据源JAR包

这一步非常关键, 这一步如果没有配置好, 即使你正常启动了web应用,可能也会遇到下列问题:

  • 数据源类型选择页面为空, 我这里因为正常配置, 所以正常显示

file

  • 没有Source或者Sink进行选择

file

  • 任务无法正常执行
获取下载脚本

数据源JAR包的下载脚本在seatunnel-web的源码包中存在,它的目录在:

file

修改配置文件如下:

file

执行脚本,下载数据源JAR包

file

正在下载

file

成功下载下所有的datasourceJAR包

file

上传到Seatunnel-Web项目的libs目录

将以上所有jar包复制到/opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0/libs目录下

file

上传到Seatunnel引擎服务的lib目录

将以上所有jar包复制到/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/lib目录下

file

3.2.4.配置元数据MySQL的驱动JAR包

MySQL的驱动包mysql-connector-java-8.0.20.jar自行下载

file

上传到SeaTunnel引擎服务的lib目录

mysql-connector-java-8.0.20.jar包复制到/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/lib

file

3.2.5.启动WEB服务

这一步也很容易出错,很多人都配置对了,但是最后启动起来,发现无法通过浏览访问, 查看日志打印如下:

file

造成这样的问题就是你执行启动命令的位置不对, 注意web服务安装之后的目录结构如下图:

file

所以启动服务必须要保证服务可以访问到ui目录下的index.html文件才可以,因为项目启动前端的项目路径默认添加了/ui的前缀,所以后端项目的启动路径必须在ui目录的父级目录才可以,所以这里需要再web服务的安装目录下执行启动脚本,举例:

我这里的安装目录是/opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0, 所以我这里直接切换到该目录下,执行以下启动命令:

#进入web服务的安装目录
cd /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0
#执行启动脚本
sudo sh bin/seatunnel-backend-daemon.sh start

访问http://主机IP:12306 (此端口为conf/application.yml中配置的端口), 页面自动跳转到http://主机IP:12306/ui

默认登录的用户名和密码:

username:admin

password:admin

file

file

OK, 至此所有的搭建流程就结束了。

4.资源链接

这里面有些资源的下载特别慢, 这里将整个配置好的前后端的项目资源打包存放到百度网盘,地址如下:

Seatunnel引擎及Web服务一键安装包

提取码rryz

下载下来之后,修改所有涉及数据库连接的配置文件为你自己的连接配置信息, 然后执行3.2.1小节的初始化数据库命令, 然后依次启动SeaTunnel引擎服务、Web服务即可。

通过遵循上述步骤,你应该能够成功部署SeaTunnel及其Web界面。这将为你的大数据处理任务提供一个强大的工具,同时享受到基于Web的界面带来的便利。如果在部署过程中遇到任何问题,不要犹豫,查阅SeaTunnel官方文档或加入社区寻求帮助。

创作不易,对您有帮助,点个赞呗,感谢~

本文由 白鲸开源科技 提供发布支持!

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

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

相关文章

Python异步IO库之uvloop使用详解

概要 在Python中,异步编程已经成为处理高并发和IO密集型任务的主要方式之一。而uvloop库则是一个专门针对异步IO操作进行优化的库,它能够显著提高异步程序的性能。本文将深入探讨uvloop库的使用方法、功能特性以及如何利用它来加速异步IO编程。 什么是uvloop库? uvloop是一…

探讨:围绕 props 阐述 React 通信

在 ✓ 🇨🇳 开篇:通过 state 阐述 React 渲染 中,以 setInterval 为例,梳理了 React 渲染的相关内容。 📢 本篇会 ✓ 🇨🇳 围绕 props 阐述 React 通信 props React 组件使用 pro…

存储xss实现获取cookie(本地实战)

实战更能体验收获&#xff01;&#xff01;&#xff01; 环境准备&#xff1a; 1.phpstudy 2.dvwa靶场 实战 首先我们在phpstudy指定的localhost网站目录下编写一个xss.php文件&#xff0c;内容如下&#xff1a; <?php $cookie $_GET[cookie]; $ip getenv (REMOTE_…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的活体人脸检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;本篇博客详细讲述了如何利用深度学习构建一个活体人脸检测系统&#xff0c;并且提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并进行了与前代算法YOLOv7、YOLOv6、YOLOv5的细致对比&#xff0c;展示了其在图像、视频、实时视频流和批量文件处…

找出异常点 python

统计学方法 zscore 原理&#xff1a; Z-score 基于正态分布理论&#xff0c;它量化了数据点距离数据集平均值的相对标准偏差。 通常&#xff0c;如果 Z-score 的绝对值超过某个阈值&#xff08;如3或更大&#xff09;&#xff0c;该数据点就被认为是异常值。这是因为正态分布下…

【Spring】模拟 Spring 框架

Spring IoC 容器的实现原理&#xff1a;工厂模式 解析XML 反射机制 我们给自己的框架起名为&#xff1a;mySpring&#xff08;我的春天&#xff09; 一、创建 mySpring 模块 引入dom4j 和 jaxen 的依赖&#xff0c;因为要使用它解析XML文件&#xff0c;还有 junit 依赖 &l…

【MATLAB】SVMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 SVMD_MFE_SVM_LSTM神经网络时序预测算法结合了单变量分解&#xff08;SVMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、聚类后展开支持向量机&#xff08;SVM&#xff09;…

Ethernet/IP转CC-Link IEFB协议网关

产品功能 1 YC-EIP-CCLKIE工业级EtherNet/IP 网关 2 CC-Link IEFB转 EtherNet/IP 3支持多个CC-Link IEFB节点 4 即插即用 无需编程 轻松组态 ,即实现数据交互 5导轨安装 支持提供EDS文件 6 EtherNET/IP与CC-Link IEFB互转数据透明传输可接入PLC组态 支持CodeSys/支持欧姆…

xss.haozi.me靶场练习

靶场地址alert(1) 1、第一关 输入在文本框里面&#xff0c;我们闭合前面的标签&#xff0c;中间的内容我们就可以随意写了 2、第二关 逃逸value的属性即可&#xff0c;这里使用点击事件触发xss 3、第三关 看代码&#xff0c;使用了正则表达式&#xff0c;去掉了所有的括号字…

【MATLAB】MVMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 MVMD_MFE_SVM_LSTM神经网络时序预测算法结合了多变量多尺度分解&#xff08;MVMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、支持向量机&#xff08;SVM&#xff09;和长…

Vueuse:打造高效的 Vue.js 开发利器

Vueuse&#xff1a;打造高效的 Vue.js 开发利器 Vueuse 是一个功能强大的 Vue.js 生态系统工具库&#xff0c;它提供了一系列的可重用的 Vue 组件和函数&#xff0c;帮助开发者更轻松地构建复杂的应用程序。本文将介绍 Vueuse 的主要特点和用法&#xff0c;以及它在 Vue.js 开发…

JS总览-JS高级程序设计4-学习笔记

JS简史 1995年 JS 问世&#xff0c;彼时其主要任务是替代服务器端语言处理输入验证 1995年网景公司的 Brendan Eich 开发了一个脚注Live Script的脚步语言&#xff0c;后来网景公司与 Sun 公司结盟&#xff0c;更名 Live Script 为 Java Script 由于微软发布 IE3 时包含了自己…

【Linux】基础篇-Linux四种环境搭建的方式(详细安装说明步骤,搭载下载安装地址)

目录 1. 使用虚拟机&#xff08;推荐VMware&#xff09;centos 7版本 1.1VMware虚拟机下载 1.2VMware 安装 1.3centos-7 清华大学镜像下载 1.4 centos-7 清华大学镜像导入虚拟机VMware 2.使用虚拟机ubuntu 20.04版本 2.1虚拟机下载同上 2.2虚拟机安装同上 2.3ubunt…

selenium-激活pycharm,以及在pycharm中使用selenium时标红报错问题处理

激活pycharm&#xff1a;http://idea.955code.com/ 01 pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium&#xff1a; 解决方法: 在pycharm中通过设置或terminal面板重新安装s…

KubeEdge 边缘计算

文章目录 1.KubeEdge2.KubeEdge 特点3.KubeEdge 组成4.KubeEdge 架构 KubeEdge # KubeEdgehttps://iothub.org.cn/docs/kubeedge/ https://iothub.org.cn/docs/kubeedge/kubeedge-summary/1.KubeEdge KubeEdge 是一个开源的系统&#xff0c;可将本机容器化应用编排和管理扩展…

最新版阿里云Linux CentOS7 ecs-user用户安装Mysql8详细教程(超简单)

经过两天的踩坑后&#xff0c;终于成功安装&#xff0c;并找到了最快捷的安装方式。接下来就由我来给大家介绍不踩坑安装大法&#xff01; 一、下载Mysql 首先前往Mysql官网下载 MySQL官方下载地址 第一步&#xff0c;选择安装包&#xff0c;这是最关键的一步&#xff0c;选错安…

弹窗内容由后端返回,如何让点击按钮的事件交由前端控制?

一、场景 背景&#xff1a;因为系统里经常有新活动或者公告需要通知所有用户&#xff0c;希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候&#xff0c;前端项目都发版了。因此&#xff0c;前端维护了这个弹窗和它的关闭事件&#xff0c;至…

【kubernetes】关于云原生之k8s集群的pod理论详解

目录 一、pod的基础概念 什么是pod&#xff1f; k8s集群中pod的两种使用方式 pod中运行容器的原则&#xff1a; 创建pod的3种方式 第一种&#xff1a;自主式Pod 第二种&#xff1a;控制器管理的Pod 第三种&#xff1a;静态Pod 二、pod中容器的基础概念 pod容器的分类 …

阿里云4核16G服务器多少钱?幻兽帕鲁配置报价

2024阿里云幻兽帕鲁专用服务器价格表&#xff1a;4核16G幻兽帕鲁专用服务器26元一个月、149元半年&#xff0c;默认10M公网带宽&#xff0c;8核32G幻兽帕鲁服务器10M带宽价格90元1个月、271元3个月。阿里云提供的Palworld服务器是ECS经济型e实例&#xff0c;CPU采用Intel Xeon …

http模块-通过创建的服务器将本地文件转换成web资源

案例-通过创建的服务器将本地文件转换成web资源 目的&#xff1a;将本地文件转换成web资源思路&#xff1a;将文件实际存放的地址作为每个资源的请求url地址。大致流程&#xff1a; 浏览器–请求->自己写的web服务器–读文件->磁盘目录–读取完毕->自己写的web服务器…