标签:shell supervisor 登录 host 免密 hosts ssh
shell使用&免密登录
需求描述
集群机器众多,每台ssh连接后再启动服务较为繁琐,
所以想在一台机器上执行shell脚本来对其他机器上的服务启动。
1.第一步,需要所有的机器先设置免密登录
2.第二步,在其中一台机器A上设置对其他所有机器的免密ssh连接
3.第三步,在其中一台机器A上执行shell脚本
shell脚本
编写的脚本在放到服务器系统上运行时,需要先修改文件的执行权限:
chmod 755 host_allow.sh
参考链接:https://www.cnblogs.com/parent-absent-son/p/12163725.html
以启动zookeeper、supervisor服务的例子来编写脚本:
#!/bin/bash
echo "start zookeeper server..."
#hosts里已经安装zookeeper的主机名,必须已经在/etc/hosts文件中将ip地址和主机名对应加上了才能使用
hosts="master node1 node2 node3"
#用循环来分别执行zkServer.sh start的脚本
for host in $hosts
do
echo "--------$host--------"
#必须加上source /etc/profile ,否则会报找不到文件的错误
ssh $host "source /etc/profile; /home/hadoop/zookeeper-3.4.10/bin/zkServer.sh start"
done
#!/bin/bash
echo "start supervisor ..."
hosts="node1 node2 node3 node4 "
for host in $hosts
do
echo "--------$host--------"
#nohup是后台启动,>${STORM_HOME}/logs/supervisor.log 2>&1 &为了让输出的日志不在控制台显示
ssh $host "source /etc/profile; nohup storm supervisor >${STORM_HOME}/logs/supervisor.log 2>&1 &"
done
免密登录
参考链接:https://blog.csdn.net/jeikerxiao/article/details/84105529
https://blog.csdn.net/CrazyXinma/article/details/83029351
设置完免密登录需要重启ssh服务:
service sshd restart
标签:shell,supervisor,登录,host,免密,hosts,ssh 来源: https://blog.csdn.net/Taylor_Ocean/article/details/119110844
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。