0551-6.1-普通用戶配置kill CDH集群進程許可權

  • 2019 年 11 月 28 日
  • 筆記

作者:李繼武

1

文檔編寫目的

在前面的文章《0548-5.13.1-如何使用普通用戶管理CM server和agent服務》解決了只能使用普通用戶來管理CM和Agent服務的需求。本文檔介紹如何為一個普通用戶添加免密kill CDH集群中cloudera-scm-server、cloudera-scm-agent、supervisord進程,結合配置的免密systemctl許可權,使得該普通帳號能真正作為CDH集群的運維帳號。

  • 測試環境:CDH6.1.0

2

進程介紹

1. cloudera-scm-server進程

ps -ef | grep cloudera-scm-server

cloudera-scm-server的進程可以直接通過上面的命令進行查看

2.cloudera-scm-agent、supervisord進程

ps -ef | grep cm-agent | grep python2

從以上的進程情況看,各個組件的服務都是由supervisord服務進行管理,supervisord是各組件服務的父進程,這從下方的圖中也可以看出,因此當我們kill掉supervisord進程之後,組件進程停止。

3

關於pkill和kill命令使用

1.在使用kill -9來kill cloudera-agent-server進程時,會出現kill之後又會自動重啟的情況:

如上,當kill掉cloudera-scm-server進程之後,後台又自動將該服務重啟,這與服務的啟動腳本配置有關,如下:在CM6.1.0版本中,該服務配置了失敗重啟的策略

該情況同樣出現在cloudera-scm-agent和supervisord服務當中:

該情況的原因在於當我們是用kill -9強制kill進程時,被認為是failure,而不是正常停止,根據systemctl配置的服務策略,自動重啟了服務,因此無法通過kill -9來停止這三個服務進程。

這裡要注意的是,當kill -9停止supervisord進程時,因為原來的supervisord停止了,會導致所有的組件服務也會停止,並由新的supervisord進程重新啟動這些組件進程,因此在控制台上會出現異常,部分組件可能需要手動啟動。

2.使用kill -15停止cm-agent和supervisord進程,但無法停止cm-server進程

使用kill -15停止cm-server進程和使用kill -9情況一樣,kill之後自動重啟:

使用kill -15可停止cm-agent和supervisord進程

3.使用pkill 停止cm-agent和supervisord進程,但無法停止cm-server進程

使用pkill停止cm-server進程和使用kill-9和kill-15情況一樣,kill之後自動重啟:

pkill -f cloudera-scm-server

使用pkill 停止cm-agent進程(此處不能用pkill-f cloudera-scm-agent,該命令非但不能killcm-agent進程,反而會誤殺很多組件進程):

pkill -f agent$

使用pkill停止supervisord進程:

pkill -f supervisord

4

配置sudoers

雖然pkill命令無法停止cm-server進程,但並不是該命令對該進程無效,而是因為cm-server服務策略的問題,因此我們仍然將kill cm-server進程的命令配置到sudoers當中。

1.在原來的CDH_SYSTEMCTL命令後面再添加進這三條命令

/usr/bin/pkill -f cloudera-scm-server,  /usr/bin/pkill -f agent$,  /usr/bin/pkill -f supervisord

普通用戶user免密sudo的許可權配置

5

驗證

1.Kill cm-server進程

與預期一致,cm-server進程被kill之後又自動重啟。

2.user用戶可以kill掉cm-agent進程

3.user用戶可以kill掉supervisord進程

4.測試user用戶是否可以kill其他進程

這樣配置之後,user用戶只能killcm-server/cm-agent/supervisord進程,不能kill其他進程。

提示:程式碼塊部分可以左右滑動查看噢

為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。 溫馨提示:如果使用電腦查看圖片不清晰,可以使用手機打開文章單擊文中的圖片放大查看高清原圖。

推薦關注Hadoop實操,第一時間,分享更多Hadoop乾貨,歡迎轉發和分享。

原創文章,歡迎轉載,轉載請註明:轉載自微信公眾號Hadoop實操

Tags: