本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢視和重新啟動 Amazon EMR和應用程式程序 (精靈)
當您對叢集進行疑難排解時,您可能需要列出執行中的程序。您可能還想停止或重新啟動程序。例如,您可以在變更組態後重新啟動程序,或在分析日誌檔案和錯誤訊息後發現特定程序有問題。
在叢集上執行的程序有兩種:Amazon EMR 程序 (例如執行個體控制器和 Log Pusher),以及與叢集上安裝的應用程式相關聯的程序 (例如 hadoop-hdfs-namenode和 hadoop-yarn-resourcemanager)。
若要直接在叢集上使用程序,您必須先連接至主節點。如需詳細資訊,請參閱連線至 Amazon EMR叢集。
檢視執行中的程序
您用來檢視叢集上執行程序的方法會因您使用的 Amazon EMR版本而有所不同。
- EMR 5.30.0 and 6.0.0 and later
-
範例 :列出所有執行中的程序
下列範例使用
systemctl
和指定--type
來檢視所有程序。systemctl --type=service
範例 :列出特定程序
下列範例會列出名稱包含
hadoop
的所有程序。systemctl --type=service | grep -i
hadoop
輸出範例:
hadoop-hdfs-namenode.service loaded active running Hadoop namenode hadoop-httpfs.service loaded active running Hadoop httpfs hadoop-kms.service loaded active running Hadoop kms hadoop-mapreduce-historyserver.service loaded active running Hadoop historyserver hadoop-state-pusher.service loaded active running Daemon process that processes and serves EMR metrics data. hadoop-yarn-proxyserver.service loaded active running Hadoop proxyserver hadoop-yarn-resourcemanager.service loaded active running Hadoop resourcemanager hadoop-yarn-timelineserver.service loaded active running Hadoop timelineserver
範例 :查看特定程序的詳細狀態報告
下列範例會顯示
hadoop-hdfs-namenode
服務的詳細狀態報告。sudo systemctl status
hadoop-hdfs-namenode
輸出範例:
hadoop-hdfs-namenode.service - Hadoop namenode Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-08-18 21:01:46 UTC; 26min ago Main PID: 9733 (java) Tasks: 0 Memory: 1.1M CGroup: /system.slice/hadoop-hdfs-namenode.service ‣ 9733 /etc/alternatives/jre/bin/java -Dproc_namenode -Xmx1843m -server -XX:OnOutOfMemoryError=kill -9 %p ... Aug 18 21:01:37 ip-172-31-20-123 systemd[1]: Starting Hadoop namenode... Aug 18 21:01:37 ip-172-31-20-123 su[9715]: (to hdfs) root on none Aug 18 21:01:37 ip-172-31-20-123 hadoop-hdfs-namenode[9683]: starting namenode, logging to /var/log/hadoop-hdfs/ha...out Aug 18 21:01:46 ip-172-31-20-123 hadoop-hdfs-namenode[9683]: Started Hadoop namenode:[ OK ] Aug 18 21:01:46 ip-172-31-20-123 systemd[1]: Started Hadoop namenode. Hint: Some lines were ellipsized, use -l to show in full.
- EMR 4.x - 5.29.0
-
範例 :列出所有執行中的程序
下列範例會列出所有執行中的程序。
initctl list
- EMR 2.x - 3.x
-
範例 :列出所有執行中的程序
下列範例會列出所有執行中的程序。
ls /etc/init.d/
停止和重新啟動程序
在您判斷執行中的是哪些程序後,必要時,您可以先停止它們然後再予以重新啟動。
- EMR 5.30.0 and 6.0.0 and later
-
範例 :停止程序
下列範例會停止
hadoop-hdfs-namenode
程序。sudo systemctl stop
hadoop-hdfs-namenode
您可以查詢
status
來確認程序已停止。sudo systemctl status
hadoop-hdfs-namenode
輸出範例:
hadoop-hdfs-namenode.service - Hadoop namenode Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2021-08-18 21:37:50 UTC; 8s ago Main PID: 9733 (code=exited, status=143)
範例 :開始程序
下列範例會啟動
hadoop-hdfs-namenode
程序。sudo systemctl start
hadoop-hdfs-namenode
您可以查詢狀態來確認程序正在執行。
sudo systemctl status
hadoop-hdfs-namenode
輸出範例:
hadoop-hdfs-namenode.service - Hadoop namenode Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-08-18 21:38:24 UTC; 2s ago Process: 13748 ExecStart=/etc/init.d/hadoop-hdfs-namenode start (code=exited, status=0/SUCCESS) Main PID: 13800 (java) Tasks: 0 Memory: 1.1M CGroup: /system.slice/hadoop-hdfs-namenode.service ‣ 13800 /etc/alternatives/jre/bin/java -Dproc_namenode -Xmx1843m -server -XX:OnOutOfMemoryError=kill -9 %p...
- EMR 4.x - 5.29.0
-
範例 :停止執行中的程序
下列範例會停止
hadoop-hdfs-namenode
服務。sudo stop
hadoop-hdfs-namenode
範例 :重新啟動已停止的程序
下列範例會重新啟動
hadoop-hdfs-namenode
服務。您必須使用start
命令,而不是restart
。sudo start
hadoop-hdfs-namenode
範例 :檢查程序狀態
下列命令會擷取
hadoop-hdfs-namenode
的狀態。您可以使用status
命令來確認程序已停止或已啟動。sudo status
hadoop-hdfs-namenode
- EMR 2.x - 3.x
-
範例 :停止應用程式程序
下列範例會停止 服務,該
hadoop-hdfs-namenode
服務與EMR叢集上安裝的 Amazon 版本相關聯。sudo /etc/init.d/
hadoop-hdfs-namenode
stop範例 :重新啟動應用程式程序
下列範例命令會重新啟動
hadoop-hdfs-namenode
程序:sudo /etc/init.d/
hadoop-hdfs-namenode
start範例 :停止 Amazon EMR 程序
下列範例會停止程序,例如執行個體控制器,該程序與叢集EMR上的 Amazon 版本無關。
sudo /sbin/stop
instance-controller
範例 :重新啟動 Amazon EMR 程序
下列範例會重新啟動程序,例如執行個體控制器,該程序與叢集EMR上的 Amazon 版本無關。
sudo /sbin/start
instance-controller
注意
/sbin/start, stop
和restart
命令是/sbin/intictl
的符號連結。如需initctl
的更多資訊,請在命令提示字元輸入man initctl
以參閱 initctl man 頁面。