[英]How to read from amazon EMR HDFS remotley (or any other hadoop distance server)
[英]How to restart HDFS on Amazon EMR
我對Amazon EMR集群上HDFS的設置進行了一些更改。 我想重新啟動namenode和datanode,以使更改生效。 我無法在namenode(master)或datanode上都找到任何啟動和停止腳本來執行此操作。 重新啟動集群應該采用什么方式?
在EMR4上,在主主機上運行以下命令-
sudo /sbin/start hadoop-hdfs-namenode
ssh -i <key.pem> <slave-hostname1> "sudo /sbin/restart hadoop-hdfs-datanode"
ssh -i <key.pem> <slave-hostname2> "sudo /sbin/restart hadoop-hdfs-datanode"
ssh -i <key.pem> <slave-hostname3> "sudo /sbin/restart hadoop-hdfs-datanode"
您必須手動重新啟動群集。 這可以手動執行,也可以使用簡單的Shell腳本執行。
1)獲取所有節點的主機名或ipaddress列表,
2)使用密鑰ssh進入節點
3)重新啟動所需的服務。
如果您擅長編程,則可以創建一個通用實用程序,該實用程序將使用群集ID獲取與EMR對應的所有節點的ipaddress列表,並在各個節點中執行服務重啟。
否則,請手動獲取所有節點的主機名或ipaddress,並創建如下所示的腳本並從主節點執行
sudo service hadoop-hdfs-namenode restart
ssh -i <key.pem> <hostname1> "sudo service hadoop-hdfs-datanode restart"
ssh -i <key.pem> <hostname2> "sudo service hadoop-hdfs-datanode restart"
ssh -i <key.pem> <hostname3> "sudo service hadoop-hdfs-datanode restart"
在EMR 5.x上,這是我使用的:
將PEM文件復制到您的頭節點並設置以下值:
CLUSTER_ID="j-XXXXXXXXXXX" IDENT="cluster.pem"
運行這個:
nodes=$(aws emr list-instances \\ --cluster-id $ \\ --instance-group-types CORE \\ --instance-states RUNNING \\ --output text \\ --query "Instances[*].PublicDnsName" ) for node in nodes; do ssh -i $IDENT \\ -o StrictHostKeyChecking=no \\ -o UserKnownHostsFile=/dev/null \\ $node "sudo stop hadoop-hdfs-datanode; sudo start hadoop-hdfs-datanode" done
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.