我分解了30臺AWS機器。爲什麼我在YARN中看到20個節點,但在火花中看到30個工人?
當我在主節點的IP 8088
檢查YARN UI,我點擊「節點」,我可以看到以下內容:
- 「活動節點」我看到20
- 下的「失落的節點下「我看到0
我瀏覽到火花主在端口18080
我可以看到pyspark告訴我,Alive Workers: 30
。在頁面的開頭。
我重新啓動了主節點和從節點上的所有服務,但仍然發生同樣的情況。
如何讓YARN識別所有節點?
我分解了30臺AWS機器。爲什麼我在YARN中看到20個節點,但在火花中看到30個工人?
當我在主節點的IP 8088
檢查YARN UI,我點擊「節點」,我可以看到以下內容:
我瀏覽到火花主在端口18080
我可以看到pyspark告訴我,Alive Workers: 30
。在頁面的開頭。
我重新啓動了主節點和從節點上的所有服務,但仍然發生同樣的情況。
如何讓YARN識別所有節點?
通過您的NameNode下面的命令檢查你的數據節點,
sudo yarn node -list -all
,如果你不能找到全部30個節點,做如下命令你的misssing數據節點,
sudo service hadoop-yarn-nodemanager start
,並做如下命令
sudo service hadoop-yarn-resourcemanager restart
或者,在您的namenode中檢查/etc/hadoop/conf/slaves
,
並檢查以下設置在所有節點
<property>
<name>yarn.resourcemanager.hostname</name>
<value>your namenode name</value>
</property>
或者,寫你的所有節點的名稱和ipadress中的所有節點/etc/hosts
例如,
127.0.0.1 localhost.localdomain localhost
192.168.1.10 test1
192.168.1.20 test2
和你有/etc/hadoop/conf/yarn-site.xml
做指令,
/etc/rc.d/init.d/network reload
有趣的是,這個解決方案有三個選項....最後一個似乎是最簡單的。我試着簡單地將名稱和IP地址添加到'/ etc/hosts'文件中,但這並沒有改變任何東西。我更改該文件後是否必須重新啓動任何服務? 也許'spark-worker'服務?或'spark-master'服務?或「hadoop-yarn-resourcemanager」服務? – Sother
我編輯我的答案。 – Navieclipse
因此,我不必重新啓動任何火花服務? 'spark-worker'或'spark-master'? – Sother
什麼是spark.executor.instances設置?還是在提交作業時傳遞任何num-executors值? – Pushkr