为了启动和管理集群方便,一般将HDFS和YARN的命令放在一个脚本中一次执行,start_cluster.sh脚本如下(集群背景:三台机器分别为ruozedata001:zk,nn,dn,jn,rm,ruozedata002:zk,nn,dn,jn,rm,ruozedata003:dn,jn):
#!/bin/bash -x
#zk
ssh ruozedata001 "$ZOOKEEPER_HOME/bin/zkServer.sh start"
ssh ruozedata002 "$ZOOKEEPER_HOME/bin/zkServer.sh start"
ssh ruozedata003 "$ZOOKEEPER_HOME/bin/zkServer.sh start"
sleep 5
#start hdfs+yarn+jobhistory
/home/hadoop/app/hadoop/sbin/start-all.sh
sleep 5s
ssh ruozedata002 "/home/hadoop/app/hadoop/sbin/yarn-daemon.sh start resourcemanager"
/home/hadoop/app/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
exit 0
脚本执行后,通过jps.sh发现zkServer.shd
[hadoop@ruozedata001 hadoop]$ ./jps.sh
+ echo '----------ruozedata001 process------------'
----------ruozedata001 process------------
+ ssh ruozedata001 /usr/java/jdk1.8.0_45/bin/jps
2579 DataNode
2772 JournalNode
3351 Jps
3303 JobHistoryServer
2473 NameNode
3148 NodeManager
+ echo ' '
+ echo '----------ruozedata002 process------------'
----------ruozedata002 process------------
+