簡體   English   中英

在AWS EMR上重新啟動配置單元服務

[英]Restart hive service on AWS 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。 這樣它就有效了。

但我想避免重啟集群,有什么辦法可以重啟服務嗎?

僅適用於那些將來自谷歌的人

重新啟動任何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/

 sudo stop hive-metastore
 sudo start hive-metastore

在EMR 5.x上我發現這個工作:

hive --service metastore --stop

hive --service metastore --start

對我來說,這種方法有效:

  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

您不必重新啟動整個群集。 啟動集群時,您可以使用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-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"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM