當前位置:首頁 » 文件管理 » spark文件夾

spark文件夾

發布時間: 2022-09-13 10:56:55

⑴ 怎樣升級spark集群到更新的版本

從官網下載最新版spark

將下載好的spark解壓到目標文件夾中:tar –xzvf spark-1.6.1-bin-hadoop2.6.tgz。解壓後spark中的內容如下所示:

進入$SPARK_HOME/conf 文件夾下配置spark,主要更改的文件有slaves,spark-env.sh,spark-defaults.conf。更改後的內容如下:
Slaves:

Spark-env.sh:

Spark-defaults.conf:

spark官方推出新版本的時候,已經考慮了新舊版本兼容性,所以這幾個配置文件的內容大體上差不多。故你也可以直接拷貝舊版本的配置文件。
修改環境變數bashrc中的SPARK_HOME和PATH變數,指向新的版本的路徑:

source .bashrc,使環境變數的更改生效。驗證下環境變數的更改是否生效:

把配置好的SPARK拷貝到各個節點,並更改各個節點的 bashrc 環境變數。現在就可以使用新版本的集群啦!

9
升級到新版本後,舊的版本你也可以不刪除,這樣當需要的時候,你可以修改環境變數指向舊的版本,來完成回滾;當然你也可以到對應的目錄下執行命令啟動對應版本的集群,來測試比較新舊版本的不同。

⑵ 如何在spark中刪除hdfs的某個文件夾

hadoop 添加刪除datanode及tasktracker

首先:

建議datanode和tasktracker分開寫獨立的exclude文件,因為一個節點即可以同時是datanode和tasktracker,也可以單獨是datanode或tasktracker。

1、刪除datanode

修改namenode上的hdfs-site.xml

<property>
<name>dfs.hosts</name>
<value>/usr/local/hadoop/conf/datanode-allow-list</value>
</property>

<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/datanode-deny-list</value>
</property>

其中dfs.host列出了連入namenode的節點,如果為空,則所有的datanode都可以連入namenode。如果不為空,則文件中存在的datanode可以連入。
dfs.hosts.exclude列出了禁止連入namenode的節點。
如果一個節點同時存在於dfs.hosts和dfs.hosts.exclude,則禁止連入。

具體步驟

(1)將要刪除的datanode加入到dfs.hosts.exclude指定的文件中。(最好使用主機名,IP有時可能不生效)

(2)動態刷新配置,不需要重啟namenode

hadoop dfsadmin -refreshNodes

(3)通過hadoop dfsadmin -report或webui,可以看到,該datanode的狀態為Decommissioning

(4)等待一段時間,該節點為dead狀態。

(5)刪除dfs.hosts文件中該節點 即下架目標機器後,再次編輯dfs.hosts.exclude,把剛才下架的機器的ip或機器名移走

(6)

hadoop dfsadmin -refreshNodes

註:按照上面的操作後,如果你想要重新啟用該節點為datanode,從dfs.hosts.exclude中刪除該節點,refreshNodes,然後,到該節點上,重啟啟動該datanode:

/usr/local/hadoop/bin/hadoop-daemon.sh stop datanode
/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

注:正確的刪除datanode的方法應該是按照上面的方法,使用exclude文件,而不應該直接去datanode上去sotp datanode,這樣會造出數據丟失,而且stop以後,webui和hadoop dfsadmin -report都仍然顯示該datanode節點。除非重新啟動namenode。
之所以重新啟用exclude的節點時可以stop datanode,因為此時該datanode不包含在cluster中,所以,stop後不會造成數據丟失。

2、添加datanode
如果存在dfs.hosts文件,且不為空,則添加新的datanode到該文件中,refreshNodes。
到新節點上,啟動即可

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

如果不存在dfs.hosts文件,或文件為空,直接啟動新節點即可。

3、刪除tasktracker
原理和步驟與刪除datanode一樣。
<property>
<name>mapred.hosts</name>
<value>/usr/local/hadoop/conf/tasktracker-allow-list</value>
</property>

<property>
<name>mapred.hosts.exclude</name>
<value>/usr/local/hadoop/conf/tasktracker-deny-list</value>
</property>

動態刷新配置的命令為:
hadoop mradmin -refreshNodes
立刻生效,可以在webui中看到,nodes節點數量的變化,以及Excluded Nodes節點的變化。
具體的步驟參考上面的刪除datanode的步驟

註:按照上面的操作後,如果你想要重新啟用該節點為tasktracker,從mapred.hosts.exclude中刪除該節點,refreshNodes,然後,到該節點上,重啟啟動該tasktracker:

/usr/local/hadoop/bin/hadoop-daemon.sh stop tasktracker
/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

注:正確的刪除tasktracker的方法應該是按照上面的方法,使用exclude文件,而不應該直接去tasktracker上去sotp tasktracker,這樣會造成job失敗,而且stop以後,webui上仍然顯示該tasktracker節點。除非重新啟動jobtracker。

我遇到的一個問題:
在exclude文件中,我使用了IP,發現tasktracker仍然參與計算。
在webui中發現,Excluded Nodes中存在該IP,Nodes中仍然存在該tasktracker的hostname。
解決的辦法就是,在exclude中使用hostname而不使用IP。
判斷是否真正生效:如果exclued文件中正確的填寫了要失效的node,則總得nodes數量應該減小。

4、添加tasktracker
如果存在mapred.hosts文件,且不為空,則添加新的tasktracker到該文件中,refreshNodes。
到新節點上,啟動即可

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

如果不存在mapred.hosts文件,或文件為空,直接啟動新節點即可。

6、添加或刪除datanode後,平衡磁碟利用率
運行bin/start-balancer.sh,這個會很耗時間
備註:
如果不balance,那麼cluster會把新的數據都存放在新的node上,這樣會降低mr的工作效率;

/usr/local/hadoop/bin/start-balancer.sh -threshold 0.1
7下架目標機器後,再次編輯mapred.hosts.exclude,把剛才下架的機器的ip或機器名移走

threshold 是平衡閾值,默認是10%,值越低各節點越平衡,但消耗時間也更長。
balancer也可以在有mr job的cluster上運行,默認dfs.balance.bandwidthPerSec很低,為1M/s。在沒有mr job時,可以提高該設置加快負載均衡時間。
在namenode的hdfs-site.xml中增加設置balance的帶寬,默認只有1M:

<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value><description>Specifies themaximum bandwidth that each datanode can utilize for the balancing purpose interm of the number of bytes per second.</description>
</property>

⑶ 如何在本地安裝運行Spark

2.1.2在Windows上安裝與配置Spark

本節介紹在Windows系統上安裝Spark的過程。在Windows環境下需要安裝Cygwin模擬Linux的命令行環境來安裝Spark。

(1)安裝JDK

相對於Linux、Windows的JDK安裝更加自動化,用戶可以下載安裝Oracle JDK或者OpenJDK。只安裝JRE是不夠的,用戶應該下載整個JDK。

安裝過程十分簡單,運行二進制可執行文件即可,程序會自動配置環境變數。

(2)安裝Cygwin

Cygwin是在Windows平台下模擬Linux環境的一個非常有用的工具,只有通過它才可以在Windows環境下安裝Hadoop和Spark。具體安裝步驟如下。

1)運行安裝程序,選擇install from internet。

2)選擇網路最好的下載源進行下載。

3)進入Select Packages界面(見圖2-2),然後進入Net,選擇openssl及openssh。因為之後還是會用到ssh無密鑰登錄的。

另外應該安裝「Editors Category」下面的「vim」。這樣就可以在Cygwin上方便地修改配置文件。

最後需要配置環境變數,依次選擇「我的電腦」→「屬性」→「高級系統設置」→「環境變數」命令,更新環境變數中的path設置,在其後添加Cygwin的bin目錄和Cygwin的usr\bin兩個目錄。

(3)安裝sshd並配置免密碼登錄

1)雙擊桌面上的Cygwin圖標,啟動Cygwin,執行ssh-host-config -y命令,出現如圖2-3所示的界面。

2)執行後,提示輸入密碼,否則會退出該配置,此時輸入密碼和確認密碼,按回車鍵。最後出現Host configuration finished.Have fun!表示安裝成功。

3)輸入net start sshd,啟動服務。或者在系統的服務中找到並啟動Cygwin sshd服務。

注意,如果是Windows 8操作系統,啟動Cygwin時,需要以管理員身份運行(右擊圖標,選擇以管理員身份運行),否則會因為許可權問題,提示「發生系統錯誤5」。

(4)配置SSH免密碼登錄

1)執行ssh-keygen命令生成密鑰文件,如圖2-4所示。

2)執行此命令後,在你的Cygwin\home\用戶名路徑下面會生成.ssh文件夾,可以通過命令ls -a /home/用戶名 查看,通過ssh -version命令查看版本。

3)執行完ssh-keygen命令後,再執行下面命令,生成authorized_keys文件。

cd ~/.ssh/
cp id_dsa.pub authorized_keys
這樣就配置好了sshd服務。

(5)配置Hadoop

修改和配置相關文件與Linux的配置一致,讀者可以參照上文Linux中的配置方式,這里不再贅述。

(6)配置Spark

修改和配置相關文件與Linux的配置一致,讀者可以參照上文Linux中的配置方式,這里不再贅述。

(7)運行Spark

1)Spark的啟動與關閉

①在Spark根目錄啟動Spark。

./sbin/start-all.sh
②關閉Spark。

./sbin/stop-all.sh
2)Hadoop的啟動與關閉

①在Hadoop根目錄啟動Hadoop。

./sbin/start-all.sh
②關閉Hadoop。

./sbin/stop-all.sh
3)檢測是否安裝成功

正常狀態下會出現如下內容。

-bash-4.1# jps
23526 Jps
2127 Master
7396 NameNode
7594 SecondaryNameNode
7681 ResourceManager
1053 DataNode
31935 NodeManager
1405 Worker
如缺少進程請到logs文件夾下查看相應日誌,針對具體問題進行解決。

⑷ 求助Spark IV未能找到路徑

SparkIV不需要放在游戲更目錄的,放在任意文件夾,雙擊打開後點左上角,是原版就點GTAIV,資料片就點EFLC,然後選擇游戲文件夾點確定即可,望採納!

⑸ 怎麼測試spark是否成功安裝

啟動Spark集群,啟動後的WebUI如下

啟動Spark Shell

Web控制台查看shell的情況

把Spark安裝目錄「README.md」拷貝到HDFS系統上在Master節點上新啟動一個命令終端,並進入到Spark安裝目錄下

把文件拷貝到HDFS的root文件夾下

觀察一下Web控制台,會發現該文件已經成功上傳到HDFS上

在Spark shell之下操作編寫代碼,操作我們上傳的「README.md」

⑹ 如何向Spark個節點共享靜態文件和jar包

addFile方法可以接收本地文件(或者HDFS上的文件),甚至是文件夾(如果是文件夾,必須是HDFS路徑),然後Spark的Driver和Exector可以通過SparkFiles.get()方法來獲取文件的絕對路徑(Get the absolute path of a file added through SparkContext.addFile()),addFile的函數原型如下:
def addFile(path: String): Unit
def addFile(path: String, recursive: Boolean): Unit
addFile把添加的本地文件傳送給所有的Worker,這樣能夠保證在每個Worker上正確訪問到文件。另外,Worker會把文件放在臨時目錄下。因此,比較適合用於文件比較小,計算比較復雜的場景。如果文件比較大,網路傳送的消耗時間也會增長。
Spark中addFile載入配置文件
val qqwry = "hdfs://dcnameservice/mcloud/data/datacenter/aws/mediastat/tools/qqwry.dat"//分發文件sc.addFile(qqwry)

獲取分發文件絕對路徑:
SparkFiles.get("qqwry.dat");

我們在使用Spark的時候有時候需要將一些數據分發到計算節點中。一種方法是將這些文件上傳到HDFS上,然後計算節點從HDFS上獲取這些數據。當然我們也可以使用addFile函數來分發這些文件。注意,如果是spark程序通過yarn集群上載入配置文件,path必須是集群hdfs的絕對路徑.

⑺ SparkAssetsDownloaded是什麼文件夾

Downloaded是下載的意思,就是軟體SparkAssets的下載文件夾。

⑻ 飛利浦 spark 上文件夾無法刪除

別刪了,你何必啊,弄得這么麻煩,又不影響你什麼

⑼ 如何在pycharm中配置Spark

打開pycharm,導入已有的或者新建工程。
創建新的run configurition。
選擇edit configurition。
設置環境,創建pythonPATH和SPARK_HOME
配置路徑,都可以在Spark安裝路徑下找到:

選擇 File->setting->你的project->project structure

右上角Add content root添加:py4j-some-version.zip和pyspark.zip的路徑(這兩個文件都在Spark中的python文件夾下,自己找一下)
保存,ok

⑽ spark 讀取多個文件支持通配符嗎為什麼用通配符提示找不到文件

val wc = sc.textFile("/user/boco/yy/_*").flatMap(_.split(' ')).map((_,1)).groupByKey

直接用*代替,不用加「/」,剛我試過了。而且就算加,怎麼會加到*後面啊,加到後面就是找"_*"文件夾了

熱點內容
scratch編程小游戲跳一跳 發布:2024-10-11 03:50:03 瀏覽:573
python高手 發布:2024-10-11 03:44:58 瀏覽:735
文件拖拽上傳插件 發布:2024-10-11 03:34:35 瀏覽:321
安卓郵件賬戶信息在哪裡 發布:2024-10-11 03:33:52 瀏覽:691
精準扶貧資料庫 發布:2024-10-11 03:14:13 瀏覽:467
我的世界伺服器被ban改ip有用嗎 發布:2024-10-11 02:32:04 瀏覽:782
rc4加密及解密 發布:2024-10-11 02:31:30 瀏覽:4
安卓手機有什麼免費音樂軟體 發布:2024-10-11 02:17:07 瀏覽:992
阿里雲伺服器須知 發布:2024-10-11 02:12:55 瀏覽:418
androidaaptexe 發布:2024-10-11 01:49:48 瀏覽:349