设为首页 加入收藏

TOP

hadoop集群一键自动启动和自动关闭shell脚本
2019-01-03 00:40:35 】 浏览:39
Tags:hadoop 集群 自动 启动 关闭 shell 脚本
版权声明:本文为博主原创文章,未经博主女朋友允许不得转载。 https://blog.csdn.net/qq_26442553/article/details/75944114

当我们创建haoop集群时,为了远程更加方便的ssh管理我们的集群,一般会写脚本一键启动关闭集群。

一:一键启动集群脚本 start-cluster.sh

#!/bin/bash
echo "-------------------正在启动集群-------- "
echo "-------------------正在启动NameNode-------- "
ssh admin@hadoop102 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start namenode'

echo "-------------------正在启动secodarynamenode-------- "
ssh admin@hadoop104 ' /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start secondarynamenode'
echo "-------------------正在启动datanode-------- "
for i in admin@hadoop102 admin@hadoop103 admin@hadoop104
do
ssh $i '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start datanode'
done

echo "-------------------正在启动yarn-------------------- "
echo "-------------------正在启动ResourceManager-------- "
ssh @hadoop103 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start resourcemanager'

echo "-------------------正在启动NodeManager-------- "
for i in admin@hadoop102 admin@hadoop103 admin@hadoop104
do
ssh $i '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start nodemanager'
done

echo "-------------------正在启动JobHistory-------- "
ssh admin@hadoop102 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/mr-jobhistory-daemon.sh start historyserver'

echo "---------------集群已经启动完毕,请用jps检查或者浏览器检查是否成功--------

二: 一键关闭集群脚本 stop-cluster.sh
#!/bin/bash
echo "-------------------正在关闭JobHistory--------------- "
ssh admin@hadoop102 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/mr-jobhistory-daemon.sh stop historyserver'

echo "-------------------正在关闭yarn-------------------- "
echo "-------------------正在关闭ResourceManager-------- "
ssh admin@hadoop103 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh stop resourcemanager'
echo "-------------------正在关闭NodeManager-------- "
for i in admin@hadoop102 admin@hadoop103 admin@hadoop104
do
ssh $i '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh stop nodemanager'
done

echo "-------------------正在关闭NameNode------------------- "
ssh admin@hadoop102 '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh stop namenode'

echo "-------------------正在关闭secodarynamenode-------- "
ssh admin@hadoop104 ' /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh stop secondarynamenode'

echo "-------------------正在启动datanode-------- "
for i in admin@hadoop102 admin@hadoop103 admin@hadoop104
do
ssh $i '/opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh stop datanode'
done

echo "---------------集群已经关闭完毕,请用jps检查或者浏览器检查是否成功-------- "


----------------------------------------------------------------------------------------------------------------------------------------------------------
补充:shell脚本这里编写的注意要点: ‘’单号号和反单引号``的区别
单引号表示执行完前面的语句,然后执行单引号的里的命令
反引里面的字符串必须是能执行的命令,否则会出错;它的作用是命令替换,将其中的字符串当成Shell命令执行,返回命令的执行结果;
echo 'date -R' >> dmeo.txt 里面是date -R
echo `date -R` >> demo.txt 里面传的时间
----------------------------------------------------------------------------------------------------------------------------------------------------------
其次执行脚本的方式:
有shell
粗放来讲,你手动使用CRT登录某个Linux系统时,是有shell的。需要
无shell
当你使用ssh访问某个系统(如linux上的hadoop集群)的时候,是无shell的:无法加载所登录系统的系统变量的。只能加载该用户的用户变量,而一般我们的配置文件都配置在系统变量里面。所以为了使用ssh时可以加载系统变量。 所以要一般用ssh时,要把用户变量配置了,(否则高可用时不一定用的了)
cat /etc/profile >> ~/.bashrc/ 把系统变量追加到用户变量里 。每台机器都要这样做。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop源码编译:支持snappy压缩 下一篇实战hadoop海量数据处理系列05 :..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目