Shell脚本

Posted 王振龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本相关的知识,希望对你有一定的参考价值。

* 贴士Topic:启动所有集群节点

目的:在一台服务器上执行一个脚本,启动所有集群节点上的相关进程

描述:在学习过程中,你会发现Resourcemanager和HMaster等节点需要登录到节点所在机器启动

所需理论:

Shell的区别

** 登录Shell:粗放来讲,就是你手动使用CRT登录Linux的时候。

此种情形,系统环境信息的读取顺序:/etc/profile、~/.bash_profile、~/.bash_login、~/.profile

** 非登录Shell:粗放来讲,就是你使用ssh登录某台机器的时候。

此种情形,系统环境信息的读取顺序:/etc/bash.bashrc、~/.bashrc

解决:

了解完Shell这个小知识之后,你应该明白ssh到远程节点启动的对应服务的时候,其实是没有JDK配置的环境的,所以?yeah,You know,在每台机器中先执行:

$ cat /etc/profile >> ~/.bashrc,将我们配置的profile变量追加到.bashrc中即可。

首先,来一张我的集群配置:

 
技术分享图片
 

然后在家目录下创建启动脚本:$ vi sh start-all-cluster.sh,如下图:

 
技术分享图片
注意启动顺序,不一定非要和我的一样,但是你要知道逻辑上的一些依赖关系

然后在家目录下创建停止脚本:$ vi sh stop-all-cluster.sh,如下图:

 
技术分享图片
注意Zookeeper最好最后再停止

* 总结

OK,使用sh启动对应脚本试试吧~方便了很多对不对。该脚本还有很多可以优化的地方,以及后续的拓展,请大家自行根据bash语法进行修改即可.~


个人微博:http://weibo.com/seal13

QQ大数据技术交流群(广告勿入):476966007



作者:Z尽际
链接:https://www.jianshu.com/p/b5e4048752e1
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。





以上是关于Shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

常用python日期日志获取内容循环的代码片段

shell脚本引用expect

Shell脚本切割日志

Eclipse 中的通用代码片段或模板

Python如何调用别人写好的脚本