00:00
好,那上一节我们已经把super set安装上了,对吧?那接下来我们就可以去启动super set了啊,让大家稍微注意一下啊,就是super set呢,它并没有给我们提供一个现成的启动脚本啊,那所以说super启动啊,就稍微麻烦一点了啊,我们需要自己把super呢部署到一个web容器当中。诶,那为什么要把它部署到一个web容器里边呢?那前面咱们提到过啊,我们说super呢,它是一个用Python语言编写的web应用,对吧?啊,那我们要想通过浏览器去访问一个web应用的资源,诶,那咱就必须得把这个web应用呢部署到一个web容器里边啊,那这个呢,大家理解一下就可以了啊,那我们这儿使用的web容器是谁呢?哎,就是它g unicorn。啊,绿色独角兽,这是一个Python常用的web容器啊,然后superset官方推荐的呢,也是g uncode,那所以首先我们需要先把这个web容器给它安装一下啊好,那这个呢,就是它的安装命令pape in道即unicode后边呢,也是指定了这个国内的豆瓣镜像啊来,我们去安装一下CTRLC。
01:04
来,我们执行一下这个安装命令回车。好,大家注意观察啊,在这儿是不是提示我们这个requirement already satisfied呀,对吧?这就说明我们现在这个环境当中是不是已经有既有了呀,对吧?OK啊,那接下来我们继续往下进行,那再往下呢,我们就可以去启动super set了啊,那在启动之前一定要确保当前的环境为super set啊,那我这儿是不是一直都是super set的环境啊,对吧?那所以这是没有问题的啊好,那接下来我们看一下它的启动命令啊,这个启动命是啥?是不是记uncon啊对吧?那这个命令执行完成之后呢,诶,就会启动一个g UNI con的web容器,然后呢,在这个web容器里边呢,就会部署上我们super set的这个web应用啊,然后除此之外呢,是不是这还有一大堆的参数啊对吧?比如说什么杠杠workers,然后杠杠time out等等等等,那这些都是什么含义呢?来我给大家逐个解释一下啊,我们先看第一个杠杠workers。啊,那刚刚是不是指定进程的个数啊,对吧,那我们这指定是五个对吧?啊,诶,那我们指定多个进程有什么用呢。
02:06
其实是为了保证这个web容器的并发啊,诶,有同学可能会问了,那我要保证外部容器的并发,我用多线程不行吗?为什么要用多个进程呢?这个需要给大家解释一下啊,那大家都知道g unicorn呢,它是用Python语言编写的一个web容器,对吧?OK,那Python语言是不是一个脚本言呀,对吧?那脚本语言通常情况下是没有多线程的,那所以在这儿呢,我们只能使用多个进程。这个大家注意一下就行了啊好,接下来我们继续往下看,那下边一个参数呢,是timeout对吧?超时时间,那什么超时时间呢?哎,实际上指的是worker进程的启动超时时间啊,那如果说在规定的时间内,这个worker进程没有启动成功啊,OK,它就会自动重启啊,这个大家理解一下啊好,那接下来我们再看下一个啊,下一个呢是杠杠band,这个band的作用呢,就是绑定一个本机的地址啊,注意啊,这个地址就是将来我们访问super set的地址啊,大家注意观察,我这绑定的是不是hi doop1028787啊,对吧?啊让大家呢,要根据自己的实际情况绑定到super set所在的主机的这个地址上,这个不要完全按照文档啊,要根据自己的实际情况进行相应的修改啊好,接下来我们再往下走,最后一个参数呢,是杠杠demon啊,这个就比较简单了,就是表明我要后台运行。
03:22
那如果我们不加这个参数呢?诶,那这个进程就会阻塞在前台,那加上之后呢,就会退到后台运行好,那这些参数咱就说完了啊,那接下来我们把这个命令呢去执行一下,诶CTRLC来我们放到102去执行一下,来回车。啊好,那现在呢,我们就可以去访问一下这个super了啊来我们复制一下它的这个地址,然后打开浏览器,来咱们去访问一下CTRL回车。OK,如果出现这个登录界面,那就说明super set已经启动成功了,好,那现在我们可以先登录一下这个super set啊,简单看一下,那在这儿我们登录的用户应该是谁啊,就是我们之前创建的管理员用户对吧?那现在我登录一下啊,来艾特微博那直接登录。
04:02
好,那现在我们就进入到了super set的工作界面了啊,那这个呢,我们暂时就先看一看就行了啊,至于super set怎么使用,我们后续再讲啊好,那接下来我们继续往下进行啊,那启动完事之后呢,我们接下来看啥?是不是得看一下它如何停止啊对吧?来,我们往下翻啊往下翻啊,OK,那同样啊,那superet也没有给我们提供现成的停止脚本啊,我们只能是自己手动去kill了啊那在这儿我们的停止命令是啥呢?我给它粘出来,然后给大家解释一下啊,诶,CTRLC诶,我拿过来,那大家注意观察啊,那首先我这是不是执行了一个杠EF的命令啊,对吧?那这个命令是不是会返回当前运行的所有进程,没错吧,那之后呢,我是不是使用aw k去过滤了一个super set呀,对吧。然后大家要注意啊,那aw k这条命令里边是不是也包含super,没错吧?那这样一来的话呢,那咱是不是也会把aw k这个进程过滤出来啊,那这个进程不是我们想要的对吧?那所以后边呢,诶咱又加了一个反过滤啊叹号aw k这个呢就是啥?就是不包含aw k,那这样一来呢,我们就能够拿到包含super set,但是不包含aw k的所有进程,那也就是super set的进程对吧?OK,那拿到之后呢,我们做了一个什么操作,是不是做了一个PRINT2啊对吧?这是啥?是不是就是打我们前面获到的结果的第二列对吧?那第二列是不是就好就是这些进程的PID对吧?那最后呢,我们在使用XX这个命令啊,将前边获取到的诶superet进程D,也就是PID对吧?啊,传给后边的杠九命令,诶,那这样一来呢,诶,我们就能够将super set所有的进程给它KO掉了,那super set呢,也就能够关闭了啊。
05:42
好,那现在我们可以执行一下这个命令,测试一下啊,来咱们回车,回车之后我们再尝试去访问一下这个页面啊,来刷新。诶,你会发现这个页面是不是已经无法访问了,对吧?那就说明super set进程已经被关掉了,好,那super set的启动和停止就都没有问题了啊呃,然后呢,为了方便啊,在这儿我给大家准备了一个super set的启停脚本啊,那现在呢,我们可以给它创建出来,然后呢,简单看一下啊来,我们给它创建到加目录的并目录下面吧,来CTRLC,呃,我们先进入到这个B目录完之后呢,执行一下这个VM的命令啊,然后回车啊好,那接下来呢,我们把这个脚本的内容给它粘贴过来啊来,首先我们复制CTRLC。
06:22
啊,然后呢,给它拿过来啊,拿来之后呢,我们简单看一下这个脚本啊呃,在这个脚本里边呢,我一共声明了三个函数啊,分别是哪三个函数呢?分别是super set status,然后再往下啊,这有一个super set start,然后再往下还有个super set stop啊那这三个函数的作用分别是啥?给大家解释一下啊,那首先我们先看第一个super set status啊。那这个函数的作用呢,其实就是判断super set的运行情况啊,那如果这个super set现在正在运行这个函数呢,就会返回一啊,那如果它没有运行,就会返回零啊,这就函数作用啊好,那接下来我们再看第二一个啊,第二一个呢是super set start啊很显然这个函数的作用是不是就是启动super set呀,对吧?啊,然后大家注意观察啊,那他在启动super set之前,是不是会先去调用super set status这个函数对吧?也就是说他会先去判断superet现在的运行情况,诶如果superet现在正在运行,诶,那它是不是就不会再启动了呀,对吧?哎,那如果没有运行诶,再去执行这个superet启动命令啊,让大家注意观察一下啊,这个是咱们的superet的启动命令,对吧?啊,在这个启动命令之前,是不是还有一个conduct activity的super set呀,对吧?这个命令作用是啥?是不是就是切换到super的环境。
07:40
没错吧,那也就是说我在这个脚本里边是不是已经执行了切换环境的这个命令呢?对吧?那所以说我们后续在使用这个脚本去启动supers的时候,那咱们还需要考虑这个Python环境的问题吗?诶就不需要考虑了啊,也就是后续我们再启动superset啊,就是不管当前所处的环境是什么环境,是不是都可以直接使用这个脚本啊,对吧?OK啊,那这样一来呢,我们后续再启动super set呢,就会方便一些啊好,那接下来我们继续往下看啊,那再往下呢,就是super set stop这个函数了啊很显然这是不是就是停止super set呀?啊,那同理啊,那它在停止之前呢,也会先去判断一下super set的运行情况啊,如果superet正在运行啊,那它才会去执行这个停止命令啊,否则呢,诶,它就不会再去停止了啊啊,那这就是这三个函数啊OK,那接下来我们再继续往下看啊,那再往下是不是有一个case判断呀,对吧,那他判断的是谁呀,是不是DOLLAR1,也就是这个脚本的第一个参数对吧?啊然后我们来看一下它的判。
08:40
算逻辑是啥?那如果说DOLLAR1等于start,那它是不是就会调用super set start函数,哎,也就会启动super set啊,那如果DOLLAR1等于stop呢?诶,它就会调用super set stop函数,也就会停止super set啊那如果说DOLLAR1等于restar,那就干啥?是不是就会重启super set呀,对吧?怎么重启的?其实很简单,就是先停止再启动对吧?啊好,那接下来我们继续往下走啊,那如果说DOLLAR1等于status,诶,那它是不是就会去执行一下这个superet status函数,也就是说会去判断一下superet的运行情况啊,那如果说superet正在运行,那它就会打印一个正在运行,那否则呢,就会打印一个未在运行啊好,那这就是这个脚本的全部内容啊来我们给它关闭,那关闭之后呢,需要给它加上一个执行权限啊,趁着Mo子加X Su set.sh然后回车,那接下来呢,我们测试一下这个脚本啊来,首先我们先执行super set.sh sta status对吧,先查看一下状态。
09:38
OK,现在是不是未在运行啊,对吧?OK,那现在呢,比如说我们给它启动起来s star。好,现在我们再去访问一下这个外部页面,看看能不能访问啊。稍微等一下,好,现在能访问说明已经启动成功了,对吧?好,那现在呢,我们再执行一下这个重启啊来再来一个restart回车,好,那现在呢,我们再重新刷新一下页面。
10:00
好,是不是也能访问对吧,那就说明我们现在这个脚本呢,是没有问题的啊好,那super的启停我们就讲完了。
我来说两句