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

cod*_*234 5 hadoop hive amazon-s3 amazon-web-services 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.这样它就有效了.

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

Ahm*_*mal 12

仅适用于那些将来自谷歌的人

重新启动任何EMR服务

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

  1. 通过运行以下命令找到服务的名称:

    initctl列表

例如,YARN Resource Manager服务名为"hadoop-yarn-resourcemanager".

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

    sudo stop hadoop-yarn-resourcemanager

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

    sudo start hadoop-yarn-resourcemanager

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

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

    sudo status hadoop-yarn-resourcemanager

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

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


Ama*_*ose 0

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

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

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

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

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

下面给出了使用 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"]
Run Code Online (Sandbox Code Playgroud)