大數據Hadoop之——安裝部署hadoop

目錄

?前期準備

一、JDK的安裝

1、安裝jdk

2、配置Java環境變量?

?3、加載環境變量

4、進行校驗

二、hadoop的環境搭建

1、hadoop的下載安裝?

2、配置文件設置

2.1. 配置 hadoop-env.sh

2.2. 配置?core-site.xml

2.3. 配置 hdfs-site.xml

2.4. 配置 yarn-site.xml

2.5. 配置 mapred-site.xml

?3、Hdfs格式化?

4、啟動hdfs

5、訪問HDFS系統

?6、啟動yarn

7、訪問Yarn平臺頁面

8、Hadoop的集群模式(偽分布式省略)

8.1.集群規劃

8.2.設置免密登陸

8.3.修改hdfs-site.xml

8.4.修改workers

8.5.修改mapred-site.xml

8.6.修改yarn-site.xml

8.7.分發文件

8.8.停止服務刪除目錄

8.9.重啟服務

三、msyql安裝

1、卸載舊MySQL文件

2、Mysql下載安裝

3、配置環境變量?

4、刪除用戶組

5、創建用戶和組

6、創建文件夾

7、更改權限

8、安裝依賴包

9、初始化

10、記住初始密碼

11、將mysql加入到服務中

12、配置文件

(1)Mysql5.X版本配置

(2)Mysql8.X版本配置?

13、設置開機啟動

14、并查看進程

15、創建軟連接

16、登錄 Mysql

17、修改密碼

(1)Mysql5.X版本修改密碼

(2)Mysql8.X版本修改密碼

18、授權

(1)Mysql5.X版本授權

(2)Mysql8.X版本授權

四、HIve安裝?

1、下載安裝

2、配置環境變量

3、配置文件

4、拷貝jar包

5、初始化

6、啟動hive

五、問題與說明:


?前期準備

查看網卡:

配置靜態IP

vi /etc/sysconfig/network-scripts/ifcfg-ens32? ----? 根據自己網卡設置。

設置主機名

hostnamectl --static set-hostname ?主機名

例如:

hostnamectl --static set-hostname ?hadoop001

配置IP與主機名映射

vi /etc/hosts

關閉防火墻

systemctl stop firewalld

systemctl disable?firewalld

配置免密登錄

傳送門

一、JDK的安裝

1、安裝jdk

在/opt/model中上傳jdk包并解壓

tar -zxvf jdk-8u151-linux-x64.tar.gz

?

重命名,方便配置環境變量,避免更換jdk版本修改配置文件

?

2、配置Java環境變量?

系統級(全局)

/etc/profile,? ?/etc/bash.bashrc,? ?/etc/bashrc

對所有用戶生效

用戶級(個人)

~/.bash_profile,??~/.bashrc,??~/.profile

只對當前用戶生效

/etc/profile

? 幾乎所有 Linux/Unix 系統都有

Ubuntu、CentOS、macOS 等

/etc/bashrc

? CentOS/RHEL 系統使用

CentOS、RHEL、Fedora

/etc/bash.bashrc

? Ubuntu 使用

Ubuntu、Debian

~/.bash_profile

? 用戶可創建

所有支持 Bash 的系統

~/.profile

? Ubuntu 默認生成

Ubuntu、Debian

~/.bashrc

? 用戶級 shell 配置

所有支持 Bash 的系統

vi ?/etc/profile

export JAVA_HOME=/opt/module/java? #此處是自己實際的Java安裝路徑

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

?3、加載環境變量

source /etc/profile

驗證環境變量是否生效:

env?| grep HOME

env?| grep PATH

4、進行校驗

??

二、hadoop的環境搭建

1、hadoop的下載安裝?

1.1. 下載

https://archive.apache.org/dist/hadoop/common/hadoop-3.2.2/
?下載 hadoop-3.2.2.tar.gz??安裝包

1.2 上傳
使用xshell上傳到指定安裝路徑

此處是安裝路徑是 /opt/module

??

1.3 解壓重命名

tar -xzvf hadoop-3.2.2.tar.gz

mv hadoop-3.2.2 hadoop

??

?

1.4 配置環境變量

vi ?/etc/profile

export JAVA_HOME=/opt/module/java

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/opt/module/hadoop

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

1.5 加載環境變量

source ?/etc/profile

驗證環境變量是否生效:

env?| grep HOME

env?| grep PATH

1.6檢驗安裝

hadoop version

出現下圖說明安裝成功

??

2、配置文件設置

2.1. 配置 hadoop-env.sh

hadoop偽分布式配置

export HADOOP_OS_TYPE=${HADOOP_OS_TYPE:-$(uname -s)}
export JAVA_HOME=/opt/module/java

2.2. 配置?core-site.xml

<configuration>
?? ?<!-- 指定HDFS中NameNode的地址 默認 9000端口-->
?? ?<property>
?? ??? ?<name>fs.defaultFS</name>
?? ??? ?<value>hdfs://hadoop001:9000</value>
?? ??? ?<description>配置NameNode的URL</description>
?? ?</property>

?? ?<!-- 指定Hadoop運行時產生文件的存儲目錄 -->
?? ?<property>
?? ??? ?<name>hadoop.tmp.dir</name>
?? ??? ?<value>/opt/module/hadoop/data</value>
?? ?</property>

? ??配置hive內容(下面要安裝hive,因此需要增加下面內容,否則不添加
?? ?<!-- 配置允許哪些主機上的程序可以以root身份發起代理請求 -->
?? ?<property>
?? ??? ?<name>hadoop.proxyuser.root.hosts</name>
?? ??? ?<value>*</value>
?? ?</property>

?? <!-- 配置允許哪些組的用戶可以以root身份發起代理請求 -->
?? ?<property>
?? ??? ?<name>hadoop.proxyuser.root.groups</name>
?? ??? ?<value>*</value>
?? ?</property>

?? ?<!-- 配置允許哪些具體用戶可以以root身份發起代理請求-->
?? ?<property>
?? ??? ?<name>hadoop.proxyuser.root.users</name>
?? ??? ?<value>*</value>
?? ?</property>
</configuration>

2.3. 配置 hdfs-site.xml

<configuration>
? ? <!-- 數據的副本數量?如果是完全分布式的集群模式,則改為3 -->?
?? ?<property>?
?? ??? ?<name>dfs.replication</name>?
?? ??? ?<value>1</value>?
?? ?</property>?
?? ?<!-- 指定Hadoop運行時產生文件的存儲目錄 -->
? ?? ?<property>
? ? ? ? <name>dfs.namenode.name.dir</name>
? ? ? ? <value>/opt/module/hadoop/data/namenode</value>
? ? </property>
? ? <property>
? ? ? ? <name>dfs.datanode.data.dir</name>
? ? ? ? <value>/opt/module/hadoop/data/datanode</value>
? ? </property>
?? ?<!--設置權限為false-->
?? ?<property>
?? ??? ?<name>dfs.permissions.enabled </name>
?? ??? ?<value>false</value>
?? ?</property>


? ? <!-- hdfs的web管理頁面的端口 -->
? ? <property>
?? ??? ?<name>dfs.http.address</name>
?? ??? ?<value>hadoop001:9870</value>
?? ?</property>
? ? <!-- 設置secondname的端口,如果是完全分布式的集群模式,則改為hadoop003 -->
? ? <property>
? ? ? ? <name>dfs.namenode.secondary.http-address</name>
? ? ? ? <value>hadoop001:6002</value>
? ? </property>
</configuration>

2.4. 配置 yarn-site.xml

<configuration>
?? ?<!-- 指定MR走shuffle -->
?? ?<!-- NodeManager 上運行的輔助服務(auxiliary services),用于支持 MapReduce 的 shuffle 階段 -->
?? ?<!-- 必須啟用才能讓 YARN 支持 MapReduce 的 shuffle 功能 -->
?? ?<!-- 如果你使用的是 Spark 或其他框架,可能不需要這個配置 -->
? ? <property>
? ? ? ? <name>yarn.nodemanager.aux-services</name>
? ? ? ? <value>mapreduce_shuffle</value>
? ? </property>
? ??
? ? <!-- 指定ResourceManager的地址-->
? ? <!-- NodeManager 和 ApplicationMaster 會通過該主機名連接到 ResourceManager-->
? ? <property>
? ? ? ? <name>yarn.resourcemanager.hostname</name>
? ? ? ? <value>hadoop001</value>
? ? </property>
? ??
? ? <!-- 環境變量的繼承 -->
? ? <!-- 允許傳遞給容器的環境變量白名單 -->
? ? <!-- 設置哪些環境變量可以從 NodeManager 傳遞給啟動的應用程序容器(Container) -->
? ? <!-- 默認情況下,YARN 容器不會繼承所有的系統環境變量 -->
? ? <!-- 為了保證任務能正常運行,需要將必要的環境變量加入白名單 -->
? ? <!-- 常見如 JAVA_HOME、Hadoop 相關路徑等,都是應用程序運行所必需的 -->
? ? <property>
? ? ? ? <name>yarn.nodemanager.env-whitelist</name>
? ? ? ? <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
? ? </property>
? ??
? ? <!--yarn單個容器允許分配的最大最小內存 -->
? ? <!--如果應用請求的內存小于這個值,YARN 會自動將其提升為這個最小值 -->
? ? <!--示例:如果某個任務只申請 100 MB,但設置了最小為 512,則實際分配 512 MB -->
? ? <property>
? ? ? ? <name>yarn.scheduler.minimum-allocation-mb</name>
? ? ? ? <value>512</value>
? ? </property>
?? ?<!--如果應用請求的內存超過這個值,YARN 會拒絕該請求 -->
?? ?<!--這個值不能超過 NodeManager 的總內存容量-->
? ? <property>
? ? ? ? <name>yarn.scheduler.maximum-allocation-mb</name>
? ? ? ? <value>4096</value>
? ? </property>
? ??
? ? <!-- yarn容器允許管理的物理內存大小 -->
? ? <!-- 指定當前 NodeManager 節點可提供給容器使用的最大物理內存總量(單位:MB)-->
? ? <!-- 這個值決定了該節點最多能運行多少個容器,取決于每個容器的內存需求。-->
? ? <property>
? ? ? ? <name>yarn.nodemanager.resource.memory-mb</name>
? ? ? ? <value>4096</value>
? ? </property>
? ??
? ? <!-- 關閉yarn對物理內存和虛擬內存的限制檢查 -->
? ? <!-- 是否啟用對容器使用的物理內存 進行檢查 -->
? ? <!-- 設為 true,YARN 會在容器超出其申請的物理內存時終止它 -->
? ? <!-- 防止某些任務占用過多內存導致整個節點崩潰。 -->
? ? <!-- 推薦生產環境中保持為 true。 -->
? ? <property>
? ? ? ? <name>yarn.nodemanager.pmem-check-enabled</name>
? ? ? ? <value>true</value>
? ? </property>
?? ?
?? ?<!-- 是否開啟虛擬內存檢查 -->
?? ?<!-- 若設為 true,YARN 會檢查虛擬內存使用情況并可能殺掉超限任務 -->
?? ?<!-- 有時虛擬內存使用較高是正常的(例如 JVM),所以部分場景下建議關閉此功能 設為Flase -->
? ? <property>
? ? ? ? <name>yarn.nodemanager.vmem-check-enabled</name>
? ? ? ? <value>false</value>
? ? </property>
</configuration>

2.5. 配置 mapred-site.xml

<configuration>
?? ?<!-- mr程序默認運行方式。yarn集群模式 local本地模式-->

? ??<!-- 設置 MapReduce 應用程序的執行框架為 YARN 即?MR運行的資源調度模式--->
?? ?<property>
?? ?<name>mapreduce.framework.name</name>
?? ?<value>yarn</value>
?? ?</property>

? ?<!-- 以下可以不用配置,作為了解內容

? ?當 YARN 啟動 MapReduce (ApplicationMaster、MapTask、ReduceTask)進程提供一致的環境變量,確保找到 MapReduce 的依賴庫和資源路徑。-->
?? ?<!-- MR App Master環境變量。用于告訴 ApplicationMaster?去哪里找 MapReduce 相關的 JAR 包或腳本-->
?? ?<property>
?? ?<name>yarn.app.mapreduce.am.env</name>
?? ?<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
?? ?</property>
?? ?<!-- 為每個 MR 的 MapTask 設置環境變量。-->
?? ?<property>
?? ?<name>mapreduce.map.env</name>
?? ?<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
?? ?</property>
?? ?<!-- 為每個 MR 的 ReduceTask 設置環境變量。-->
?? ?<property>
?? ?<name>mapreduce.reduce.env</name>
?? ?<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
?? ?</property>
</configuration>

?3、Hdfs格式化?

cd /opt/module/hadoop/

bin/hdfs ?namenode ?-format

下圖表示初始化成功

?

4、啟動hdfs

啟動hdfs分布式文件系統

cd /opt/module//hadoop/sbin

>> start-dfs.sh

使用?jps?查看啟動進程

?

5、訪問HDFS系統

訪問HDFS分布式文件系統的web頁面,如:http://192.168.200.130:9870/

??

?

?6、啟動yarn

啟動Yarn進程。

cd /opt/module/hadoop/sbin

>> start-yarn.sh

使用?jps?查看啟動進程

??

7、訪問Yarn平臺頁面

訪問hadoop分布式yarn頁面,如:http://192.168.200.130:8088/

??

8、Hadoop的集群模式(偽分布式省略)

? ? ? 如果是偽分布式模式,此過程可以省略。

8.1.集群規劃

? ? ? 模塊

hadoop001

hadoop002

hadoop003

HDFS子進程

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN子進程

NodeManager

ResourceManager

NodeManager

NodeManager

8.2.設置免密登陸

? ? ?配置集群免密登錄

傳送門

8.3.修改hdfs-site.xml

??????修改數據的副本數量
??????secondname的主機設置(可選)

? ? <!-- 數據的副本數量 改為3 -->?
?? ?<property>?
?? ??? ?<name>dfs.replication</name>?
?? ??? ?<value>3</value>?
?? ?</property>?

? ? <!--可選? 對于學習來說,可以不改。但實際生產過時會將其規劃到??hadoop003 -->

? ? <!-- 設置secondname的端口,完全分布式的集群模式,改為hadoop003 -->
? ? <property>
? ? ? ? <name>dfs.namenode.secondary.http-address</name>
? ? ? ? <value>hadoop003:6002</value>
? ? </property>

8.4.修改workers

? ? ? 將原來的localhost改為節點主機名

hadoop001

hadoop002

hadoop003

8.5.修改mapred-site.xml

? ? ? ?配置歷史服務器(可選)

<!-- 歷史服務器端地址 -->

<property>

????<name>mapreduce.jobhistory.address</name>

????<value>hadoop001:10020</value>

</property>

<!-- 歷史服務器web端地址 -->

<property>

????<name>mapreduce.jobhistory.webapp.address</name>

????<value>hadoop001:19888</value>

</property>

8.6.修改yarn-site.xml

? ? ?指定ResourceManager的地址:對于目前學習來說不改也可以,但在實際生產過程中?resourcemanager 和 namenode是在不同主機上,避免生產過程中資源不足導致內存溢出情況。

?????指定ResourceManager的地址(可選)
?????配置日志的聚集(可選)

<!--?可選? 指定ResourceManager的地址-->
<!-- NodeManager 和 ApplicationMaster 會通過該主機名連接到 ResourceManager-->
<property>
????<name>yarn.resourcemanager.hostname</name>
????<value>hadoop002</value>
</property>

<!-- 開啟日志聚集功能 -->

<property>

????<name>yarn.log-aggregation-enable</name>

????<value>true</value>

</property>

<!-- 設置日志聚集服務器地址 -->

<property> ?

????<name>yarn.log.server.url</name> ?

????<value>http://hadoop001:19888/jobhistory/logs</value>

</property>

<!-- 設置日志保留時間為7天 -->

<property>

????<name>yarn.log-aggregation.retain-seconds</name>

????<value>604800</value>

</property>

8.7.分發文件

注意:在分發文件前要做好三臺機器的IP與主機名映射 /etc/hosts?

?

進行分發文件

scp -r?/opt/module/hadoop?root@hadoop002:/opt/module/hadoop

scp -r?/opt/module/hadoop?root@hadoop003:/opt/module/hadoop

scp -r?/opt/module/java root@hadoop002:/opt/module/java

scp -r?/opt/module/java root@hadoop003:/opt/module/java

scp -r?/etc/profile root@hadoop002:/etc/profile

scp -r?/etc/profile root@hadoop003:/etc/profile

讓三臺機器文件生效

ssh hadoop001 "source /etc/profile"
ssh hadoop002 "source /etc/profile"
ssh hadoop003 "source /etc/profile"

8.8.停止服務刪除目錄

? ? ? 停止服務

cd /opt/module/hadoop/sbin

>> stop-all.sh

? ? ? 刪除格式化后的目錄重新格式化

rm -rf?/opt/module/hadoop/data

rm -rf?/opt/module/hadoop/logs/*

/opt/module/hadoop/bin/hdfs namenode -format

8.9.重啟服務

在hadoop001 上啟動HDFS

cd /opt/module/hadoop/sbin

>> start-dfs.sh

在hadoop002 上啟動YARN

cd /opt/module/hadoop/sbin

>> start-yarn.sh

群起腳本:

touch?/usr/bin/hdall.sh

chmod 777?/usr/bin/hdall.sh

vi /usr/bin/hdall.sh

#!/bin/bash
if [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
fi
case $1 in
"start")echo " =================== 啟動 hadoop集群 ==================="echo " --------------- 啟動 hdfs ---------------"ssh hadoop001 "/opt/module/hadoop/sbin/start-dfs.sh"echo " --------------- 啟動 yarn ---------------"ssh hadoop002 "/opt/module/hadoop/sbin/start-yarn.sh"echo " --------------- 啟動 historyserver ---------------"ssh hadoop001 "/opt/module/hadoop/bin/mapred --daemon start historyserver"
;;
"stop")echo " =================== 關閉 hadoop集群 ==================="echo " --------------- 關閉 historyserver ---------------"ssh hadoop001 "/opt/module/hadoop/bin/mapred --daemon stop historyserver"echo " --------------- 關閉 yarn ---------------"ssh hadoop002 "/opt/module/hadoop/sbin/stop-yarn.sh"echo " --------------- 關閉 hdfs ---------------"ssh hadoop001 "/opt/module/hadoop/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac

群起:/usr/bin/hdall.sh start

群停:/usr/bin/hdall.sh stop

如果:ResourceManager的地址和secondname的地址都是hadoop001,則在hadoop001 上啟動HDFS和YARN

cd /opt/module/hadoop/sbin

>> start-all.sh

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

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

相關文章

Spring IoC DI介紹

文章目錄 IoC & DI 介紹IoC介紹DI 介紹 組件注冊Bean 命名約定方法注解 Bean總結 掃描路徑DI 詳解屬性注入構造方法注入Setter 注入三種注入優缺點分析 當同一類型存在多個Bean時,直接使用Autowired會存在問題使用Primary注解使用Qualifier注解使用Bean的名稱使用Resource注…

【Flutter】解決 flutter_inappwebview在 Windows 上使用導致應用閃退問題

問題背景 在 Windows 11 上運行 Flutter 桌面應用時&#xff0c;應用出現閃退現象。通過系統事件日志分析&#xff0c;發現是 MSVCP140.dll 模塊的訪問沖突異常&#xff08;錯誤代碼 c0000005&#xff09;導致的崩潰。 問題分析 1. 錯誤現象 應用啟動后立即閃退Windows 事件…

使用 JavaScript、Mastra 和 Elasticsearch 構建一個具備代理能力的 RAG 助手

作者&#xff1a;來自 Elastic JD Armada 了解如何在 JavaScript 生態系統中構建 AI 代理。 Elasticsearch 與業界領先的生成式 AI 工具和服務商有原生集成。查看我們的網絡研討會&#xff0c;了解如何超越 RAG 基礎&#xff0c;或使用 Elastic 向量數據庫構建可投入生產的應用…

Active Directory 環境下 Linux Samba 文件共享服務建設方案

Active Directory 環境下 Linux Samba 文件共享服務建設方案 目錄 需求分析方案總體設計技術架構與選型詳細部署規劃共享文件性能測試非域終端共享配置運維與權限安全管理建議1. 需求分析 因某公司(編的)新增多個部門,各部門之間存在多類型終端系統,但又有同時訪問文件庫…

Python爬蟲網安-項目-簡單網站爬取

源碼&#xff1a; https://github.com/Wist-fully/Attack/tree/pc pc_p1 目標&#xff1a; 1.進入列表頁&#xff0c;順著列表爬取每個電影詳情頁 2.利用正則來提取&#xff0c;海報&#xff0c;名稱&#xff0c;類別&#xff0c;上映的時間&#xff0c;評分&#xff0c;劇…

Golang中的數組

Golang Array和以往認知的數組有很大不同。有點像Python中的列表 1. 數組&#xff1a;是同一種數據類型的固定長度的序列。 2. 數組定義&#xff1a;var a [len]int&#xff0c;比如&#xff1a;var a [5]int&#xff0c;數組長度必須是常量&#xff0c;且是類型的組成部分。一…

《Origin畫百圖》之矩陣散點圖

矩陣散點圖的作用 一、直觀展示多變量間的兩兩關系 矩陣散點圖的基本單元是兩兩變量的散點圖&#xff0c;每個散點圖對應矩陣中的一個單元格&#xff0c;可直接反映變量間的&#xff1a; 相關性方向&#xff1a;正相關&#xff08;散點向右上傾斜&#xff09;或負相關&#x…

Flask文件下載send_file中文文件名處理解決方案

Flask文件下載send_file中文文件名處理解決方案 Flask文件下載中文文件名處理解決方案問題背景問題分析核心問題常見癥狀 解決方案技術實現關鍵技術點 完整實現示例 Flask文件下載中文文件名處理解決方案 問題背景 在Web應用開發中&#xff0c;當用戶下載包含中文字符的文件時…

新手指南:在 Ubuntu 上安裝 PostgreSQL 并通過 VS Code 連接及操作

本文檔記錄了一個初學者在 Ubuntu 系統上安裝、配置 PostgreSQL 數據庫&#xff0c;并使用 Visual Studio Code (VS Code) 作為客戶端進行連接和操作的全過程。其中包含了遇到的常見錯誤、分析和最終的解決方案&#xff0c;旨在為新手提供一個清晰、可復現的操作路徑。 最終目…

二刷 蒼穹外賣day10(含bug修改)

Spring Task Spring框架提供的任務調度工具&#xff0c;可以按照約定的時間自動執行某個代碼邏輯 cron表達式 一個字符串&#xff0c;通過cron表達式可以定義任務觸發的時間 **構成規則&#xff1a;**分為6或7個域&#xff0c;由空格分隔開&#xff0c;每個域代表一個含義 …

Android Native 之 inputflinger進程分析

Android IMS原理解析 - 簡書 Android 輸入事件分發全流程梳理&#xff08;一&#xff09;_android input事件分發流程-CSDN博客 Android 輸入事件分發全流程梳理&#xff08;二&#xff09;_android輸入事件流程圖-CSDN博客 inputflinger模塊與surfaceflinger模塊在同級目錄…

Python實例題:基于 Flask 的在線聊天系統

目錄 Python實例題 題目 要求&#xff1a; 解題思路&#xff1a; 代碼實現&#xff1a; Python實例題 題目 基于 Flask 的在線聊天系統 要求&#xff1a; 使用 Flask 框架構建一個實時在線聊天系統&#xff0c;支持以下功能&#xff1a; 用戶注冊、登錄和個人資料管理…

v-bind指令

好的&#xff0c;我們來學習 v-bind 指令。這個指令是理解 Vue 數據驅動思想的基石。 核心功能&#xff1a;v-bind 的作用是將一個或多個 HTML 元素的 attribute (屬性) 或一個組件的 prop (屬性) 動態地綁定到 Vue 實例的數據上。 簡單來說&#xff0c;它在你的數據和 HTML …

【設計模式04】單例模式

前言 整個系統中只會出現要給實例&#xff0c;比如Spring中的Bean基本都是單例的 UML類圖 無 代碼示例 package com.sw.learn.pattern.B_create.c_singleton;public class Main {public static void main(String[] args) {// double check locking 線程安全懶加載 ?? //…

飛算科技依托 JavaAI 核心技術,打造企業級智能開發全場景方案

在數字經濟蓬勃發展的當下&#xff0c;企業對智能化開發的需求愈發迫切。飛算數智科技&#xff08;深圳&#xff09;有限公司&#xff08;簡稱 “飛算科技”&#xff09;作為自主創新型數字科技公司與國家級高新技術企業&#xff0c;憑借深厚的技術積累與創新能力&#xff0c;以…

20250701【二叉樹公共祖先】|Leetcodehot100之236【pass】今天計劃

20250701 思路與錯誤記錄1.二叉樹的數據結構與初始化1.1數據結構1.2 初始化 2.解題 完整代碼今天做了什么 題目 思路與錯誤記錄 1.二叉樹的數據結構與初始化 1.1數據結構 1.2 初始化 根據列表&#xff0c;順序存儲構建二叉樹 def build_tree(nodes, index0):# idx是root開始…

Web應用開發 --- Tips

Web應用開發 --- Tips General后端需要做參數校驗代碼風格和Api設計風格的一致性大于正確性數據入庫時間應由后端記錄在對Api修改的時候&#xff0c;要注意兼容情況&#xff0c;避免breaking change 索引對于查詢字段&#xff0c;注意加索引對于唯一的字段&#xff0c;考慮加唯…

CSS 安裝使用教程

一、CSS 簡介 CSS&#xff08;Cascading Style Sheets&#xff0c;層疊樣式表&#xff09;是用于為 HTML 頁面添加樣式的語言。通過 CSS 可以控制網頁元素的顏色、布局、字體、動畫等&#xff0c;是前端開發的三大核心技術之一&#xff08;HTML、CSS、JavaScript&#xff09;。…

機器學習中為什么要用混合精度訓練

目錄 FP16與顯存占用關系機器學習中一般使用混合精度訓練&#xff1a;FP16計算 FP32存儲關鍵變量。 FP16與顯存占用關系 顯存&#xff08;Video RAM&#xff0c;簡稱 VRAM&#xff09;是顯卡&#xff08;GPU&#xff09;專用的內存。 FP32&#xff08;單精度浮點&#xff09;&…

[附源碼+數據庫+畢業論文+答辯PPT]基于Spring+MyBatis+MySQL+Maven+vue實現的中小型企業財務管理系統,推薦!

摘 要 現代經濟快節奏發展以及不斷完善升級的信息化技術&#xff0c;讓傳統數據信息的管理升級為軟件存儲&#xff0c;歸納&#xff0c;集中處理數據信息的管理方式。本中小型企業財務管理就是在這樣的大環境下誕生&#xff0c;其可以幫助管理者在短時間內處理完畢龐大的數據信…