00:01
好,我们接着来说啊。呃,那现在我们这个ES呢,已经安装成功了,然后启动呢,也能呃,正常启动啊,那现在的话呢,这个有点小问题啊,这个什么小问题呢,大家看一下我们这个启动方式啊。呃,首先我们现在是需要什么,在你的每一台这个机器里面啊,我们都得去敲一个命令啊。对吧,敲一个这个启动ES这个命令,那这个会很麻烦啊,将来你比如说你这个三个节点还好啊,那你这个挨个敲一下,那如果说你这个节点很多的情况下,你这个敲起来就很费劲。啊,然后再一个就是它这个启动起来以后呢,它是默认是这个前台启动。然后就会什么阻塞你这个当前这个窗口啊,那你这个窗口你就啥都干不了了。啊,说这个看着就很不爽是吧?行呃,那这个不爽的话呢,嗯,你就得有这个不爽的资本哈,如果说你能够解决它,那你可以不爽。那如果说你这个没有能力解决的话,嗯,那你就只能忍着了,对不对啊行呃,那我们肯定不能惯着他了啊,我们要嗯想办法解决他啊,呃,这个解决的话也很简单哈,我们就只需要写一个脚本。
01:08
对吧,把这个启动的过程呢,呃,给他这个写到一个脚本中啊,将来我们直接执行一个脚本,然后就可以什么在你的102103和这个104中的这个同时启动你的ES啊,当然呢,我们也可以这么同时去停。对吧,这种脚本的话呢,呃,其实一点都不难哈,我们以前这个类似脚本呢,写过很多次了。OK吧,来,下面我们就来看一看啊呃,我们的文档中啊,呃,给大家这个也提供了一个这个脚本啊,这个整体看一下吧,这个脚本其实跟我们以前写的没有什么区别,就是在哪些机器里面,你要干什么事儿啊,要启动停止。对吧,嗯,就是我希望大家呢,还是能够呃自己尝试的把这种脚本呢,都去写一写啊,基本的这个脚本呢,还是要会写的啊。行。呃,那再来带着大家写一次吧,好吧,我们来到我们这个笔记里面,就写到这吧,啊,这个第六个吧,上面第五个啊第六个这是这个ES的这个启停脚本啊启停脚本好。
02:12
呃,那这个脚本怎么写呢?首先啊,嗯,你要去规划一下你这个脚本啊,比如说我这个脚本呢,我将来就叫什么esh吧。啊,那既然你要启停启停,那你要有启动也得有什么有这个停止,所以说呢,你这个脚本肯定要传参数啊,我按照你传递的参数,然后呢,决定我要做什么事啊,所以说呢,后面的话,我就要求你给我传两个参数啊,一个是启动,一个是这个停止。对吧?好,那这个规划好以后,你就可以开始写了啊,这个脚本的基本结构先把它写出来啊,并办事,好呃,然后下面的话呢,因为你要传参数嘛,那我们就先对这个参数呢做一个判断啊,你看还是这个老样子啊,就是小于一个,如果是你的参数是小于一的,好,那我就什么直接呃提示一下吧,告诉你这个脚本怎么用啊,然后呢,叫es.sh,然后后面就是你给我传一个start,或者传一个stop。
03:10
好,然后直接什么退出就完事了,对吧,这是对一个参数的判断啊,就是我要求你最起码得有一个参数啊,行,那如果说它是有一个参数的,就是这个参数是大于一的,那我只要拿他的第一个啊。第一个参数,然后呢,做一个判断,如果说你是。启动的好,那我做什么事啊,你是这个停止好,那我做什么事啊,那还有情况就是你输个别的参数啊,那我也不认识对吧,我做什么事。好,最后是这个结束啊,你kiss开头,那你这个要kiss结束啊,行,那如果说你说的是别的的话,那我就一概不处理啊,还是直接告诉你呢。这个怎么去用啊,你要按照我的这个方式呢,来进行这个使用。OK吧?行,呃,那接下来就是我们具体的两步啊,一个是启动,一个是这个停止啊,那我们来试一下,呃,启动的话呢,那就在三台机器里面,我们写个循环,嗯。
04:11
Hello loop102好哈,LOOP103啊哈,LOOP104好杜大啊,OK,那这里面的话就非常简单了哈,你就登录到你的呃Dollar APP对吧,就登录到你的这个某台机器,然后执行什么操作呀,就执行一下我们。启动这个ES的这个操作就可以了啊,就这个命令啊,当然呢,呃,我们这里面是什么相对路径写的啊,那你这个脚本的话,你最好写绝对路径啊呃,那我拿一下这个路径啊,好叫ES7啊,然后呢,B目录好把这个路径拿一下拿过来,然后呢。放到这儿好,后面的话呢,就是你要去执行的这个命令了,把这个给拿过来放到这儿。然后了吧。
05:00
OK,呃,但是你这么写的话,它有问题啊,有什么问题呢。掉了啊呃,它这个启动的时候,你看一下啊,它默认是一个前台启动,就你直接直接执行它,它就是一个前台启动,那它还它还会有一个阻塞的这个问题啊,所以说我们要给他什么呀,推到后台。明白吧,啊,你推到后台以后呢,呃,那他这个信息的这个输出的话呢,我们也不想要啊,不想要我就什么直接给他扔掉啊,就是直接给到黑洞啊就完事了。然后呢,嗯。AND1啊,这就是我们这个常用的写法啊呃,标准输出,然后呢,输出到这个黑洞里面,然后你这个错误输出呢,也是啊,基于这个标准输出一样啊,给大家什么输出到这个黑洞里面。明白吧啊,那这么写的话就差不多了啊呃,但其实这里面还会有一个小问题啊,这个什么小问题呢,给大家去演示一下啊。你比如说呃,我们现在我现在已经都起来了哈,那我把它先停掉吧,对吧,都把它停掉啊。
06:00
停了以后呢,你看啊,我就什么使用我这个命令啊,刚刚我写的这个命令呢,我给你执行一下。好,他会直接给你返回一个进程号,这个进程号的话就是我们,呃,启动起来以后呢,它的这个进程号。OK,大家看啊,嗯,现在我有两个卡图标零二啊,你看来到这里面,我看一下它是不是也有一个进程号叫7352,你看这个位置是不是也是7352啊好,然后呢,呃,我是在我的这个窗口里面呢,去执行的这个命令,好,那现在我就把这个窗口给它关掉。关了以后呢,你再回到这里面啊,你再去查一下这个直。你发现没了?对吧。啊,这是什么问题呢?啊,这就是,呃,我们执行的这个命令啊,就是你在这个窗口里面启动起来的这个进程呢,它会随着你这个shell窗口的关闭而把它关掉。但其实我们是不希望你把它关掉的,对吧,所以说我们只需要在这个前面呢加上一个no HUB。就告诉他啊,你别给我关掉,就是不挂断对吧,这么来去做的话,你看一下啊,我们就不会再有这个问题了,好,那我再打开一个窗口吧。
07:06
行,我在这个窗口里面启动啊,同学们好,起来以后呢,他叫这个,呃,现在还没起来是吧,太快了啊,来叫770吧。对吧,7708啊,然后呢,再来到这同样啊,肯定能够查到7708,好,那我在这个窗口起的,那我就把它停掉,把这个窗户关掉啊。关掉以后呢,你再来查。他还在吧?对吧,诶这样就能够呃解决这个窗口,诶关掉以后呢,我的进程也被关掉了这个问题了啊行,那这个就把它写好了。好吧,非常简单哈,行,那如果说你希望这个输出一些这个提示信息啊,你可以什么在这个地方写一下啊,比如说我提示一下,哎,我要启动某某某台机器的ES了。对吧,啊,可以自己去写啊,行,我就不写了啊。OK,这是我们的启动,然后呢,接下来是我们的这个停止啊,呃,停止也是一样的啊,肯定要在三台机器里面去停,说整体结构呢,还是这样子的。
08:02
对吧,整理结果是这样子的啊,但是这里面干什么事哦,就不一样了。那我们分析一下啊,这里面是干什么事儿,呃,首先啊,这个ES呢,它其实并没有给大家去提供,就是停止了这个脚本啊,停止了这个命令啊,好,我们看一下啊,就没有什么这个stop什么东西啊,所以说我们这个正常停的话呢,或者说我们写脚本也是啊,我们就什么直接找到你这个进程号,然后给你这个kill掉啊就完事了。对吧,说你看我就可以找进程号了啊怎么找呢,GPS。我能找到进的号吧。对吧,我是能够找到进程号的啊,行,那如果说你这个GPS找不到,比如说你是别的进程,那你可以什么通过这个来去找啊,比如说找一下这个,呃,现在比如说假设我就找他啊,对吧,这个其实也是能够找得到的。理解吧,啊呃当然哈,我们呃去找这个进程的话呢,你最好是通过一个就是能够唯一标识你这个进程的这个呃信息,然后呢,去做这个过滤。
09:03
啊,这个大家之前应该也涉及到过,比如说假设啊,我们在同一台机器里面,我可能会启动多个相同这个进程名的这个进程。对吧,比如说呢,呃,像你们以前讲的那个,那你我什么,我可以在同一台机器里面跑多个,那每一个的进程都叫一个application,那你说将来我想去停掉某一个这个,停掉某一个这个的应用,你说你能够直接去过滤这个application吗。那你不把它都过滤出来了吗?你都过滤出来以后,你不把它都干掉了吗?这样不行,对不对,所以说你最好去找一个。能够唯一标识你这个进程的一个呃信息啊,然后呢,去做这个过滤操作。好吧,这是大家需要注意的啊,不过现在的话,我们不用去担心这个事儿啊,因为我们也不可能说在你的呃,一台机器里面启动这个多个这个ES啊,我们只起这个一个啊,所以说我同学们放心大胆的使用这个GPS呢,去做这个过滤啊,好,那你看一下,那我就可以怎么写呢?GPS,你的GPS能够找到这么多,但是我不要这么多,我只要他啊,因此我就可以grape一下。
10:06
对吧,我就找到我想要的。好,找到我想要的以后呢,接下来我们再通过这个aw k做一个分割啊,给它切开,切开以后的话呢,我们只需要。做一个打印就行了啊,这个是我的第一列,那我就打印到了一。对吧。好,这个时候我的进程号我就拿到了。那我拿到进程号以后呢,我就再往后通过这个传参的方式传给谁呢?呃,传一个参数啊,这个每次传一个参数,然后呢,传给这个Q不就完了吗。对吧,来这个地方这个多说两句啊呃,K的时候呢,你有的同学呢,写直接什么上来以后Q杠九。对吧,就写习惯了啊,直接上来就什么K杠九啊,但其实这个呢,不是一个特别好的习惯哈,呃,因为我们正常这个进程,你就什么正常去kill就完事了啊,你别看它是一个这个这个kill这个字眼啊,感觉好像就。很这个很严重了是不是啊,其实他的这个动作是很温柔的啊,你这个正常的一个Q操作,就跟你什么正常去点这个叉号的这个操作是一个道理,他会怎么正常给你关闭这个程序的。
11:12
明白吧,那K2杠九的话呢,那那就比较暴力了啊,直接上来给你一刀。我不管你这个好的还是不好的,直接上来给你一刀。啊,那你想想我们正常关一个程序的话呢,我也不需要这个这么暴力对吧,所以一般这个呃Q就可以了啊,除非说有些这个僵死的进程,你这个着实是不好去关,那你可以什么直接什么K2杠九。理解吧,啊,这个地方我们就说一下啊,行,那我这么去写,你看一下啊,刚才我还能查到这个东西来,我们就走一下,走完以后你再去查的时候呢,这个ES呢,就已经什么被停掉了,它就没有了。对吧,那这个我就可以什么直接去使用了啊,拿过来就放到这这就可以了。对吧,啊,但是因为我们是写到这个,呃,写到这个脚本中的啊,所以说我们要这么去做啊,给它这个嗯括起来啊,因为这个刀呀,它容易有这个歧义啊,我们给它做个转移,对吧,因为它有可能会识别成你这个什么,呃,就是脚本的这个参数。
12:08
对吧,但是我们是希望它是这个aw k的一个W1啊行这么去写好了。嗯。这里面还有一个小问题需要这个强调一下啊,就是这个GPS。呃,因为现在我们做的是这个SSH的操作啊,就相当于我们将来是这么去执行的,就是我SSH到比如说卡103了,对吧,我要执行一个这个GPS啊,呃,现在我是能够正常执行的啊,这个我查的是这个103的这个GPS啊,但是有的同学吧,他这么写的话就会有问题,比如说他一执行。告诉你什么什么找不到什么什么GPS,那这个其实原因就是你GPS的配置啊,它是什么环境变量的配置有问题。呃,这个环境变量配置的话,那么当时应该讲过哈,我们要去考虑到两种情况,一种是这个支持你的这个登录式的这个shell操作,一种是这个非登录式的这个shell操作。
13:02
啊。登录式的就是什么,像我们现在这种情况啊,你看我完全登录进去了,那我是能够什么用到你的这个环境变量的,对吧,那这个非登录式的呢,就是比如说我使用这个SSH的方式,这就是非登录式的。那你要保证你配的那个环境变量呢,诶是能够支持我这个非登录式的,如果说你不支持的话呢,就像你配的那个什么JDK的那个什么环境变量,你正常登录进来我能用,但如果说我使用这个SSH方式你用不了,那你过去以后你这么执行,他肯定找不到你的GPS在哪。因为我没有这个环境。所以说呢,呃,你要去确认一下你的这个环境变量啊,配的它是不是能够支持你的登陆式,也能够支持你的非登陆式啊,不过这个大家呃,这个上微我这个给大家去讲的话,应该都是两种都支持的啊,登陆式和这个非登陆式我们都是可以去用的。OK吧,啊行,那如果说将来我们是呃没有去这个从环境变量角度呢,去解决这个问题,那你也可以这么从这个角度去解决,怎么解决呀,那我就不写你的相对路径呗。
14:01
对吧,我写个绝对路径。能明白吧,那你要明确一下,就是你的Java home配到了什么地方。对吧,你可以怎么写,你可以这么去写啊,就是这么来写。好,我把它放到前面,然后在它下面有个并目录,并下面有个GPS,那我解决的路径我是一一定能够找得着的吧。对吧,你看这样也是可以的。好吧,所以这个大家需要注意一下啊好,那我这个地方呢,应该是,呃,我这个地方肯定是没问题的啊,所以说我就不写角色路径了,我直接写它就行了,OK,那我这个脚本就写好了,来写好以后呢,接下来我们把它复制出来。复制出来啊好,呃,复制出来以后呢,我们回到这个。加目录里面啊,然后呢,回到B目录下面啊呃,我之前是有的,那我把它删一下啊,好删掉,删掉以后的话,我们就再来创建一下e.SH。好过来,然后把这个放进去,放进去以后呢,我们保存退出。
15:01
然后给个权限啊,U加X,然后e.SH好,现在就有了啊,有了以后我们可以来试一下啊呃,那我现在整体查一下,我现在应该是没有进程的哈。对吧,那我就es.sh直接start。好,你做完这个start以后呢,呃,你就可以去查一下看看有没有哈,有吧。有吧?是不是也有啊?对吧,就是我可以什么同时在你的三台机器里面去启动,而且你看一下他也不会阻塞窗口什么的哈。好呃,那起来以后呢,我们也可以什么这个ES点啊去stop,比如说我想停掉你。好,这就停掉了,来停了以后的话,我们再来去查一下啊,看看这个进程还在不在啊。好看一下吧,是不是都没了呀?OK啊,那么这个脚本的话就能够支持我们去做,呃,ES的这个启动和这个停止。
16:02
好吧,那我们这个脚本就写到这儿啊呃,这种脚本的话,大家这个。就是你一定要尝试着去写哈。因为这种脚本首先第一个没有什么呃,特别难的语法啊,就是基本的这个判断操作,然后呢,基本的这个循环操作啊,然后呢,基本的这个分支操作。能明白吧,啊没有什么难的啊,但是这种脚本的话呢,往往是能够解决你的这个很多问题的。啊,将来比如说你工作中也好,或者说你现在一个学习,现在这个学习中也好啊,你这个有这种脚本的话呢,呃,最起码能够节省你的很多这个时间,比如说你想起起服务了,或者停服务了,那你直接一个脚本啊,执行一下就搞定了。对吧,它能够去简化你的这个,呃,工作的这个这一些什么这个操作。是吧,啊,帮助你这个提升效率啊,就是节约是节约这个时间啊,所以这个大家这个一定要尝试去写哈,呃,多写写,然后呢,慢慢的去摸索它,然后自然而然呢,这种脚本就会写了啊,那当然呢,将来的话,你就什么不能什么仅仅局限于写这种脚本,那你可以什么写一些这个功能更加强大的脚本啊,都是可以的。
17:07
好吧,行,这个我们就先说这么多啊。
我来说两句