如果是JournalNode则kill掉:
/opt/java/jdk1.8.0_144/bin/jps|awk '{aa="if [ \"JournalNode\" == \""$2"\" ];then kill -9 "$1";fi";system(aa)}'
for i in {6..8};do ssh node$i '/opt/java/jdk1.8.0_144/bin/jps| awk '\''{aa="echo aaa"$1";kill -9 "$1;if($2 ~/JournalNode/){print $1,$0;system(aa)}}'\''';done
查找并计算内存
ssh node1 'eval $(cat /proc/meminfo| grep '\''MemT'\'' | awk '\''{printf("vara=%s",'\''\$2/1000'\'');}'\'');echo $vara'
原则:单引号全部转义,双引号不变。单引号双引号对称地位。
安装时需要输入
Proceed formatting /hadoop-ha/master? (Y or N) 17/11/02 05:16:44 INFO ha.ActiveStandbyElector: Session connected.
即需要执行下列脚本时会需要输入Y N
可以使用expect解决:
(/opt/hadoop/hadoop-2.7.4/bin/hdfs zkfc -formatZK)
#start formatZK
CMD_PROMPT="\](\$|#)"
for i in {1..1};
do
expect -c "
# send_user connecting\ to\ $i...\r # 空格要转义
spawn ssh node$i \"ls -al\"
spawn ssh node$i \"/opt/hadoop/hadoop-2.7.4/bin/hdfs zkfc -formatZK\"
expect {
*(Y\ or\ N)* { send -- Y\r;exp_continue;}
}
exit
"
echo "\r"
done