美文网首页
如何在集群中的一个节点上执行命令操控该集群的另一个节点或一些节点

如何在集群中的一个节点上执行命令操控该集群的另一个节点或一些节点

作者: _火山_ | 来源:发表于2018-09-07 23:37 被阅读0次

火山日常啰嗦
开始考虑这个问题,其实是因为每次开启集群的服务时都要到每个节点输入一大堆指令,这样做真的是很烦,而且总是些重复性的东西,没什么新意,也很耗时,更重要的是,集群很小,只有几个节点的话,做这种操作还好,但是一旦集群很大呢,有成千上万个节点时,这样子去操作根本就不现实,可能仅仅是开启服务就要花几天甚至几个月了吧,那还用做真正有意义的工作吗?基于这种情况,所以我们考虑编写脚本文件来开启集群服务,这样就不需要我们一个一个节点地去敲命令了,节省了不少功夫。

那编写脚本,只需要在一个节点上编写就行了,那问题来了,既然只在一个节点上编写,那么怎么在这个节点控制其他节点啊?
这里就要用到ssh免密登录服务了(这里是默认大家都了解并且配好了ssh免密登录),在脚本里通过ssh登录其他节点并且执行命令来启动服务。

我这里为我自己的集群编写了一个启动zookeeper、hdfs、hbase的脚本,如下: clipboard.png

这里需要注意以下几点(亲测):
1) 如果是本节点的服务,那么可以直接执行命令也可以通过ssh免密登录后再执行命令;
2) 如果是其他节点的服务,那么就需要先通过ssh登录该节点,然后执行开启服务的命令,需特别注意,ssh免密登录命令必须与开启服务的命令在同一行,这样执行后会自动退出返回原节点,继续执行脚本中的下一条命令;如果ssh免密登录命令与登录后要执行的命令不在同一行,那么结果就是登录到目标节点而已,无法自动执行下面的命令,显然这样并不是我们的目标,所以谨记,ssh命令要与登录后执行的命令在同一行,即这两个命令之间不能有换行符;
3) 因为bash执行命令时,需要到环境变量配置的目录下去依次查找该命令是否存在,所以ssh免密登录后,需要使环境变量对该bash shell有效,有两种做法:
3.1) 将环境变量添加到~/.bashrc中,因为对登录用户而言,每次开启一个新的bash shell都会加载这个用户的.bashrc文件,所以将环境变量添加到这里,那么新的bash shell就可以识别到所使用的命令了;
3.2) 像上面我的脚本中写的,直接使用source /etc/profile命令,使profile文件立即生效,即对ssh免密登录的bash shell立即生效,这样子bash shell才能通过环境变量去查找当前要执行的命令是否存在;
4) ssh免密登录命令后的要执行的命令是否要添加引号的问题,我试过了:
如果为它添加单引号或者双引号,那么执行结果都是正常且是正确的;但是我还是发现了它们之 间的一点不同之处:命令加单引号的,服务启动起来比较慢,而改为加双引号后,服务启动起来就快了一点。

相关文章

  • 如何在集群中的一个节点上执行命令操控该集群的另一个节点或一些节点

    火山日常啰嗦开始考虑这个问题,其实是因为每次开启集群的服务时都要到每个节点输入一大堆指令,这样做真的是很烦,而且总...

  • 使用Alpine linux搭建Ansible多节点管理实验环境

    Ansible是多节点集群管理的利器,默认通过ssh协议来远程执行命令来管理集群,在被管理节点上除了ssh之外不需...

  • es脑裂问题

    概述: 一个正常es集群中只有一个主节点,主节点负责管理整个集群,集群的所有节点都会选择同一个节点作为主节点所以无...

  • Elasticsearch-config

    集群名称配置:集群不同节点配置相同的集群名称 集群节点配置:集群不同节点配置不同的节点名称 路径配置:数据路劲、日...

  • NIFI 系统属性 System Properties之Clus

    集群通用属性 设置NiFi集群时,应在所有节点上以相同的方式配置这些属性。 集群节点属性 为集群节点配置这些属性。

  • 2021-11-07

    Hadoop 集群中管理员经常需要向集群中添加节点,或从集群中移除节点。为了扩大存储容量,需要上线一个境界点,相反...

  • 理解NodeClient、TransportClient

    节点客户端,实际上是一个集群中的节点(但不保存数据,不能成为主节点)。因为它是一个节点,它知道整个集群状态(所有节...

  • Redis集群(二)

    集群弹性伸缩 扩容,往集群中添加新的节点 基于上篇的搭建的集群 添加节点 共享slots 再次查看节点信息 缩容,...

  • es基本概念

    name 节点名 cluster_name 集群名image.png 集群和节点:一个集群包含多个节点 索引: 含...

  • Linux_324_软、硬件负载均衡介绍

    高可用性集群高可用性集群作用是,集群中任意一个节点宕机,该节点上的数据资源,或者任务,会自动的转移到另一台我们提前...

网友评论

      本文标题:如何在集群中的一个节点上执行命令操控该集群的另一个节点或一些节点

      本文链接:https://www.haomeiwen.com/subject/mjnhgftx.html