Hadoop 如何在Amazon EMR上重新启动HDFS

Hadoop 如何在Amazon EMR上重新启动HDFS,hadoop,hdfs,emr,Hadoop,Hdfs,Emr,我在Amazon EMR集群上对HDFS的设置做了一些更改。我想重新启动namenode和datanode以使更改生效。我无法在namenode(master)和datanodes上找到任何启动和停止脚本。重新启动群集的方法是什么?您必须手动重新启动群集。这可以手动执行,也可以使用简单的shell脚本执行 1) 获取所有节点的主机名或IP地址列表 2) 使用密钥将ssh连接到节点 3) 重新启动所需的服务 如果您擅长编程,可以创建一个通用实用程序,该实用程序将使用群集id获取与EMR对应的所有节

我在Amazon EMR集群上对HDFS的设置做了一些更改。我想重新启动namenode和datanode以使更改生效。我无法在namenode(master)和datanodes上找到任何启动和停止脚本。重新启动群集的方法是什么?

您必须手动重新启动群集。这可以手动执行,也可以使用简单的shell脚本执行

1) 获取所有节点的主机名或IP地址列表

2) 使用密钥将ssh连接到节点

3) 重新启动所需的服务

如果您擅长编程,可以创建一个通用实用程序,该实用程序将使用群集id获取与EMR对应的所有节点的IP地址列表,并在各个节点中执行服务重启

否则,手动获取所有节点的主机名或IP地址,并创建如下脚本,然后从主节点执行

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"
sudo服务hadoop hdfs namenode重启
ssh-i“sudo服务hadoop hdfs数据节点重启”
ssh-i“sudo服务hadoop hdfs数据节点重启”
ssh-i“sudo服务hadoop hdfs数据节点重启”

在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"
sudo/sbin/start hadoop hdfs namenode
ssh-i“sudo/sbin/restart hadoop hdfs数据节点”
ssh-i“sudo/sbin/restart hadoop hdfs数据节点”
ssh-i“sudo/sbin/restart hadoop hdfs数据节点”

在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
    

  • 对于EMR中的版本4.x,namenode和datanode服务似乎没有在/etc/init.d下运行,因此无法以上述方式启动。在EMR 4上:
    sudo restart hadoop hdfs namenode
    @Tony sudo restart hadoop hdfs datanode不工作?如何重新启动datanodes EMR4