hadoop生態圈集群搭建(持續更新240513)

Hadoop生態圈

  • Linux
    • 1.修改ip地址
    • 2.重啟network服務
    • 3.安裝插件
    • 4.關閉防火墻
    • 5.創建用戶
    • 6.創建目錄
    • 7.修改目錄的所屬主和所屬組為lxy
    • 8.修改主機名:hadoop102 (注意名字后面不要加空格)
    • 9.修改hosts文件
    • 10.等插件都裝完后再重啟Linux
    • 11.把xshell的登錄用戶換成lxy (注意:不要用root切到lxy 而是直接使用lxy登錄)
  • JDK安裝(建議和Hadoop一起安裝,改的文件都一樣,一起改!)
    • 1.將jdk的壓縮包上傳到linux的/opt/software目錄中
    • 2.解壓
    • 3.配置環境變量
      • 3.1 在/etc/profile.d中創建xxx.sh(在這我們統一叫 my_env.sh)
      • 3.2 讓環境變量生效
    • 4.測試
  • Hadoop安裝(上面整過了這塊兒不用搞了)
    • 1.將Hadoop的壓縮包上傳到linux的/opt/software
    • 2.解壓壓縮包
    • 3.配置環境變量
    • 4.讓環境變量生效
    • 5.測試
  • 克隆兩臺
  • 單機模式
    • 一 準備數據
    • 二 運行程序
    • 三 查看結果
  • 分布式集群搭建
    • 1.scp的使用
    • 2.rsync的使用
    • 3.ssh配置
      • 生成私鑰和公鑰
    • 4.xsync腳本的使用
    • 5.集群部署規劃
    • 6.修改配置文件
      • 配置core-site.xml
      • 配置hdfs-site.xml
      • 配置yarn-site.xml
      • 配置mapred-site.xml
      • 配置workers
    • 7.格式化
    • 8.啟動集群
      • 啟動集群腳本
    • 9.常見錯誤:
    • 10.寫jpsall腳本
    • 11.查看頁面
      • ①瀏覽器中輸入:http://hadoop102:9870
      • ①瀏覽器中輸入:http://hadoop103:8088
    • 12.集群測試
  • 集群時間同步
  • XShell連不上Linux
    • 1.先查看Linux是否啟動
    • 2.先查看VMWare服務
    • 3.在Linux測試是否可以上網 : ping www.baidu.com
    • 4.重啟windows(先關閉Linux再關閉windows)

Linux

在剛安裝好的Linux上克隆一個hadoop102

在hadoop102上打快照 ----因為晚上需要恢復快照再做一遍

1.修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33修改BOOTPROTO=staticONBOOT=yes
添加如下內容IPADDR=192.168.10.102GATEWAY=192.168.10.2DNS1=114.114.114.114DNS2=8.8.8.8

2.重啟network服務

	systemctl restart network	
測試ping www.baidu.com(xshell連接Linux)

3.安裝插件

yum install -y epel-release net-tools vim
yum install -y  psmisc  nc  rsync  lrzsz  ntp libzstd openssl-static tree iotop git
(可以在安裝的過程中,再打開一個窗口繼續下面的操作)

4.關閉防火墻

systemctl stop firewalld
systemctl disable firewalld

5.創建用戶

#創建用戶
useradd lxy
#設置密碼123321
passwd lxy 回車再輸入密碼 123321
#給lxy設置可以使用root權限
visudo
#在root    ALL=(ALL)       ALL下面添加如下內容
lxy ALL=(ALL)       NOPASSWD:ALL

6.創建目錄

mkdir /opt/module
mkdir /opt/software

7.修改目錄的所屬主和所屬組為lxy

chown lxy:lxy module software

8.修改主機名:hadoop102 (注意名字后面不要加空格)

vi /etc/hostname

9.修改hosts文件

#修改linux的hosts文件vi /etc/hosts添加如下內容
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
192.168.10.112 hadoop112
192.168.10.113 hadoop113
192.168.10.114 hadoop114
192.168.10.115 hadoop115
192.168.10.116 hadoop116
192.168.10.117 hadoop117
192.168.10.118 hadoop118
192.168.10.201 hadoop201
192.168.10.202 hadoop202
192.168.10.203 hadoop203
192.168.10.204 hadoop204
192.168.10.205 hadoop205
192.168.10.206 hadoop206
192.168.10.207 hadoop207
192.168.10.208 hadoop208
192.168.10.209 hadoop209
192.168.10.210 hadoop210
192.168.10.211 hadoop211
#修改windows的hosts文件(如果修改保存時顯示沒有權限。可以將hosts文件復制到桌面修改桌面上的hosts文件再把桌面的hosts文件復制回去即可。查看是否成功)
C:\Windows\System32\drivers\etc

添加如下內容

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
192.168.10.112 hadoop112
192.168.10.113 hadoop113
192.168.10.114 hadoop114
192.168.10.115 hadoop115
192.168.10.116 hadoop116
192.168.10.117 hadoop117
192.168.10.118 hadoop118
192.168.10.201 hadoop201
192.168.10.202 hadoop202
192.168.10.203 hadoop203
192.168.10.204 hadoop204
192.168.10.205 hadoop205
192.168.10.206 hadoop206
192.168.10.207 hadoop207
192.168.10.208 hadoop208
192.168.10.209 hadoop209
192.168.10.210 hadoop210
192.168.10.211 hadoop211

10.等插件都裝完后再重啟Linux

11.把xshell的登錄用戶換成lxy (注意:不要用root切到lxy 而是直接使用lxy登錄)

JDK安裝(建議和Hadoop一起安裝,改的文件都一樣,一起改!)

1.將jdk的壓縮包上傳到linux的/opt/software目錄中

2.解壓

cd /opt/software
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/module/

3.配置環境變量

3.1 在/etc/profile.d中創建xxx.sh(在這我們統一叫 my_env.sh)

cd /etc/profile.d
sudo vim my_env.sh

添加如下內容

#聲明JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
#聲明HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.4
#將JAVA_HOME添加到path中
export PATH=$PATH:$JAVA_HOME/bin
#將HADOOP_HOME添加到path中
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

3.2 讓環境變量生效

第一種方式 :將xshell的窗口斷開重新連接 (重新加載環境變量)

第二種方式 :source /etc/profile.d/my_env.sh
注意:source就是執行my_env.sh腳本程序 如果第一次環境變量錯誤 修改后 再次source
會發現原來錯誤的環境變量還在。那就重啟Linuxsudo reboot

4.測試

java -version
hadoop version

Hadoop安裝(上面整過了這塊兒不用搞了)

1.將Hadoop的壓縮包上傳到linux的/opt/software

2.解壓壓縮包

cd /opt/software
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/module/

3.配置環境變量

cd /etc/profile.d
sudo vim my_env.sh

添加如下內容

#聲明HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.4
#將HADOOP_HOME添加到path中
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

4.讓環境變量生效

第一種方式 :將xshell的窗口斷開重新連接 (重新加載環境變量)

第二種方式 :source /etc/profile.d/my_env.sh
注意:source就是執行my_env.sh腳本程序 如果第一次環境變量錯誤 修改后 再次source
會發現原來錯誤的環境變量還在。那就重啟sudo reboot

5.測試

hadoop version

克隆兩臺

修改兩個地方

vi /etc/sysconfig/network-scripts/ifcfg-ens33
vi /etc/hostname

單機模式

一 準備數據

1.創建目錄

mkdir /opt/module/hadoop-3.3.4/wcinput

2.創建文件

cd /opt/module/hadoop-3.3.4/wcinput
vim a.txt

3.文件中寫點數據

hello hello
longge
canglaoshi
longge

二 運行程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount wcinput wcoutput

說明:
hadoop: bin目錄中的命令
jar : 參數表示運行一個jar包
share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar : jar包路徑
wordcount :案例名稱-不能隨便寫
wcinput :數據所在的目錄
wcoutput :運算的結果輸出的目錄—該目錄必須不存在

三 查看結果

cd wcoutput
cat part-r-00000

分布式集群搭建

1.scp的使用

進行文件或目錄的拷貝

scp -r $pdir/$fname $user@$host:$pdir/$fname

2.rsync的使用

rsync -av $pdir/$fname $user@$host:$pdir/$fname

3.ssh配置

生成私鑰和公鑰

每個節點執行一次

ssh-keygen -t rsa

每個節點的rootlxy各執行一次

### 拷貝公鑰
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104

4.xsync腳本的使用

vim /home/lxy/bin/xsync
#!/bin/bash#1. 判斷參數個數
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi#2. 遍歷集群所有機器
for host in hadoop102 hadoop103 hadoop104
doecho ====================  $host  ====================#3. 遍歷所有目錄,挨個發送for file in $@do#4. 判斷文件是否存在if [ -e $file ]then#5. 獲取父目錄pdir=$(cd -P $(dirname $file); pwd)#6. 獲取當前文件的名稱fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done
修改腳本 xsync 具有執行權限
chmod +x xsync
測試腳本
xsync /home/lxy/bin

5.集群部署規劃

  • NameNode和SecondaryNameNode不要安裝在同一臺服務器。
  • ResourceManager也很消耗內存,不要和NameNode、SecondaryNameNode配置在同一臺機器上。
hadoop102hadoop103hadoop104
HDFSNameNode
DataNode
DataNodeSecondaryNameNode
DataNode
YARNNodeManagerResourceManager
NodeManager
NodeManager

6.修改配置文件

cd /opt/module/hadoop-3.3.4/etc/hadoop

修改了下面的5個配置文件
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
workers

配置core-site.xml

vim core-site.xml
<!-- 指定NameNode的地址 -->
<property><name>fs.defaultFS</name><value>hdfs://hadoop102:8020</value>
</property><!-- 指定hadoop數據的存儲目錄 -->
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.3.4/data</value>
</property><!-- 配置HDFS網頁登錄使用的靜態用戶為lxy -->
<property><name>hadoop.http.staticuser.user</name><value>lxy</value>
</property>

配置hdfs-site.xml

vim hdfs-site.xml

<!-- nn web端訪問地址-->
<property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value>
</property>
<!-- 2nn web端訪問地址-->
<property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value>
</property>

配置yarn-site.xml

vim yarn-site.xml

<!-- 指定MR走shuffle -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property><!-- 指定ResourceManager的地址-->
<property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value>
</property><!-- 環境變量的繼承 -->
<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>
<!-- 開啟日志聚集功能 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property><!-- 設置日志聚集服務器地址 -->
<property>  <name>yarn.log.server.url</name>  <value>http://hadoop102:19888/jobhistory/logs</value>
</property><!-- 設置日志保留時間為7天 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>

配置mapred-site.xml

vim mapred-site.xml

<!-- 指定MapReduce程序運行在Yarn上 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
<!-- 歷史服務器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>hadoop102:10020</value>
</property>
<!-- 歷史服務器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop102:19888</value>
</property>

配置workers

vim /opt/module/hadoop-3.3.4/etc/hadoop/workers

在該文件中增加如下內容:

hadoop102
hadoop103
hadoop104

注意:該文件中添加的內容結尾不允許有空格,文件中不允許有空行。
同步所有節點配置文件。

一定要分發

cd /opt/module/hadoop-3.3.4/etc/hadoop
xsync ./
xsync /opt/module/hadoop-3.3.4/etc

7.格式化

在hadoop102(因為namenode在這個節點上-格式化后產生的文件是給namenode使用的)上格式化。
注意:不要重復格式化。如果是格式化失敗(格式化的時候有錯誤)修改錯誤后重新格式化
命令:hdfs namenode -format

8.啟動集群

啟動HDFS:start-dfs.sh
關閉HDFS#!#!stop-dfs.sh啟動YARN(必須在resourcemanager所在的節點-hadoop103):start-yarn.sh
關閉YARN(必須在resourcemanager所在的節點-hadoop103):stop-yarn.sh

啟動集群腳本

vim /home/lxy/bin/myhadoop
#!/bin/bash
#參數的個數校驗
if [ $# -ne 1 ];thenecho 參數的個數不對exit
fi#參數的內容校驗
case $1 in
"start")#啟動HDFSssh hadoop102 $HADOOP_HOME/sbin/start-dfs.sh#啟動YARNssh hadoop103 start-yarn.sh;;
"stop")#關閉HDFSssh hadoop102 stop-dfs.sh#關閉YARNssh hadoop103 stop-yarn.sh;;
*)echo 輸入的內容不對!!!;;
esac;

9.常見錯誤:

錯誤一:配置文件錯誤
錯誤二:重復格式化

10.寫jpsall腳本

vim /home/lxy/bin/jpsall
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
doecho =====================$host================ssh $host jps
done

11.查看頁面

Web端查看HDFS的NameNode

①瀏覽器中輸入:http://hadoop102:9870

	②查看HDFS上存儲的數據信息
Web端查看YARN的ResourceManager

①瀏覽器中輸入:http://hadoop103:8088

	②查看YARN上運行的Job信息如果看不到解決方案:1.查看集群是否正啟動(HDFS YARN都要啟動)2.將hadoop102的名字替換成IP地址(如果能解決說明windows的hosts的文件有問題)3.查看防火墻是否關閉systemctl status firewalld如果沒有關閉 :systemctl stop firewalld  systemctl disable firewalld

12.集群測試

①在HDFS的頁面上創建input目錄 并在input目錄中上傳a.txt
②在任意一臺節點上執行jobhadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input /output注意:輸入和輸出路徑是HDFS的路徑
③在運行時觀察兩個頁面http://hadoop103:8088 觀察Job執行的進度http://hadoop102:9870 觀察輸出結果

13.歷史服務器
作用:查看之前執行過的job信息
配置:vim /opt/module/hadoop-3.3.4/etc/hadoop/mapred-site.xml
添加如下內容

		<!-- 歷史服務器端地址 --><property><name>mapreduce.jobhistory.address</name><value>hadoop102:10020</value></property><!-- 歷史服務器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop102:19888</value></property>
注意:一定要分發   
cd /opt/module/hadoop-3.3.4/etc/hadoop/
xsync mapred-site.xml
啟動歷史服務器:
mapred --daemon start historyserver
歷史服務器地址http://hadoop102:19888

14.日志的聚集
作用:在歷史服務器中通過logs就可以查看job的執行的詳細信息
配置:vim /opt/module/hadoop-3.3.4/etc/hadoop/yarn-site.xml
添加如下內容

		<!-- 開啟日志聚集功能 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 設置日志聚集服務器地址 --><property>  <name>yarn.log.server.url</name>  <value>http://hadoop102:19888/jobhistory/logs</value></property><!-- 設置日志保留時間為7天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>
注意:①一定要分發 cd /opt/module/hadoop-3.3.4/etc/hadoop/xsync yarn-site.xml②重啟HDFS YARN 歷史服務器③重新執行job④再查看logs

15.集群啟動方式
方式一 :整個模塊的啟或停止
start-dfs.sh stop-dfs.sh
start-yarn.sh stop-yarn.sh
方式二: 單個角色的啟動或停止
(1)分別啟動/停止HDFS組件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
(2)啟動/停止YARN
yarn --daemon start/stop resourcemanager/nodemanager

集群時間同步

將hadoop102配置成時間服務器
1.將ntpd服務關閉
sudo systemctl stop ntpd

2.修改配置文件sudo vim /etc/ntp.confsudo vim /etc/sysconfig/ntpd3.啟動ntpd服務sudo systemctl start ntpd=======時間服務器的時間不對===================sudo systemctl stop ntpd
sudo ntpdate 時間服務器地址
sudo systemctl start ntpd

配置hadoop103和hadoop104去hadoop102同步時間
1.啟動定時任務的服務
sudo systemctl start crond

2.編輯定時任務sudo crontab -e添加如下內容0 2 * * * sudo ntpdate hadoop102

XShell連不上Linux

1.先查看Linux是否啟動

沒有啟動 那么啟動即可

2.先查看VMWare服務

此電腦 -> 右鍵 -> 管理 -> 服務和應用程序 -> 服務 -> VMWarexxxx 有四個查看否啟動
如果沒有啟動右鍵啟動即可。如果已經啟動找到VMWare NAT XXX 服務右鍵重啟
重啟后再次重次重新連接Xshell

3.在Linux測試是否可以上網 : ping www.baidu.com

如果不可以上網需要查看配置文件①VMNet8虛擬網卡的配置②VMWare的配置③Linux的配置如果配置都沒問題①重啟虛擬網卡 :網絡 -> 右鍵 -> 屬性 -> 更改適配器設置 -> VMnet8 -> 右鍵禁用 再 啟用②重啟Linux服務systemctl restart network如果報錯- 方案一是否是配置文件問題    方案二 關閉網絡管理服務systemctl stop NetworkManagersystemctl disable NetworkManager再次重啟 systemctl restart network

4.重啟windows(先關閉Linux再關閉windows)

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

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

相關文章

5W 3KVAC隔離 寬電壓輸入 AC/DC 電源模塊——TP05AL系列

TP05AL系列產品是一款經濟型開板式開關電源&#xff0c;輸出功率為5W&#xff0c;具有可靠性高、小體積、性價比高等特點&#xff0c;廣泛用于工控和電力儀器、儀表、智能家居等相關行業。

通過 Apple Vision Pro 釋放創造力:深入研究空間計算

Apple 最新進軍空間計算領域的 Apple Vision Pro,標志著重新定義我們與技術交互方式的重大飛躍。空間計算超越了傳統界限,允許用戶以無縫集成到物理世界的方式參與 2D 和 3D 內容。 我們可以關注兩種類型的體驗: 在空間中渲染 2D 內容。這涉及將現有設備窗口投影到空間領域…

通過C++和libcurl下載網易云音樂音頻文件的5個簡單步驟

概述 在網絡編程中&#xff0c;使用C和libcurl庫下載文件是一項常見的任務。網易云音樂作為中國領先的在線音樂服務平臺之一&#xff0c;以其豐富的音樂資源、優質的音質和智能推薦系統而廣受歡迎。由于其平臺提供了大量的正版音樂資源&#xff0c;用戶在下載音頻文件時可能會…

開源發布:JAVA版低代碼報文網關-通過簡單配置快速對接銀行渠道

大家好&#xff0c;我是隱墨星辰&#xff0c;自從《百圖解碼支付系統設計與實現》專欄中的文章《圖解支付報文網關&#xff1a;一種低代碼報文網關的設計思路與核心代碼實現》發表以來&#xff0c;不少同學留言或私信問我如何實現&#xff0c;說是雖然看懂了思路&#xff0c;但…

pycharm 里面安裝 codeium 插件的時候,不能夠彈出登錄界面

pycharm 里面安裝 codeium 插件的時候&#xff0c;不能夠彈出登錄界面 pycharm 里面安裝 codeium 插件的時候&#xff0c;不能夠彈出登錄界面--解決如下A pycharm 里面安裝 codeium 插件的時候&#xff0c;不能夠彈出登錄界面–解決如下 #踩坑/pycharm/codeium插件無法登錄 安…

微信聯登報invalid code, rid: 66446806-0826d0b4-3a94ce3a ,錯誤碼:40029解決方法

目錄 一、問題描述二、問題原因三、解決方法 一、問題描述 微信登錄報錯&#xff1a; invalid code, rid: 66446806-0826d0b4-3a94ce3a &#xff0c;錯誤碼&#xff1a;40029二、問題原因 后端設置的 appsecret 和 appid 與前端的 appid 不一致。 三、解決方法 檢查是否已…

用Ai編寫一個電機驅動程序

問&#xff1a;幫我寫一個步進電機的控制程序&#xff0c;要有包括加減速&#xff0c;以及電機步中斷處理函數。 答&#xff1a;編寫一個步進電機的控制程序涉及到硬件層面的操作&#xff0c;通常需要依賴特定的硬件平臺和相應的驅動程序。以下是一個簡化的示例&#xff0c;它展…

制氧機負離子的作用與好處深度解析

隨著現代生活節奏的加快&#xff0c;空氣質量逐漸下降&#xff0c;人們對健康生活的追求也日益增強。在這樣的背景下&#xff0c;制氧機負離子功能因其多重健康效益而備受關注。本文將深入探討制氧機負離子的作用與功效&#xff0c;幫助大家更好地了解并應用這一健康科技。 我們…

單片機燒錄程序時“DTR的低電平復位,RTS高電平進入bootloader”有關的串口Modem聯絡信號

燒錄程序時常見DTR和RTS引腳 參考&#xff0c;參考視頻 因為常常使用的都是串口下載程序&#xff0c;常用的芯片CH340系列&#xff0c;下圖中標紅的引腳是MODEM聯絡信號&#xff0c;其中常見的DTR和RTS就是常見的串口Modem網絡輸出信號&#xff0c;也就是通過燒錄軟件控制的接…

VUE v-for中修改data數據

有個需求&#xff0c;要求使用v-for生成序號&#xff0c;但是中間可能會中斷&#xff0c;例如&#xff1a; 1 2 3 4 (此行無序號) 5 6 (此行無序號) (此行無序號) (此行無序號) 7 8 ...... 想著這還不簡單&#xff0c;只要在data中定義一個變量&#xff0c;然后每次調用時就行…

CMMI3認證如何升級為CMMI5認證

眾所周知&#xff0c;CMMI認證體系共分為五個等級&#xff0c;一級最低&#xff0c;五級最高。企業初次申報一般從三級做起&#xff0c;在這個等級水平上&#xff0c;企業在項目研發管理方面已經具備一定的規范程度&#xff0c;對企業的過程改進有著顯著成效&#xff0c;在同行…

wps本地js宏基礎語句

IF語句 //str.indexOf("")的值為-1時表示不包含 function 是否包含關鍵字(){var str "陳表達真是個大帥哥";if(str.indexOf("大") ! -1){alert("是的&#xff0c;他是非常大");} }//str.includes("")返回一個布爾值&#x…

深入解析Wireshark1:從捕獲到分析,一網打盡數據包之旅

目錄 1 認識 Wireshark 1.1 選擇網卡界面 1.2 捕獲數據包界面 1.3 常用按鈕功能介紹 1.4 數據包列表信息 1.5 數據包詳細信息 2 數據包案例分析 Frame: 物理層的數據幀概況 Ethernet II: 數據鏈路層以太網幀頭部信息 Internet Protocol Version 4 (IPv4): 互聯網層IP…

Git系列:git restore 高效恢復代碼的技巧與實踐

&#x1f49d;&#x1f49d;&#x1f49d;歡迎蒞臨我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:「stormsha的主頁」…

Java網絡編程:介紹Java提供的網絡編程接口,如Socket,ServerSocket,URL等,并通過實例說明它們的用法。

一、Java網絡編程簡介 網絡編程的重要性: 網絡編程是計算機科學中不可或缺的一部分,它使得兩個或兩個以上的計算機能夠互相通信、協作,達成完成某個任務的目標。網絡編程掃描多數我們日常生活中的應用場景,比如聊天軟件、網頁瀏覽、電子郵件、社交網絡,甚至遠程辦公等。許多…

AndroidStudio集成高德地圖后出現黑屏并報錯

報錯內容為&#xff1a;No implementation found for void com.autonavi.base.ae.gmap.GLMapEngine.nativeMainThreadTrigger(int, long) (tried Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeMainThreadTrigger and Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeM…

如何判斷自己是不是有癔病癥?

癔病癥分為兩種類型&#xff1a; 分離癥和轉換癥&#xff0c;需要分開來描述。 分離癥&#xff1a;短時間的意識分離&#xff0c;比如&#xff1a;遺忘&#xff0c;忘記了自己的身份&#xff0c;就像換了個人&#xff08;多重人格的特征&#xff09;&#xff0c;所以人格分裂&…

愛吃香蕉的珂珂

題目鏈接 愛吃香蕉的珂珂 題目描述 注意點 piles.length < h < 10^9如果某堆香蕉少于k根&#xff0c;將吃掉這堆的所有香蕉&#xff0c;然后這一小時內不會再吃更多的香蕉返回可以在 h 小時內吃掉所有香蕉的最小速度 k&#xff08;k 為整數&#xff09; 解答思路 二…

數據分析實例——搭建電商的指標體系||對應功能開發需要接入的電商API接口說明

前言&#xff1a; 在日常工作中&#xff0c;數據分析中常常涉及搭建指標體系&#xff0c;搭建電商需要接入的電商API接口本文主要以電商為案例&#xff0c;來講講如何搭建指標體系。 指標體系的定義&#xff1a; 指標體系是由一系列指標組成的&#xff0c;這些指標是基于不同的…

React 第三十六章 Scheduler 任務調度

Scheduler 用于在 React 應用中進行任務調度。它可以幫助開發人員在處理復雜的任務和操作時更好地管理和優化性能。 關于 Scheduler 在React 如何渲染的可以參考 React 第三十四章 React 渲染流程 下面我們根據流程圖先簡單的了解 Scheduler 的調度過程 Scheduler 維護兩個隊…