在AWS EMR上重新启动配置单元服务

时间:2015-08-11 10:14:07

标签: hadoop amazon-web-services amazon-s3 hive emr

我对HIVE以及AWS-EMR也很陌生。根据我的要求,我需要在群集外部创建Hive Metastore(从AWS EMR到AWS RDS)。 我按照

中的说明进行操作

http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-dev-create-metastore-outside.html

我在hive-site.xml中进行了更改,并能够将hive metaStore设置为Amazon RDS mysql服务器。为了实现更改,目前我正在重新启动整个集群,因此配置单元开始将Metastore存储到AWS-RDS。这样就可以了。

但我想避免重启群集,有什么办法可以重启服务吗?

5 个答案:

答案 0 :(得分:12)

仅限那些将来自Google的人

重新启动任何EMR服务

要在EMR中重新启动服务,请执行以下操作:

  1. 运行以下命令查找服务名称:

    initctl list

  2. 例如,YARN资源管理器服务名为“hadoop-yarn-resourcemanager”。

    1. 运行以下命令停止服务:

      sudo stop hadoop-yarn-resourcemanager

    2. 等待几秒钟,然后运行以下命令启动服务:

      sudo start hadoop-yarn-resourcemanager

    3. 注意:需要停止/启动;不要使用restart命令。

      1. 运行以下命令验证进程是否正在运行:

        sudo status hadoop-yarn-resourcemanager

      2. 使用ps检查进程,然后检查日志文件中是否存在日志目录/ var / log /中的任何错误。

        来源:https://aws.amazon.com/premiumsupport/knowledge-center/restart-service-emr/

答案 1 :(得分:3)

 sudo stop hive-metastore
 sudo start hive-metastore

答案 2 :(得分:1)

在EMR 5.x上我发现这个有效:

hive --service metastore --stop

hive --service metastore --start

答案 3 :(得分:1)

对我来说,这种方法有效:

  1. 获取pid
  2. 杀死进程
  3. 进程自行重启

1和2的命令

ps aux | grep MetaStore
sudo -u hive kill <pid from above>

如果您不熟悉ps,则可以使用以下命令,该命令将显示PID的标头以及hive Metastore命令的仅一行:

ps aux | egrep "MetaStore|PID" | grep -v grep

Hive Server自行重新启动。通过ps再次验证,猪会变了。

ps aux | grep MetaStore

答案 4 :(得分:0)

您不必重新启动整个群集。启动集群时,您可以使用RDS的详细信息指定hive-site.xml文件。如果您没有按照此选项并在启动群集后手动进行更改,则无需重新启动整个群集。只需重启 hive-Metoreore 服务即可。 Hive Metastore仅在主节点中运行

您可以使用多种方式启动群集。

1)AWS控制台 2)使用API​​(Java,Python等) 3)使用AWS cli

您可以将hive-site.xml保留在S3中,并在启动群集时将此活动作为引导步骤执行。 AWS api提供的功能是从S3指定自定义hive-site.xml,而不是默认创建的。

如果您仅使用主机中的配置单元,则无需在所有计算机上进行更改。

下面给出了使用aws cli启动EMR时指定hive-site.xml的示例

aws emr create-cluster --name "Test cluster" --ami-version 3.3 --applications Name=Hue Name=Hive Name=Pig \
--use-default-roles --ec2-attributes KeyName=myKey \
--instance-type m3.xlarge --instance-count 3 \
--bootstrap-actions Name="Install Hive Site Configuration",Path="s3://elasticmapreduce/libs/hive/hive-script",\
Args=["--base-path","s3://elasticmapreduce/libs/hive","--install-hive-site","--hive-site=s3://mybucket/hive-site.xml","--hive-versions","latest"]