首页/新闻资讯/正文详情

华为云ECS四节点Hadoop+Spark集群搭建与避坑指南

发布时间:2026/11/15 10:25:53 来源:云帆数科 栏目:资讯中心
华为云ECS四节点Hadoop+Spark集群搭建与避坑指南
简介围绕华为云大数据实验教学整理的一份实操型报告面向高校大数据、云计算相关课程学生及需要熟悉华为云平台的技术人员。整包仅含1个docx文档约4.36MB以图文实验记录形式组织便于按实验模块查阅与复盘。内容覆盖云主机实现大数据、云服务实现大数据、BigData Pro综合实验和大数据交互式查询四个部分涉及ECS、OBS访问配置、Hadoop集群搭建与节点通信、Spark集群部署、Spark SQL/Flink SQL查询等关键环节并保留环境准备、配置命令、测试验证和结果查看等过程性材料。已有2541人学习适合用于课程实验对照、步骤复现、报告撰写参考及排错思路梳理。1. 先说一下这套四节点云的第一个坑顺序比配置更要命在华为云上做 big data 大数据实验很多人以为难点是 Hadoop 那一堆 xml真正把集群搞趴的往往是装机顺序四台 ECS 先把主机名和/etc/hosts定死再做 SSH 互信最后才装 JDK 和 Hadoop——顺序反了后面每一步都在补前面的问题。见得最多的失败案例是 node1 上hdfs namenode -format执行了两次DataNode 一个都起不来jps里只剩一个 NameNode日志里 clusterID 对不上只能删目录重来而云主机还在按小时计费。这套环境本身不复杂难在试错成本按分钟算装错一次就是一次重装。这篇写给要在云上从零搭出一套能跑 wordcount、又能读到 OBS 的 Hadoop Spark 集群的人装什么、参数怎么填、坏了怎么救一条条走。2. 开装前把资源备齐ECS 规格、OBS 桶与 AK/SK 的三个准备动作装 Hadoop 之前最容易省掉、又最不该省的是资源规划。云上不像本地机房机器是现买的规格选错要么跑不动要么钱包先受不了。这一步的核心是三件事四台 ECS 按角色分配规格、OBS 建对桶类型、AK/SK 拿到手并保管好。这三件事做完后面所有配置都有地方填值。2.1 四台 ECS 的规格、镜像与计费方式节点规划我一般这么分node1 当 master同时承担 NameNode 和 ResourceManagernode2 到 node4 当 worker跑 DataNode 和 NodeManager。四台机器必须在同一 VPC、同一子网、同一安全组内内网互通是 Hadoop 集群的生命线跨子网跨安全组带来的排查成本远超想象。主机名角色建议规格数据盘是否绑 EIPnode1NameNode / ResourceManager4 vCPU / 8 GiB100 GiB是做跳板node2DataNode / NodeManager4 vCPU / 8 GiB100 GiB否node3DataNode / NodeManager4 vCPU / 8 GiB100 GiB否node4DataNode / NodeManager4 vCPU / 8 GiB100 GiB否只有 node1 绑弹性公网 IP其余三台只走内网。这是省钱也是省事的做法实验期间所有操作从 node1 跳过去公网暴露面只有一台。规格上 2 vCPU / 4 GiB 也能把集群拉起来但一跑 Spark shuffle 就容易 OOM重跑一次的时间成本比升配贵。系统盘 40 GiB 够用数据盘单独挂载到/dataHadoop 的tmp、name、data三个目录全放数据盘后面扩容、做快照、整盘重建都方便。镜像选 openEuler 或 CentOS 7.9 系的 x86_64 版本架构必须和 ECS 规格一致。计费方式选按需按小时实验做完直接释放包年包月在这类一次性场景里纯属浪费。安全组入方向只放 22 端口来源限制成自己的出口 IP9870、9000、8088、7077 这些端口只放安全组内部互访不要对公网开放。2.2 OBS 桶与并行文件系统怎么建OBS 在这个环境里承担两件事一是放实验数据wordcount 的输入、Spark 的源数据二是作为 Hadoop 兼容文件系统被obs://协议直接访问。建桶的时候有几条硬规则桶名全局唯一、全小写、3 到 63 个字符区域必须和 ECS 一致ECS 在 cn-north-4桶也建在 cn-north-4否则跨区访问延迟高、还可能产生额外流量费用存储类别选标准存储实验数据不需要归档级别的低频访问。访问域名有两套用哪套取决于网络# 桶的访问域名区域 cn-north-4 obs.cn-north-4.myhuaweicloud.com # IPv4 终端节点 obs.dualstack.cn-north-4.myhuaweicloud.com # 双栈终端节点集群开了 IPv6 时用这个如果实验里要用 Hadoop 或 Spark 直接对 OBS 做文件系统级读写还需要建并行文件系统而不是普通对象桶。普通对象桶是键值语义rename、append这类操作代价很高并行文件系统提供 POSIX 语义元数据操作快Hadoop 的FileSystem接口在上面跑才不至于卡在 list 和 rename 上。桶策略保持私有不要图省事开公共读实验室里数据泄露和密钥泄露往往是一起发生的。2.3 AK/SK 的生成、下载与保管访问 OBS 靠的是访问密钥对Access Key IdAK和 Secret Access KeySK。生成路径在控制台右上角「我的凭证」→ 访问密钥 → 新增访问密钥确认后会下载一个credentials.csv里面是三列# credentials.csv 的结构值已打码真实文件只下一次 User Name,Access Key Id,Secret Access Key 用户名,AK20 位左右,SK40 位左右这个文件只在那一次生成时能下载关掉页面就再也拿不到 SK只能重新生成一对。一个账号最多保留两对密钥够做轮换。我在实验报告里见过最危险的写法把 AK/SK 原样贴进报告正文和截图里甚至提交到公开仓库——这等于把桶的读写权限公开了。如果已经贴出去了正确动作是立刻去控制台禁用这对密钥、重新生成一对然后检查桶日志有没有异常访问而不是删掉文字了事。密钥在集群里怎么存也有讲究。直接写进core-site.xml明文是可以跑通的但这份 xml 会被分发到四台机器也会被顺手提交进代码仓库。稳妥一点的做法是用 Hadoop 的凭据提供者把 SK 存进密钥库配置文件里只留别名。实验环境图快可以先用环境变量注入至少别写死在版本库里。装 obsutil 做个连通性验证比后面在 Hadoop 里盲试省时间# 在 node1 上配置并验证 AK/SK 与桶是否互通 ./obsutil config -iAK -kSK -eobs.cn-north-4.myhuaweicloud.com ./obsutil ls obs://桶名/-i和-k分别是 AK 和 SK-e是终端节点必须和桶所在区域匹配填错区域会报 403 而不是 404很容易误判成权限问题。ls能列出桶内容说明密钥和网络都通了再往下配 Hadoop 才有意义。3. 系统底座OpenJDK、hosts 与 SSH 互信的落地顺序资源开好之后四台机器要变成「一个集群」靠的是三样东西统一的 JDK、能互相解析的主机名、以及免密登录。这三件事有严格先后先主机名和 hosts再 SSH 互信最后装 JDK 和 Hadoop。原因很简单SSH 互信里要拼公钥公钥末尾带的是root主机名主机名没定死拼出来的文件四台机器对不上后面所有分发脚本都会失败。3.1 装 OpenJDK 并关掉防火墙Hadoop 3.x 对 JDK 的要求是 8 或 11实验环境用 8 最省事镜像仓库里直接有。四台机器都要装不要只装 node1start-dfs.sh会 ssh 到其他节点去拉进程对端没有 java 就直接退出。# node1 到 node4 分别执行 dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel # CentOS 7 系用 yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version readlink -f $(which java) # 拿到真实路径后面配 JAVA_HOME 用java-1.8.0-openjdk是运行环境-devel带编译工具Hadoop 本身不需要编译但有些压缩库依赖它一起装掉省事。readlink -f那条很关键JAVA_HOME要填的是 JDK 根目录不是bin/java的路径很多人在这里多写一层binHadoop 启动时报找不到 java。防火墙这块实验环境常见做法是直接关掉因为 Hadoop 节点之间要开的端口太多一个个放行容易漏# 四台分别执行 systemctl stop firewalld systemctl disable firewalld setenforce 0 # 临时关闭 SELinux sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config # 永久关闭需要注意的是关防火墙只是实验环境的简化。真要在受控网络里跑正确做法是保留 firewalld按端口放行9870 是 NameNode Web UI9000 是 HDFS RPC8088 是 YARN ResourceManager9864 是 DataNode HTTP7077 是 Spark master。生产环境靠安全组做边界主机防火墙做细粒度两层都留着。3.2 主机名与 /etc/hosts 一一对应云主机默认主机名是ecs-xxxx-0001这种自动生成的串重启、重建实例还会变。集群里所有配置都引用主机名所以第一步就是改名并写死解析。# 每台机器只改自己的主机名 hostnamectl set-hostname node1 # node2/node3/node4 对应改 # 四台都编辑同一个文件 vim /etc/hosts内容统一成四行全部用内网 IP192.168.0.10 node1 192.168.0.53 node2 192.168.0.169 node3 192.168.0.77 node4这里有两个坑。一是不要写公网 IPHadoop 节点之间走内网写公网 IP 会导致数据在公网上绕一圈速度慢还计费而且 ECS 停止再启动后公网 IP 可能变化hosts 就失效了。二是不要给同一台机器写多个别名比如node1 ecs-ca89-0001 ecs-ca89-0001这种主机名解析出现歧义时Hadoop 会用不同名字注册同一个节点NameNode 里就会出现死节点和活节点同时存在的怪现象。还有一条容易被忽略ECS 如果按需创建、中途关机再开机内网 IP 有概率变化。实验周期超过一天的话建议在控制台给每台机器指定固定内网 IP或者干脆不关机用快照保留现场。3.3 authorized_keys 的正确拼法免密登录的原理不复杂把四台的公钥合成一个文件让每台机器的~/.ssh/authorized_keys里都包含全部四个公钥。麻烦在拼接这个动作上十个翻车里有八个栽在这。# 四台分别生成密钥对-N 表示空密码避免脚本卡在交互 ssh-keygen -t rsa -b 2048 -N -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub # 复制输出的整行内容把四台的公钥各自存成一个文件传到 node1然后合并# node1 上执行四行公钥合成一份注意每行结尾必须有换行 cat node1.pub node2.pub node3.pub node4.pub /tmp/all_keys sort -u /tmp/all_keys -o /tmp/all_keys wc -l /tmp/all_keys # 正常情况下应该是 4 行 # 分发到四台权限一并设好 for h in node1 node2 node3 node4; do scp /tmp/all_keys $h:~/.ssh/authorized_keys ssh $h chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys chmod 600 ~/.ssh/id_rsa donesort -u去重是因为 node1 自己可能既在本地文件里又在别处被收集过一次重复项本身不影响登录但会让后面排查时误以为公钥数量不对。wc -l是自检四台机器就是 4 行如果是 3 行说明有两行粘在一起了。验证不要用交互式ssh node2那样即使要密码你也不一定注意。用批处理模式有密码提示就直接失败# 四台全测一遍任何一台要密码都会立刻报错 for h in node1 node2 node3 node4; do ssh -o BatchModeyes -o ConnectTimeout5 $h hostname done输出四个主机名说明互信成立。BatchModeyes禁止任何交互ConnectTimeout5防止网络不通时卡住。这个命令我后面每次动过网络配置都会再跑一遍比事后在 Hadoop 日志里找Permission denied快得多。4. Hadoop 与 Spark 集群搭建配置文件、格式化与启动底座通了接下来是把 Hadoop 装上去并让四个节点组成一个 HDFS 集群再把 Spark 接进来。这一段是整个实验里配置项最密集的地方核心只有一句话所有配置文件在 node1 上改好再一次性分发到其他三台。四台各改一遍必然出现某一台workers少一行、某一台core-site.xml端口不一样的经典事故。4.1 下载解包与 HADOOP_HOME安装包建议直接从对象存储或内网镜像拉四台都下载一遍太慢我一般是 node1 下好再 scp 分发。# node1 上执行 cd /opt wget https://镜像站/hadoop/hadoop-3.3.6.tar.gz tar -zxvf hadoop-3.3.6.tar.gz mv hadoop-3.3.6 hadoop mkdir -p /data/hadoop/{tmp,name,data} chown -R root:root /opt/hadoop版本上Hadoop 3.x 这一档内部小版本差异不大关键是四台必须完全一致混装 3.3 和 3.4 会在 RPC 协议上出问题报错信息还特别含糊。解包目录我习惯放/opt/hadoop数据目录放/data/hadoop两者分开的好处是以后换机器只要挂数据盘就行。环境变量写进~/.bashrcexport HADOOP_HOME/opt/hadoop export PATH$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk # 用 readlink 拿到的真实路径 export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop改完source ~/.bashrchadoop version能输出版本号就算装好了。注意JAVA_HOME在这里写一份还不够后面hadoop-env.sh里还要再写一次原因在 5.3 会讲。4.2 core-site.xml、hdfs-site.xml 与 workers配置文件都在$HADOOP_HOME/etc/hadoop/下。先改core-site.xml它决定整个集群的默认文件系统和临时目录configuration property namefs.defaultFS/name valuehdfs://node1:9000/value /property property namehadoop.tmp.dir/name value/data/hadoop/tmp/value /property /configurationfs.defaultFS里的主机名必须是 node1写成 IP 也能跑但换机器时要改的地方就多了。hadoop.tmp.dir一定要改到数据盘默认值在/tmp下机器一重启临时文件被清理NameNode 元数据跟着没了这是最贵的坑之一。再改hdfs-site.xmlconfiguration property namedfs.replication/name value2/value /property property namedfs.namenode.name.dir/name value/data/hadoop/name/value /property property namedfs.datanode.data.dir/name value/data/hadoop/data/value /property /configurationdfs.replication默认是 3四节点集群里挂掉一台副本数就凑不齐写操作会一直重试。实验环境降到 2磁盘占用砍掉三分之一稳定性也够用。三个目录都指向/data容量不够时只扩数据盘不用动系统盘。然后是workers文件列出所有 DataNode 节点node2 node3 node4node1 不写进去它只当 master。这里有个版本差异必须提Hadoop 3.x 读的是workers2.x 时代这个文件叫slaves。从老教程抄过来的配置文件名写成slaves在 3.x 上启动时不会有任何报错只是 DataNode 一个都不启动jps里干干净净新手很容易在这里卡半天。hadoop-env.sh里补一行 JAVA_HOMEexport JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk改完打包分发四台的配置必须字节级一致# node1 上执行把整个配置目录同步到其他节点 for h in node2 node3 node4; do rsync -av $HADOOP_HOME/etc/hadoop/ $h:$HADOOP_HOME/etc/hadoop/ done4.3 首次格式化与 start-dfs.sh格式化 NameNode 是整个流程里唯一带「不可逆」性质的动作# 只在 node1 上执行且只执行一次 hdfs namenode -format执行完会打印一串Storage directory /data/hadoop/name has been successfully formatted看到这句就停手。第二次执行会把 clusterID 重新生成而已经启动过的 DataNode 本地记录的还是旧的 clusterID两边对不上DataNode 启动即退出日志里写的是Incompatible clusterIDs。真发生了也不是没救停掉全部进程删掉/data/hadoop/name和所有节点上的/data/hadoop/data重新格式化一次代价是数据全丢——实验环境无所谓生产环境这就是事故。启动顺序是 HDFS 先行、YARN 跟上start-dfs.sh start-yarn.sh # 四台分别执行 jps 检查 jpsnode1 上应该看到NameNode、ResourceManager、SecondaryNameNodenode2 到 node4 上应该看到DataNode、NodeManager。少任何一个都先去对应节点的logs/目录看.log和.outHadoop 的报错信息写得比大多数中间件都清楚前提是你去找。4.4 Spark 与环境变量对接Spark 在这里的角色是计算引擎读 HDFS 也读 OBS。装法比 Hadoop 简单预编译包解压即用关键是版本要选-bin-hadoop3后缀的否则自带的 Hadoop 客户端版本对不上。cd /opt tar -zxvf spark-3.x.x-bin-hadoop3.tgz mv spark-3.x.x-bin-hadoop3 spark cd /opt/spark/conf cp spark-env.sh.template spark-env.shspark-env.sh里加三行export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_CONF_DIR/opt/hadoop/etc/hadoop export SPARK_MASTER_HOSTnode1HADOOP_CONF_DIR这一行是整套配置里最值钱的一行。指向 Hadoop 的配置目录后Spark 会自动读取core-site.xml和hdfs-site.xml也就自动拿到了fs.defaultFS和后面要加的 OBS 相关参数。少了这一行Spark 读obs://会报No FileSystem for scheme obs很多人以为是 jar 没放对其实是配置根本没被读到。OBS 对接要往core-site.xml里补四个属性并把 OBS 的 Hadoop 插件 jar 丢进share/hadoop/tools/lib/property namefs.obs.impl/name valueorg.apache.hadoop.fs.obs.OBSFileSystem/value /property property namefs.obs.access.key/name value${env.OBS_AK}/value /property property namefs.obs.secret.key/name value${env.OBS_SK}/value /property property namefs.obs.endpoint/name valueobs.cn-north-4.myhuaweicloud.com/value /property用${env.OBS_AK}这种写法是为了不把密钥落盘代价是启动进程的环境里必须有这两个变量spark-submit和hadoop命令都要在同一 shell 下执行。fs.obs.endpoint填 IPv4 终端节点集群开了 IPv6 才换成双栈那一个填错区域会报鉴权失败报错信息指向密钥实际是域名问题。5. 排错避坑五条把集群搞趴的现场记录这套环境跑通之后回头看真正花时间的不是装是装错之后的定位。下面五条是实验里出现频率最高的每条都按「现象 → 原因 → 解决」记照着对号入座能省掉大半重装。5.1 现象jps 只有 NameNodeDataNode 集体消失原因基本锁定在格式化次数上。hdfs namenode -format每执行一次/data/hadoop/name/current/VERSION里的clusterID就重新生成一次而 DataNode 的VERSION里记的还是上一次的 ID。两边不一致时DataNode 启动瞬间完成注册又立刻退出jps里看不到日志里能看到Incompatible clusterIDs。解决分两种情况。如果集群里还没有任何数据直接停进程、删目录、重新格式化stop-dfs.sh之后删掉 node1 的/data/hadoop/name和四台的/data/hadoop/data再hdfs namenode -format一次。如果已经有数据不能丢就别格式化改成把 NameNode 的VERSION里clusterID抄到各 DataNode 的VERSION里重启 DataNode。前一种做法在实验环境里占九成后一种只在数据不能丢时用。顺带说一个排查习惯判断 DataNode 是真没起还是起了又挂看logs/hadoop-root-datanode-nodeX.log的最后 30 行比反复jps有效。5.2 现象ssh 免密登录某台机器仍然要密码ssh node3弹密码或者报Permission denied (publickey)。先别怀疑密钥生成八成是authorized_keys的拼接出了问题两个公钥粘在同一行中间没有换行符SSH 把后半段当成第一个密钥的注释整行解析失败那一台的公钥等于没写进去。验证方法很直接awk END{print NR} ~/.ssh/authorized_keys四台机器都该是 4。少于 4 就是粘一起了。修法是重新用cat a.pub b.pub c.pub d.pub合并确保每个.pub文件本身以换行结尾。还有一类是同权限相关的家目录权限 755 不够SSH 对.ssh目录要求 700、对authorized_keys要求 600对家目录要求不能是 group 可写。chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys之后再试。这两种原因长得一样先查行数再查权限顺序别反。5.3 现象start-dfs.sh 报 JAVA_HOME is not set明明java -version能输出版本echo $JAVA_HOME也有值一执行start-dfs.sh就提示找不到 java。原因是start-dfs.sh通过 ssh 去其他节点拉起进程走的是非交互式 shell不加载~/.bashrc那里面的JAVA_HOME根本不存在。解决是把JAVA_HOME写进$HADOOP_HOME/etc/hadoop/hadoop-env.sh这个文件是 Hadoop 启动脚本自己 source 的不受 shell 类型影响。同样的问题会出现在yarn-env.sh和 Spark 的spark-env.sh里三个文件都写上最稳。另一种变体是 java 路径写错多写了一层bin。JAVA_HOME要的是 JDK 根目录$JAVA_HOME/bin/java才是可执行文件。用readlink -f $(which java)拿到真实路径去掉末尾的/bin/java就是正确答案。5.4 现象ECS 重启后集群起不来hosts 里的 IP 全部失效按需计费的 ECS 停机再开机内网 IP 有概率变化/etc/hosts里写死的地址就对不上了表现为节点之间互相 ping 不通、start-dfs.sh卡在某台机器上超时。如果同时主机名也被重置成ecs-xxxx-0001那就是双重故障。预防比修复重要创建实例时在控制台指定固定内网 IP或者在实验周期内不关机用快照保存状态。已经变了的话去控制台查四台机器当前的内网地址重写/etc/hosts并重新分发然后跑一遍 3.3 里的BatchMode批量探测确认互信还在。主机名被重置的重新hostnamectl set-hostname之后要重启一次否则hostname命令的输出和内核里登记的名字不一致Hadoop 注册节点时用的还是旧名。5.5 现象Spark 读 obs:// 报 No FileSystem for scheme obs集群本身是好的hdfs dfs -ls /正常一读 OBS 就报这个错。三种原因按概率排插件 jar 没放到$HADOOP_HOME/share/hadoop/tools/lib/下或者放了但四台只放了一台core-site.xml里fs.obs.impl写错类名HADOOP_CONF_DIR没在spark-env.sh里配Spark 压根没读到这份配置。排查顺序是先确认 jarls $HADOOP_HOME/share/hadoop/tools/lib/ | grep obs四台都要有。再确认配置hadoop fs -ls obs://桶名/这条能在 node1 上跑通说明 Hadoop 侧配好了问题就落在 Spark 的HADOOP_CONF_DIR上。最后确认密钥和区域fs.obs.endpoint与桶所在区域不一致时报的是鉴权失败容易误判成 AK/SK 错了。6. 装完怎么验证三条线跑通才算真的装好装完不等于跑通我一般按三条线验证每条都对应一个具体的能力全部通过才认为这套环境可以交付。验证项命令健康输出HDFS 读写hdfs dfs -mkdir -p /test/input hdfs dfs -put /etc/hosts /test/input/无报错hdfs dfs -ls /test/input/能看到文件wordcounthadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /test/input /test/output任务 SUCCEEDEDpart-r-00000里有词频OBS 互联hadoop fs -ls obs://桶名/列出桶内对象或返回空列表第一条验证的是 HDFS 本身。put成功说明 NameNode 和至少一个 DataNode 在正常工作如果put卡住然后报could only be replicated to 0 nodes回去看 5.1。第二条验证的是 YARN 和整个 MapReduce 链路wordcount是最经典的冒烟测试因为它同时压到了 HDFS 读、shuffle 写、HDFS 写三个环节。跑完之后hdfs dfs -cat /test/output/part-r-00000 | head看到每个词后面跟着次数这条线就算通了。第三条验证 OBS。这里有个细节hadoop fs -ls obs://能列出内容只说明读权限和网络通要验证写得再跑一次hdfs dfs -put /etc/hosts obs://桶名/test/写成功才说明 AK/SK 的完整权限没问题。写不进去但能列出多半是桶策略只给了读权限或者用的是并行文件系统却按普通桶的路径访问。Spark 侧的验证放在最后因为它的依赖最多# 交互式查询直接读 OBS 上的文件做统计 spark-sql --master local[2] -e SELECT count(*) FROM parquet.\obs://桶名/test/\; 这条命令能返回行数说明 Spark、Hadoop 配置、OBS 密钥三者全部对齐。跑不通就按 5.5 的顺序倒查别一上来就重装 Spark那是最没效率的做法。从那以后我每次开新集群都强制先跑一遍四节点的ssh -o BatchModeyes批量探测再hdfs dfs -put一个小文件确认写入最后才动业务数据。这套动作花不到两分钟能挡掉后面百分之八十的返工。希望帮到你。本文还有配套的精品资源点击获取

相关推荐

云主机大数据实验报告:Hadoop/Spark与交互式查询四段交付
云主机大数据实验报告:Hadoop/Spark与交互式查询四段交付

简介:这份华为云大数据实验报告面向高校大数据课程学习者与云计算入门实践者,围绕在华为云上部署和管理大数据平台展开,涉及弹性云服务器、OBS对象存储、Hadoop与Spark集群搭建及交互式查询等关键环节。文档按云主机实现大数据、云服务实现大… · 2026/11/11 4:22:41

ECS四节点Hadoop集群与对象存储、Spark SQL实验避坑指南
ECS四节点Hadoop集群与对象存储、Spark SQL实验避坑指南

简介:《华为云大数据实验报告hhu》面向高校大数据、云计算课程学习者及华为云实操入门者,围绕云主机与云服务两条技术路径,解决从环境准备、集群搭建到交互式查询的实验落地问题。报告按四个模块组织:利用ECS与OBS配置访问密钥、打… · 2026/11/12 21:46:22

408复试面试问答清单:七门课页码索引与60秒口述训练法
408复试面试问答清单:七门课页码索引与60秒口述训练法

简介:《杭电计算机考研复试专业课问题.pdf》面向报考杭州电子科技大学计算机相关专业、进入复试环节的考生,聚焦专业课面试中的高频问答与知识点复盘。内容覆盖数据结构、计算机组成原理、操作系统、计算机网络、数据库、编译原理和软件工程七门课程&… · 2026/11/11 20:37:13

考特种工证好考吗通过率揭秘:安阳公路工程从业者必看
考特种工证好考吗通过率揭秘:安阳公路工程从业者必看

考特种工证好考吗通过率揭秘:安阳公路工程从业者必看 你是不是正为找不到工作发愁?是不是正在为“ 急需特种作业证才能上岗找工作 ”而焦虑?别担心,今天我们就来聊聊【考特种工证好考吗】,特别是对于像你这样从事 安阳公路工程… · 2026/11/15 10:25:41

大连电工证怎么考网上查询最新政策别踩坑
大连电工证怎么考网上查询最新政策别踩坑

大连电工证怎么考网上查询最新政策别踩坑 证书过期了不知道怎么复审延期?你不是一个人在战斗。很多人在拿到电工证后,因工作变动、遗忘或不了解复审流程,导致证书过期,不仅影响工作,还可能被单位追责。其实,现在 网上查询… · 2026/11/15 10:25:41

电气试验与电工证报名入口与办理流程
电气试验与电工证报名入口与办理流程

电工证和电气试验证怎么选?刚上岗的你最关心多少钱 你是不是刚毕业就打算找工作,或者已经在工地、工厂跑了一圈,结果发现没有电工证根本进不了门?别急,今天咱们就来聊聊【电气试验与电工证】这两个证到底是啥关系,哪个更值钱,关键是 多少钱… · 2026/11/15 10:25:41

乐山架子工特种作业证2026河南最新政策下怎么考才能顺利上岗
乐山架子工特种作业证2026河南最新政策下怎么考才能顺利上岗

乐山架子工特种作业证2026河南最新政策下怎么考才能顺利上岗 你是不是也在为找不到合适的工作发愁?是不是也听说了 乐山架子工特种作业证 是找工作的“硬门槛”?别急,2026年河南最新政策已经明确, 特种作业操作证… · 2026/11/15 10:25:41

机械专业用考电工证吗?郑州报考避坑指南
机械专业用考电工证吗?郑州报考避坑指南

机械专业用考电工证吗?郑州报考避坑指南 之前考的证在外省能不能转过来?这是很多在郑州工作的机械专业人员最关心的问题。尤其是从事机电一体化、自动化设备维修或装配的机械专业人员,如果经常接触电气设备、配电系统或参与电气线路改造,那… · 2026/11/15 10:25:41

佛山电工证年在哪考?证书过期了不知道怎么复审延期怎么办
佛山电工证年在哪考?证书过期了不知道怎么复审延期怎么办

佛山电工证年在哪考?证书过期了不知道怎么复审延期怎么办 你是不是也遇到过这种情况?手里拿着电工证,眼看就要到期了,但不知道在哪考复审,更别提怎么操作了。别急,这篇文章就帮你把“佛山电工证年在哪考”这个问题讲明白,还告诉你怎么避免证书过期、复… · 2026/11/15 10:24:39

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码