三、Spark 運行環境部署:全面掌握四種核心模式

作者:IvanCodes
日期:2025年7月25日
專欄:Spark教程

Apache Spark 作為統一的大數據分析引擎,以其高性能靈活性著稱。要充分利用Spark的強大能力,首先需要根據不同的應用場景資源環境,正確地部署其運行環境。本教程將詳細指導您如何下載 Spark,并逐步解析部署四種核心運行模式

一、下載 Apache Spark

在進行任何部署之前,我們首先需要獲取 Spark 的安裝包

  1. 訪問 Spark 官方網站
    • 打開您的瀏覽器,訪問 Apache Spark 官方網站:https://spark.apache.org/
    • 在網站的導航欄中,您會看到一個醒目的 “Download” 鏈接

在這里插入圖片描述

  1. 在下載頁面選擇版本和包類型
    • 點擊 “Download” 鏈接后,您將進入下載配置頁面
    • 步驟 1 (Choose a Spark release): 選擇您需要的 Spark 版本。根據您的截圖,我們選擇 3.5.6 (請以官網實際為準)。
    • 步驟 2 (Choose a package type): 選擇包類型。對于大多數情況,特別是與Hadoop集成的環境,選擇預編譯好的版本最方便的。例如,選擇 Pre-built for Apache Hadoop 3.3 and later
    • 步驟 3 (Download Spark): 點擊生成的下載鏈接

在這里插入圖片描述

  1. 從鏡像站點下載二進制包
    • 點擊上一步的鏈接后,您會被引導至一個包含多個下載鏡像的頁面。
    • 選擇頁面頂部建議的主下載鏈接進行下載。

在這里插入圖片描述

  • 將下載好的二進制包 (例如 spark-3.5.6-bin-hadoop3.tgz) 上傳到您的操作服務器 (例如 hadoop01) 的 /export/software 目錄下。
  1. 解壓安裝包 (在 hadoop01 操作)
    • 目標安裝路徑為 /export/server,并重命名為 spark
mkdir -p /export/server
cd /export/softwares
tar -zxvf spark-3.5.6-bin-hadoop3.tgz -C /export/server/
cd /export/server
mv spark-3.5.6-bin-hadoop3 spark

二、Spark 四種核心運行模式詳解與部署

2.1 Local 模式 (本地模式)

特點與用途:
所謂的 Local 模式,就是不需要任何集群節點資源,僅在單臺機器上就能執行 Spark 代碼的環境。它非常適合用于教學、快速原型開發、調試單元測試。在此模式下,所有Spark組件 (Driver, Executor) 都在同一個JVM進程中以多線程的方式運行。

部署與運行步驟:

  1. 啟動 Local 環境 (Spark Shell)
    • 進入解壓并重命名后的 Spark 目錄,執行 spark-shell 啟動一個交互式的Scala環境。
cd /export/server/spark
bin/spark-shell
  • 啟動成功后,您會看到 Spark 的歡迎信息,并進入 Scala 提示符 scala>

在這里插入圖片描述

  1. 訪問 Web UI 監控頁面
    • spark-shell 或任何Spark應用在 Local 模式下運行時,它會啟動一個內嵌的 Web UI 用于監控任務執行情況。
    • 默認端口是 4040。在瀏覽器中訪問:http://hadoop01:4040 (請將hadoop01替換為您的實際主機名或IP)。

在這里插入圖片描述

  1. 在命令行工具中執行代碼
    • spark-shell 中,可以直接執行 Spark 代碼。例如,我們可以對一個文本文件進行詞頻統計。首先,在 data 目錄下創建一個 word.txt 文件。
cd /export/server/spark
mkdir Data
echo "hello spark hello world" > Data/wordcount.txt
  • 然后在已啟動的 spark-shell 中執行:
sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

在這里插入圖片描述

  1. 退出 Local 模式

    • spark-shell 中,按 Ctrl+C 組合鍵,或輸入Scala命令 :quit
  2. 通過 spark-submit 提交應用

    • 除了交互式運行,也可以提交打包好的應用程序。
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./examples/jars/spark-examples_*.jar \
5
  • 參數解析:
    • --class: 指定要執行的主類
    • --master local[2]: 明確指定使用Local模式,并分配 2 個CPU核心。local[*] 表示使用所有可用核心。
    • ./examples/jars/spark-examples_*.jar: 應用程序所在的JAR包。
    • 5: 傳遞給應用程序主函數的參數

在這里插入圖片描述
在這里插入圖片描述

2.2 Standalone 模式 (獨立部署模式)

特點與用途:
Standalone 模式是 Spark 自帶的、完整集群資源管理框架,采用經典的 Master-Slave 架構。它獨立于其他資源管理器 (如YARN),部署簡單,非常適合搭建專門用于運行 Spark 應用的中小型集群

部署步驟:

  • 集群規劃:
    • hadoop01: Master, Worker
    • hadoop02: Worker
    • hadoop03: Worker
      (為了充分利用資源,Master節點通常也兼作一個Worker節點)
  1. 修改配置文件 (在 Master 節點 hadoop01 上操作)
    • 配置 Worker 節點列表 (workersslaves):
cd /export/server/spark/conf
cp workers.template workers
vim workers

編輯 workers 文件,清除原有內容,并添加所有Worker節點的主機名,每行一個

hadoop01
hadoop02
hadoop03
  • 配置環境變量 (spark-env.sh):
cp spark-env.sh.template spark-env.sh
vim spark-env.sh

在文件末尾添加以下內容:

export JAVA_HOME=/export/server/jdk1.8.0_361
export SPARK_MASTER_HOST=hadoop01
  • JAVA_HOME: 指定JDK的安裝路徑。
  • SPARK_MASTER_HOST: 明確告知集群Master節點的主機名或IP地址
  1. 分發 Spark 目錄
    • hadoop01 上配置好的 /export/server/spark 目錄完整同步到所有Worker節點。
cd /export/server
scp -r spark/ root@hadoop02:/export/server/
scp -r spark/ root@hadoop03:/export/server/
  1. 啟動 Standalone 集群
    • 在 Master 節點 (hadoop01) 上執行一鍵啟動腳本
cd /export/server/spark
sbin/start-all.sh
  • 此腳本會啟動 hadoop01 上的 Master 進程,并根據 workers 文件的內容,通過SSH遠程啟動所有Worker節點上的 Worker 進程。
  1. 驗證集群狀態
    • 所有節點上執行 jps 命令。hadoop01 應有 MasterWorker 進程,hadoop02hadoop03 應有 Worker 進程。
    • 訪問 Master Web UI: 在瀏覽器中打開 http://hadoop01:8080 (默認端口)。

在這里插入圖片描述在這里插入圖片描述

  1. 提交應用到 Standalone 集群
cd /export/server/spark
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop01:7077 \
./examples/jars/spark-examples_*.jar \
10
  • --master spark://hadoop01:7077: 指定連接到 Standalone Master 的地址。7077 是Master接收客戶端連接的默認端口。

在這里插入圖片描述

Standalone 模式高級配置:

  • 配置歷史服務 (History Server)
    • 問題: Spark 應用運行結束后,其在 4040 端口的UI會隨之關閉,無法查看歷史任務的執行詳情。
    • 解決方案: 配置歷史服務器,將應用運行日志持久化到HDFS,并通過一個常駐服務展示這些歷史記錄
    • 步驟:
      1. 啟動 HDFS
      2. 創建 HDFS 日志目錄: hadoop fs -mkdir /spark-logs
      3. 修改 spark-defaults.conf (在 conf 目錄下創建):
cp spark-defaults.conf.template spark-defaults.conf
hdfs dfs -mkdir /spark-logs
vim spark-defaults.conf

添加:

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://hadoop01:9000/spark-logs
spark.history.fs.logDirectory    hdfs://hadoop01:9000/spark-logs

在這里插入圖片描述

  1. 修改 spark-env.sh
    添加:
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://hadoop01:9000/spark-logs -Dspark.history.retainedApplications=50"
  1. 分發配置文件到所有節點。
cd /export/server/spark/
scp -r conf/ root@hadoop02:/export/server/spark/conf/
scp -r conf/ root@hadoop03:/export/server/spark/conf/
  1. 啟動歷史服務 (在 hadoop01 上):
sbin/start-history-server.sh

在這里插入圖片描述

  1. 訪問歷史服務 Web UI: http://hadoop01:18080

在這里插入圖片描述

高可用部署步驟:

  • 集群規劃
    hadoop01: Spark Master (主), ZooKeeper Server, Worker
    hadoop02: Spark Master (備), ZooKeeper Server, Worker
    hadoop03: ZooKeeper Server, Worker

1. 確保 ZooKeeper 集群正常運行
在進行 Spark HA 配置前,您必須擁有一個正在穩定運行的 ZooKeeper 集群。請確保hadoop01, hadoop02, hadoop03 上的 ZooKeeper 服務已經啟動(如果還沒有配置,可以查看往期文章《二、ZooKeeper 集群部署搭建》)

  • 可以通過在每個節點執行 zkServer.sh status驗證 ZooKeeper 集群的狀態。

2. 停止現有的 Standalone 集群

  • 如果在進行此配置前,您已經啟動了普通的 Standalone 集群,請務必先停止它
cd /export/server/spark
sbin/stop-all.sh

3. 修改 spark-env.sh 配置文件 (在所有Spark節點)

  • 這是配置 HA 的核心步驟。我們需要修改所有 Spark 節點 (hadoop01, hadoop02, hadoop03) 上的 /export/server/spark/conf/spark-env.sh 文件。
  • 首先,注釋掉或刪除 之前為普通 Standalone 模式配置的 SPARK_MASTER_HOSTSPARK_MASTER_PORT (如果存在)。
# SPARK_MASTER_HOST=hadoop01
# SPARK_MASTER_PORT=7077
  • 然后,添加以下 用于啟用 ZooKeeper 恢復模式的配置:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop01:2181,hadoop02:2181,hadoop03:2181 -Dspark.deploy.zookeeper.dir=/spark"

4. 分發配置文件

  • 將在 hadoop01 上修改好的 spark-env.sh 同步到 hadoop02hadoop03,確保所有節點的配置完全一致
cd /export/server/spark/conf
scp spark-env.sh root@hadoop02:/export/server/spark/conf/
scp spark-env.sh root@hadoop03:/export/server/spark/conf/

5. 啟動 HA 集群

  • 與普通 Standalone 不同,HA 模式下我們不能簡單地使用 start-all.sh 來啟動所有 Master。我們需要手動在規劃為 Master 的每個節點分別啟動 Master 進程
  • hadoop01 上啟動第一個 Master:
zkServer.sh start
cd /export/server/spark
sbin/start-master.sh
  • hadoop02 上啟動第二個 Master:
# 首先登錄到 hadoop02
ssh hadoop02
zkServer.sh start
cd /export/server/spark
sbin/start-master.sh
  • 啟動后,這兩個 Master 會通過 ZooKeeper 進行Leader選舉,其中一個會成為 Active,另一個則成為 Standby
  • 最后,在任意一個 Master 節點 (例如 hadoop01) 上啟動所有 Worker 節點:
# 確保 workers 文件中包含了所有 Worker 節點 (hadoop01, hadoop02, hadoop03)
cd /export/server/spark
sbin/start-workers.sh # 或者 sbin/start-all.sh 也可以,它會智能地只啟動workers

6. 驗證 HA 集群狀態

  • 查看進程:在 hadoop01hadoop02 上執行 jps,都應該看到 Master 進程。在所有三個節點上都應該看到 Worker 進程。
  • 訪問 Web UI
    • 分別訪問兩個 Master 的 Web UI:http://hadoop01:8081http://hadoop02:8081
    • 你會發現其中一個頁面的狀態 (Status) 顯示為 ALIVE,這是 Active Master。
    • 另一個頁面的狀態顯示為 STANDBY,這是 Standby Master。
    • 兩個頁面上都應該能看到所有活躍的 Worker 節點

在這里插入圖片描述
在這里插入圖片描述

7. 提交應用到 HA 集群

  • 提交應用時,--master 參數需要指定所有 Master 節點的地址,用逗號分隔
cd /export/server/spark
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop01:7077,hadoop02:7077 \
./examples/jars/spark-examples_*.jar \
5

在這里插入圖片描述
在這里插入圖片描述

  • 客戶端會首先嘗試連接列表中的第一個 Master (hadoop01:7077)。如果它不是 Active Master,客戶端會被重定向當前真正的 Active Master。如果第一個 Master 掛了,客戶端會自動嘗試連接列表中的下一個 Master (hadoop02:7077)。

2.3 YARN 模式 (推薦)

特點與用途:
YARN 模式是將 Spark 作為一個應用程序運行在現有的 Hadoop YARN 集群之上。YARN 負責統一資源分配和調度。這是生產環境中最主流、最健壯的部署模式,因為它實現了與Hadoop生態中其他計算框架 (如MapReduce) 的資源共享統一權限管理高可用性

部署與配置步驟:

第一步:配置 YARN 核心文件
這是最關鍵的一步。我們需要一次性完成對 YARN 的資源定義基礎服務配置
hadoop01 上,編輯 yarn-site.xml 文件:

vim /export/server/hadoop/etc/hadoop/yarn-site.xml

<configuration></configuration> 標簽之間,確保包含以下所有屬性:

<!-- 定義每個NodeManager節點可用于分配給容器的總物理內存 (單位MB) -->
<!-- 這個值應該根據你機器的實際物理內存來設置,通常是物理內存的70%-80% -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value> <!-- 示例值: 8GB -->
</property><!-- 定義每個NodeManager節點可用于分配給容器的總虛擬CPU核心數 -->
<!-- 通常設置為機器的CPU核心數或超線程數 -->
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>8</value> <!-- 示例值: 8核 -->
</property><!-- 啟用YARN的輔助服務 (aux-service) 功能,為Spark Shuffle Service做準備 -->
<!-- 保留 mapreduce_shuffle 以兼容MapReduce作業 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property><!-- (推薦) 關閉YARN對物理內存和虛擬內存的嚴格檢查 -->
<!-- Spark有自己的內存管理機制,YARN的嚴格檢查可能誤殺正常運行的Spark Executor -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

第二步:為 YARN “植入” Spark 依賴
這是我們解決 ClassNotFoundException最終方案,遠比修改環境變量可靠

  1. hadoop01 上,找到 Spark for YARN 的核心 Jar 包
ls /export/server/spark/jars/spark-yarn_*.jar
  1. 將這個 Jar 包物理復制所有節點的 YARN 核心庫目錄中
# (請將下面的文件名替換為您上一步找到的真實文件名, 如 spark-yarn_2.12-3.5.6.jar)
# 復制到 hadoop01
cp /export/server/spark/jars/spark-yarn_*.jar /export/server/hadoop/share/hadoop/yarn/lib/# 復制到 hadoop02
scp /export/server/spark/jars/spark-yarn_*.jar root@hadoop02:/export/server/hadoop/share/hadoop/yarn/lib/# 復制到 hadoop03
scp /export/server/spark/jars/spark-yarn_*.jar root@hadoop03:/export/server/hadoop/share/hadoop/yarn/lib/

為什么這么做?
spark-yarn Jar 包直接放入 YARN 的 classpath 中,可以確保 YARN NodeManager 在啟動 Spark 的 Shuffle Service 或其他 Spark 組件時,總能找到所需的類,從根本上解決類加載問題。

第三步:配置 Spark 客戶端
現在輪到 Spark 了,我們只需要告訴它 Hadoop 的配置文件在哪里

hadoop01 上,編輯 spark-env.sh 文件:

vim /export/server/spark/conf/spark-env.sh

在文件末尾添加 (如果不存在的話):

export HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop

第四步:分發配置并重啟 YARN

  1. 精確分發 yarn-site.xml
scp /export/server/hadoop/etc/hadoop/yarn-site.xml root@hadoop02:/export/server/hadoop/etc/hadoop/
scp /export/server/hadoop/etc/hadoop/yarn-site.xml root@hadoop03:/export/server/hadoop/etc/hadoop/
  1. 重啟 YARN 服務
cd /export/server/hadoop/sbin/
./stop-yarn.sh
./start-yarn.sh

第五步:驗證與排錯指南 (核心)

  1. 驗證所有進程
jps
ssh hadoop02 "jps"
ssh hadoop03 "jps"

確保 ResourceManager 在主節點上運行,并且所有節點上都有 NodeManager 進程。

  1. 排錯指南:如果 NodeManager 沒有啟動
    • 立即登錄 到啟動失敗的那個節點 (例如 ssh hadoop02)。
    • 立刻查看 該節點的 NodeManager 日志文件,查找 ERROR 信息。這是定位問題唯一途徑
# (請根據ls的真實文件名調整)
tail -n 200 /export/server/hadoop/logs/yarn-root-nodemanager-hadoop02.log
  • 常見錯誤包括:yarn-site.xml 配置語法錯誤spark_shuffle 服務類找不到 (說明第二步Jar包沒放對位置或沒分發)、端口沖突等。

第六步:提交應用到 YARN
(這部分與之前版本相同,僅作展示)

  • YARN-Client 模式 (--deploy-mode client)
cd /export/server/spark
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
./examples/jars/spark-examples_*.jar \
5
  • YARN-Cluster 模式 (--deploy-mode cluster)
cd /export/server/spark
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_*.jar \
5

監控與驗證:
提交應用后,訪問 YARN ResourceManager 的 Web UI: http://hadoop01:8088

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.4 Windows 模式 (本地開發)

特點與用途:
本質上就是在Windows操作系統上運行Spark的Local模式。它的初衷是方便開發者在不啟動虛擬機的情況下,進行本地開發功能測試。然而,這條看似便捷的道路,實際上充滿了挑戰,極易遇到各種匪夷所思環境兼容性問題

純 PowerShell 配置
網上的許多教程會指導您通過圖形界面 (GUI) 點擊“我的電腦”->“屬性”->“高級系統設置”來手動添加環境變量。這種方法不僅繁瑣,而且極易出錯 (比如,在Path變量中漏掉分號,或者路徑復制錯誤)。
本教程將完全摒棄這種原始方式,采用純 PowerShell 代碼來完成所有環境配置。
部署步驟:

第一步:準備一個純凈的Java 環境
Java 是 Spark 的生命之基,它的配置正確與否,決定了我們能否打贏這場戰爭

  1. 安裝 Java (JDK)
    • Spark 3.5.x 與 Java 8, 11, 17 兼容。為避免任何兼容性問題,推薦使用命令行安裝一個純凈的、久經考驗Eclipse Temurin 8 (LTS) 版本。
    • 以管理員身份打開 PowerShell,執行:
winget install -e --id EclipseAdoptium.Temurin.8.JDK
  1. 配置環境變量 (純 PowerShell 方式)
    • 安裝后,必須 關閉并重新打開一個新的管理員 PowerShell 窗口,以加載系統路徑
    • 在新窗口中,執行以下命令,完成 JAVA_HOMEPath 的配置(請根據您機器上實際的安裝路徑和版本號進行修改):
# 設置 JAVA_HOME (請 double check 這個路徑是否存在)
# 'Machine' 表示這是一個系統級別的環境變量,對所有用戶生效
[System.Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Eclipse Adoptium\jdk-8.0.422.8-hotspot', 'Machine')# 將 JAVA_HOME\bin 添加到系統 Path
$javaBinPath = [System.Environment]::GetEnvironmentVariable('JAVA_HOME', 'Machine') + '\bin'
$oldPath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
[System.Environment]::SetEnvironmentVariable('Path', "$oldPath;$javaBinPath", 'Machine')
  • 最終驗證 再次關閉重新打開一個普通的 PowerShell 窗口,執行 java -version。如果成功顯示版本,說明地基已打好

第二步:部署 Spark 與 Hadoop“輔助工具”

本方法的詳細步驟,請參考《二、Spark 開發環境搭建 IDEA + Maven 及 WordCount 案例實戰》里面的第三部分

  1. 解壓 Spark

    • 將 Spark 二進制包 (例如 spark-3.5.6-bin-hadoop3.tgz) 解壓到一個絕對不能包含中文、空格或特殊字符純英文路徑,例如 E:\spark
  2. 配置 winutils.exe (決戰的開始)

    • Spark 依賴 Hadoop 的代碼,而 Hadoop 在 Windows 上需要 winutils.exehadoop.dll 這兩個“翻譯官”來模擬 Linux 的文件權限和操作
    • 這個 GitHub 倉庫 (例如 cdarlint/winutils) 中,找到與您的 Spark 預編譯時所用的 Hadoop 版本相匹配winutils.exehadoop.dll。例如,spark-3.5.6-bin-hadoop3 意味著您需要 Hadoop 3.x 的版本。
    • 創建一個目錄,例如 E:\hadoop\bin
    • 下載的 winutils.exehadoop.dll 放入 E:\hadoop\bin 目錄下。
  3. 配置 HADOOP_HOME 環境變量 (純 PowerShell 方式)

    • 打開一個新的管理員 PowerShell 窗口

第三步:迎接最終的考驗 —— 啟動 Spark

  1. 重啟 PowerShell

    • 為了加載剛剛設置HADOOP_HOME,請再次打開一個全新的 PowerShell 窗口
  2. 進入 bin 目錄

cd E:\spark\bin
  1. 執行啟動命令
.\spark-shell.cmd
  • 必須使用 .\,這是 PowerShell 的安全規則,表示執行當前目錄下的腳本。

此時,您將直面命運的審判。如果一切順利 (Java配置無誤,winutils.exe版本匹配且路徑正確),Spark Shell 將成功啟動不會出現 NullPointerException, FileNotFoundException找不到 winutils紅色錯誤信息
在這里插入圖片描述

如果失敗了怎么辦?

  • 仔細閱讀錯誤信息,99% 的問題都與 JAVA_HOME 路徑錯誤、HADOOP_HOME 未設置或 winutils.exe 版本不匹配有關。
  • 回到前面的步驟,逐一檢查每個路徑和環境變量是否完全正確
  • 最終,考慮“鄭重警告”中的建議

總結

  • Local: 學習、開發、測試的最佳選擇,簡單快捷。
  • Standalone: 快速搭建專用的Spark集群,獨立性強。
  • YARN: 與Hadoop生態深度集成,是企業級生產環境的標準部署模式。
  • Windows: 方便Windows用戶進行本地開發,核心是正確配置 winutils

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92091.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92091.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92091.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Django】-2- 處理HTTP請求

一、request 請求 先理解&#xff1a;Request 是啥&#xff1f;用戶訪問你的網站時&#xff0c;會發一個 “請求包” &#x1f4e6; &#xff0c;里面裝著&#xff1a;想訪問啥路徑&#xff1f;用啥方法&#xff08;GET/POST 等&#xff09;&#xff1f;帶了啥頭信息&#xff0…

飛算 JavaAI:突破效率邊界的代碼智能構造平臺

飛算 JavaAI&#xff1a;突破效率邊界的代碼智能構造平臺 一、引言&#xff1a;數字化浪潮下的開發效率困局與破局路徑 當企業數字化轉型駛入深水區&#xff0c;軟件開發正面臨需求迭代頻次激增、人力成本高企、技術架構復雜化的多重挑戰。傳統開發模式中&#xff0c;從需求分…

國家科學技術獎答辯PPT案例_科技進步獎ppt制作_技術發明獎ppt設計美化_自然科學獎ppt模板 | WordinPPT

“國家科學技術獎”是在科學技術領域設立的最高榮譽&#xff0c;旨在獎勵在科學技術進步活動中做出突出貢獻的個人和組織&#xff0c;從而推動國家科學技術事業的發展&#xff0c;加快建設科技強國。科學技術獎是國內科技界的最高殿堂&#xff0c;是對做出杰出貢獻的科技工作者…

如何通過黑白棋盤進行定位配準融合?(前后安裝的兩個相機)

一.總結: 完整流程 &#xff1a;硬件準備 → 數據采集 → 空間統一 → 相機標定&#xff08;內參畸變&#xff09; → 外參求解 → 定位配準融合 → 校驗 → 生成映射表 → 上線remap驗證 我們場景流程 &#xff1a;硬件準備 → 數據采集 → 空間統一 → 定位配準融合 → …

【node】token的生成與解析配置

在用戶登錄成功之后為了記錄用戶的登錄狀態通常會將用戶信息編寫為一個token&#xff0c;通過解析token判斷用戶是否登錄。 token的生成 JSON Web Token&#xff08;JWT&#xff09; 是一種基于JSON的輕量級身份驗證和授權機制。它是一種開放標準&#xff08;RFC 7519&#xff…

yolo 、Pytorch (5)IOU

一、簡介 IOU的全稱為交并比&#xff08;Intersection over Union&#xff09;&#xff0c;是目標檢測中使用的一個概念&#xff0c;IoU計算的是“預測的邊框”和“真實的邊框”的交疊率&#xff0c;即它們的交集和并集的比值。最理想情況是完全重疊&#xff0c;即比值為1。 …

【銀河麒麟服務器系統】自定義ISO鏡像更新內核版本

自定義ISO鏡像更新內核版本 鏡像制作流程 環境 更新倉庫 準備新版本內核包 內核清單簡介 已下載軟件包版本 更新內核包 更新鏡像源 制作自動化鏡像 修改引導 修改UEFI引導 傳統引導 修改ks文件內容 打包鏡像 mkisofs參數說明 封裝鏡像命令 常見問題解決方案 鏡像制作流程 #merm…

JVM 調優中JVM的參數如何起到調優動作?具體案例,G1GC垃圾收集器參數調整建議

JVM調優參數 在JVM調優過程中&#xff0c;通過調整JVM參數可以優化Java應用程序的性能。不同的應用場景可能需要不同的調優策略和參數配置。下面將介紹幾個常見的調優場景以及相應的JVM參數設置&#xff0c;并給出具體案例說明。 1. 堆內存大小調整 問題描述&#xff1a;應用程…

TGD第十一篇:卷積神經網絡中的TGD特征

文章目錄一、直覺上重要的視覺特征二、視覺神經網絡首層試圖自主學習 TGD 算子權重2.1 AlexNet2.2 Vision Transformer2.3 MLPMixer三、針對直覺的驗證試驗3.1 小樣本集自然圖像分類任務3.2 小樣本集醫學圖像分割任務四、結語早在 2012 年&#xff0c;卷積神經網絡 AlexNet 就已…

【源力覺醒 創作者計劃】文心大模型開源:從封閉研發到生態共建的轉折點

前言 人工智能的浪潮在近幾年席卷全球&#xff0c;不僅顛覆了傳統技術路徑與行業習慣&#xff0c;更在大模型領域掀起了一場激烈的生態爭奪戰。自去年起&#xff0c;"百模大戰"的硝煙彌漫&#xff0c;微軟、谷歌、百度、阿里等科技巨頭紛紛入局&#xff0c;在大模型的…

思科 UCS Fabric Interconnect 和 UCS Manager 簡介

UCS Manager&#xff08;UCSM&#xff09;安裝在 Fabric Interconnect&#xff08;FI&#xff09;上&#xff0c;并且是UCS架構的集中管理平臺&#xff0c;允許你管理所有與計算、網絡和存儲相關的配置。1. UCS Manager 安裝位置UCS Manager 是在 UCS Fabric Interconnect&…

C語言結構體、位段、枚舉、聯合體

結構體&#xff1a;定義&#xff1a;結構體就是一堆值的集合初始化&#xff1a;#include<stdio.h> #include <stddef.h> struct S {char ch;int n; };int main() {struct S s1 { a, 5 };S s2{ b,6 };printf("s1 ch:%c , n:%d\n", s1.ch, s1.n);printf(&…

AI產品經理面試寶典第61天:AI產品體驗、數據安全與架構實戰解析

1. 如何提升 AI 產品的用戶體驗? 1.1 問:如何提升 AI 產品的用戶體驗? 答: 提升 AI 產品的用戶體驗可以從以下幾個方面入手: 可解釋性增強:AI模型的輸出往往較為“黑盒”,用戶難以理解其決策邏輯。通過可視化、自然語言解釋、關鍵特征展示等方式,增強用戶對AI決策過程…

以微服務為基礎搭建一套腳手架開始前的介紹

書接上回<java一個腳手架搭建-CSDN博客> 這個腳?架項?開發前&#xff0c;你要大概的了解一下這些東西&#xff1a; Java基礎、IDEA使?、Maven基礎 ? Linux基礎 ? Springboot/Spring Cloud 基礎 ? MySQL基礎 ? Redis基礎 ? RabbitMQ基礎 ? Docker基礎 ? Git基…

Excel接入deepseek

先進入deepseek官網&#xff1a;DeepSeek | 深度求索 點擊API開放平臺&#xff1a; 確保余額里有錢: 創建APIkey: 復制到.txt文件中儲存好 插入VBA代碼&#xff1a; Function OptimizeEbayTitle(originalTitle As String) As StringDim Prompt As StringPrompt "作為…

【計組】概述

目錄 計算機層次結構 計算機硬件 所有用戶&#xff08;程序員&#xff09;可見 所有用戶&#xff08;程序員&#xff09;透明 匯編程序員可見 計算機軟件 從源程序到可執行文件 計算機性能指標 字長 運算速度 單位換算 存儲 速率 時間 計算機層次結構 計算機硬件…

Web15題(7.28~8.3)

&#xff08;1&#xff09;SQL注入 [NSSRound#1 Basic]sql_by_sql 登錄界面 嘗試二次注入覆蓋 admin 用戶&#xff0c;但是發現注釋符 # 被過濾了&#xff0c;--可以 但是無效了 奧原來是密碼輸錯了 然后進行修改密碼&#xff0c;修改以后就可以登錄admin賬戶 查詢按鈕也不…

《Python 實用項目與工具制作指南》· 1.2 選擇與配置Python代碼編輯器

1.2 選擇與配置 Python 代碼編輯器 安裝好 Python 環境后&#xff0c;我們還需要一款合適的代碼編輯器來編寫、運行和調試代碼。就像作家需要趁手的鋼筆&#xff0c;程序員也需要好用的編輯器 —— 它能幫你自動補全代碼、高亮語法錯誤&#xff0c;讓開發 “題目數據生成器”“…

Kali基礎知識點【2】

Nmap信息收集nmap&#xff1a;網絡掃描器&#xff0c;收集網絡信息 openVAS:系統漏洞掃描器Nmap基礎命令 nmap 目標主機&#xff1a;收集開放的端口 nmap -O 目標主機&#xff1a;收集目標主機的操作系統 nmap -sP 網段/子網掩碼&#xff1a;掃描目標網段上開啟的主機 nmap -sV…

Python自動化測試框架:Unittest 斷言

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快斷言是編程中常用的一種驗證方法&#xff0c;也是測試代碼中最重要的部分&#xff0c;用于驗證某個條件是否為真&#xff0c;驗證測試結果與預期結果是否一致。unit…