您好,登錄后才能下訂單哦!
這篇文章主要介紹了HDFS中PID示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
前言:
Linux中可以通過PID找到對相應的進程號和進程目錄,ps -ef|grep pid可以單獨kill想要的pid;如果生產上想通過shell腳本直接kill `ps -ef|grep 服務名 ,會把服務下所有多個進程和其他進程kill掉, 已hadoop為例可以讀文件里進程號指定kill掉‘;
Hodoop的PID默認存儲路徑為/tmp,PID內容為進程號;
為什么說PID內容為進程號:
[hadoop@hadoop001 hadoop]$ jps
7857 DataNode
7748 NameNode
8774 Jps
8061 SecondaryNameNode
[hadoop@hadoop001 tmp]$ pwd
/tmp
[hadoop@hadoop001 tmp]$ cat hadoop-hadoop-datanode.pid
7857
[hadoop@hadoop001 tmp]$ cat hadoop-hadoop-namenode.pid
7748
[hadoop@hadoop001 tmp]$ cat hadoop-hadoop-secondarynamenode.pid
8061
觀察hadoop停止的腳本,發現通過調用hadoop-daemons.sh停止腳本,
[hadoop@hadoop001 sbin]$ cat stop-dfs.sh
#---------------------------------------------------------
# namenodes
NAMENODES=$($HADOOP_PREFIX/bin/hdfs getconf -namenodes)
echo "Stopping namenodes on [$NAMENODES]"
"$HADOOP_PREFIX/sbin/hadoop-daemons.sh" \
--config "$HADOOP_CONF_DIR" \
--hostnames "$NAMENODES" \
--script "$bin/hdfs" stop namenode
#---------------------------------------------------------
# datanodes (using default slaves file)
if [ -n "$HADOOP_SECURE_DN_USER" ]; then
echo \
"Attempting to stop secure cluster, skipping datanodes. " \
"Run stop-secure-dns.sh as root to complete shutdown."
else
"$HADOOP_PREFIX/sbin/hadoop-daemons.sh" \
--config "$HADOOP_CONF_DIR" \
--script "$bin/hdfs" stop datanode
fi
#---------------------------------------------------------
# 進入查看hadoop-daemons.sh腳本
[hadoop@hadoop001 sbin]$ cat hadoop-daemon.sh |grep pid
# HADOOP_PID_DIR The pid files are stored. /tmp by default.
pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
if [ -f $pid ]; then
if kill -0 `cat $pid` > /dev/null 2>&1; then
echo $command running as process `cat $pid`. Stop it first.
echo $! > $pid
if [ -f $pid ]; then
TARGET_PID=`cat $pid`
rm -f $pid
感謝你能夠認真閱讀完這篇文章,希望小編分享的“HDFS中PID示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。