00:00
好,各位同学,那接下来呢,我们进入到我们hi豆启用科S认证的最后一步配置啊,那最后一步呢,是配置雅安使用Linux container e啊,这个东西是啥啊,这个目前我们能看到的是不是?呃,就是它可能是与这个呃,雅安当中的这个container跟容器是有关的,没没错吧?啊,我们只能看到这点信息,其余的我可能不知道是干啥的,没错吧?啊,那现在给大家解释一下这个东西到底是干啥的啊,那既然它是与container相关的,那我们就来回顾一下啊,雅安当中的container到底是怎么一回事?雅安当中的container大家还记得吧?啊,我们提交一个MR任务,或者是提交一个SPA任务,是不是得提交雅安上对吧?那雅安这个resource manager接受到我们的请求之后呢,他要干啥呀?啊,是不是给会给我们分配资源对不对,那给我们的资源是以什么为单位的呀?是,就是一个一个的container,一个一个的容器啊,对吧?啊,OK,那大想想这个容器我们听起来是不是感觉有点抽象啊,对吧,那它具体是一个什么东西啊。
01:02
这个大家有没有看过,具体是啥呀?实际上具体就是一个啊,首先明确一点啊,这个container里边是会执行我们的任务,没错了,那大家说这个container它是一个线程啊,还是一个进程啊。是一个什么呀。实际上是一个进程啊,实际上一个进程啊,就是我们雅安啊,雅安它会给我们呃调度资源对不对,然后呢,去跑我们的任务对不对,其实是怎么一回事儿,其实就这么一回事啊,雅安呢啊,他会去看我们哪个node manager上面有空余的资源啊,假如说这几个有,那有的话,我就会在对应的这个node manager节点去启动一个紫禁城。啊,不是那个子禁程啊哈,是这个子禁程啊,紫禁程啊,OK,那启动一个子禁程之后呢,相当于这这是一个啥,是不是就是一个进程啊,对吧,那然后呢,在这个进程里边去执行我们的map task或者是reduce task是这样的啊OK,那咱们这儿提到的这个所谓的container e,这其实就是一个啥呀,其实就是一个用来启动我们这个container的一个命令,哎,或者说是一个这个工具。
02:11
啊,或者说呢,是一个这个二进制的执行文件啊,这样的啊,它不是一个cell脚本,它是一个二进制的可执行文件啊,也就是说我们的note manager去调用这样的一个所谓的container exer,它就会干什么,是不是就能够给我们启动一个container进程啊,就这样的一个作用啊,这就是所谓的诶container ex啊这个概念啊,OK,那接下来呢,我们再继续往下进行啊,那在这儿呢,它要求我们使用Linux container ex啊,那它默认情况下使用的是什么呢?默认情况下,我们是不是也得往雅安上面提交任务,它也得去启动container啊,对吧?默认情况下使用的啥?就是默认的containerecutor,它就叫做default container exor啊,叫default啊,那这个默认的和这个所谓的leaves container exor有啥区别呢?啊,这个我给大家简单说明一下啊,就是默认的这个containerq他是这样的啊,那大家先听啊,如果我现在啊,用张三的身份啊,张三的身份啊,去往我们的雅安集群上边去提交一个任务啊,默认,呃,这个用张三这个用户啊,向雅上面去提供提交一个任务,那提交一个任务理论上他会怎么样,是不是会去node manager节点去启动对应的container,然后去执行咱们的任务啊,对吧?啊,那如果我们现在这个container是默认的那一个,那OK,启动container进程的这个用户是谁?大家思考一下。
03:39
是谁?你说是我们这个张三吗?不是张三,不是张三,而是谁呀?而是启动node manager的用户。啊,是这样的啊,为什么是启动note manager用户呢?因为刚才提到了这个所谓的container进程是谁的?是不是就是note manager的一个子进程啊,对吧?啊是这样的啊,OK,也就是由node manager帮我们启动的一个进程啊,那也是这个进程的启动用户就是谁,就是node manager的启动用户啊,那咱们举个例子啊,在我们启用这个科普之前,我们整个诶海度集群都是谁起的?
04:14
是不是都是海渡起的,没没错吧?啊,那所以说我用张三去提交任务,那启动肯的这个人是谁呀?是是张三吗?还是艾特硅谷,是艾特硅谷啊,这个理解一下啊,那假如说现在我们使用的不是这个default,这个默认的containnder ex,我们使用的是谁呢?哎,我们使用的是呃,Leaves containnder exor,那它会有什么不同呢?诶,其实主要就是启动这个container的用户不同啊,那现在我们用LIS container ex还是用张三,诶向我们的集群上边去提交一个这个任务,那完之后是不是也会呃在noe matter节点去启动呃,这个container对吧?OK,那使用LIS container时候呢?那启动container的用户就是谁?就是提交任务的用户了,而不再是启动node manager的用户了啊,也就是我张三提交任务户,那启动这个container的用户呢,就是张三啊,那我李四提交任务,我启动container用户,那就得是李四啊,这个咱们大家一定要理解一下啊,OK啊,那也就意味着什么呀,意味着如果我们现在要想使用Linux container啊,那你就得保证什么。
05:22
你就保证什么,比如说我现在想用张三去提交任务,那你就得保证我集群上边的每一个节点里面都得有啥。是不是都得有张三这个用户才行,是是这个道理吧,你不能说,诶我在这儿用张三提交任务对不对,那结果我这个note me这节点没有张三用户,没有张三用户,那他是不是就会找不到这个用户啊,这个大家一定要注意一下啊,OK啊,好,这就是Linux container,还有这个default container ex的一个区别啊,咱们大家理解一下就行了啊,然后呢,此处要求我们将雅安的这个Li这个container exor设置为Linux container ex OK,那在这儿呢,我们需要做哪些配置操作呢?我们先来大致的过一下啊,首先呃,我们需要先找到,找到谁找到这个Linux container ex这样的一个可执行文件,刚才说了这个东西是不是就是一个可执行文件呀,对吧?我们需要先找到这个可执行文件,然后咱们需要干啥,需要修改它的所有者和所有权限啊,那具体要求呢,如下,一会儿我们再看啊,接下来再往下走,改完所有者和权限之后呢,接下来干啥?接下来呢,我们还得去修改一下所有节点的。
06:30
Container eor.conf这是一个什么呀?是不是有一个配置文件呀,对吧?来配置谁的,是不是就配置这个container eor这样的一个配置文件呀,这个理解一下啊,那咱们需要修改这个文件的什么东西呢?修改这个文件的所有者和权限啊,它的所有者和权限也得改啊,也不能让任何人去访问,那接下来继续往下走,那除了改它的所有权限,我还得改什么呀?诶还得改一下这个文件的内容啊,就是那个配置文件的内容也要改啊,那再继续往下走,那这些都改完之后呢,我们还得再去修改一下雅安赛的这个配置文件啊,因为咱们所做的这些操不做这些配置都是与谁相关的呀,是不是都是与雅安相关的?没错吧,我们需要再改一下雅S啊,把雅S改完之后,那把我们修改的文件全部分发,分完之后呢,我们就算是配置完毕了啊OK,那这个呢,就是我们需要去做的这个相关配置还是比较多的啊好,那接下来呢,我们就开始去配置这个雅安使用linus container ex。
07:30
啊,那leave肯定呢,我们前面已经解释过了,其实这里边我们所有的配置是不是都是围绕着这样的一个二进制的可执行文件啊,对吧?啊,是这样的啊,那这个二进制的可执行文件在哪儿呢?啊,它在哪儿?我们来看一下啊,其实很简单,它就在这个海杜分的加目录的B目录里边啊,这个加目录的B目录我们其实没少进,但是大家可能一直都没有注意到这个东西吧?啊,咱们去看一下啊来,我们CD到OT,诶,Mo完了之后呢,进到这个hi度吧,这是加目录它的BI目录,对吧?大家来看一下,那此处是不是就有一个container对吧?这个东西其实一直都在,只是我们没有发现它啊,OK啊,那现在呢,我们要做的就是对它进行相关的配置,对不对?先看第一个,我们要配上首先啊,那这个海豆腐呢啊,当时官网啊,官网要求我们将该二进制文件的所有者设置为root,那它的所有组是谁呢?所有组在这儿呢?我们需要给它设置为海op,当然这个呢。
08:30
其实不是绝对的,那这理论上这应该设置为谁呢?应该将它的所有者设置为启动note manager的用户的所属组,那咱们现在启动note manager用户,咱们设置的是谁呀?是不是当后来我们,呃,将来我们要用雅安用户去启动not manager啊对不对?那雅安用户的所属组是谁?是不是海多组,那所以在这儿呢,我是不是就得将该文件的所有组设为海杜北啊是这样的啊,咱们这儿啊要这么去记啊,不要光记这个海杜篷,因为有可能你到公司里边之后,那我这个亚雅安用户所属的组不是海多可乐对吧?啊,你要以后边那个为准啊,以他为准啊,行,但是他的所有者和所有组,那完了之后权限呢,我们是需要设置为6050对吧,那这个六是不是就那个附加权限问呀,对吧,咱们搞清楚啊行,那完了之后呢,我们继续往走啊,那下面呢,就是我们102103和104这三台节点的这个设置所有者所有组以及权限的命令,那当时这个命令是三台节点都是一样的,那我还是给它粘出来处理一下,然后咱们统一。
09:30
的执行啊来,我CTRLV我放在这儿,完了之后呢,我们往下拉啊,这个没用东西,咱们给它删除掉。好,那完之后呢,把这两条命令CTRLC拿过来,是不是在三台节点统一的执行一下就行了,来102先执行完之后呢,103执行一下,104呢,我们也执行一下,执行完之后呢,我们来查看一下啊来我们L2下,大家注意观察,那现在它的权限是不是已经变了呀,对吧?你看这是不是有S,呃,有一个大S有小S啊对吧?那这个是不是刚跟我说那个呃,特殊权限位或者那个叫做附加权限位的那个标识是一样的呀,对吧?这个我就不再解释了啊好,我们继续往下进行,来,那再往下我们继续走,下边呢,我们还得去修改一个文件的所有者和权限啊,哪个文件呢?这个文件呢,叫做container ex.con这个文件呢,看名字是不是就能看出来,它是不是就是这个container ex的配置文件,对吧,咱们去改一下啊,那这个配置文件我们先改啥也是改所有者和权限啊,那这个要求就有点过分了啊,看他要求是啥啊,他要求该文件及其所有的上级目录的所有。
10:38
或者均为root,所有组呢,均为海度吧啊注意啊,是该文件集齐所有的上级目录,是不是一直得往上推啊,对吧?啊这个要注意啊,OK,那接在往下走,那权限是什么呢?诶权限是400啊400啊那最后诶我们这个呃,默认路径就在这个位置,那咱们去这儿找到它,然后呢,给他进行相应的修改就可以了,那这咱们先去找一下啊,我们CD一下应该是在哪,应该是带这个op BT model呃,这个海吧,对吧,海豆里面应该有一个ETC啊ETC海豆吧L来找一下这个文件,看能不能找到啊在哪呢?是不是就在这个位置呢?对吧,那咱们要改的就是它啊好,那现在我们把这个修改权限和所有者的命令给它粘出来,然后统一的处理,统一的执行一下就行啊,那同样呢,我这儿也是提供了102 103以及104这三台节点的修改命令,我们是不是只需要取取其中一个就可以了呀,对吧?来CTRL先拿过来,然之后呢,我们CTRL位处理一下,好,那现在呢,我们要把这个前缀给它去掉。
11:38
嗯。啊,全部去掉,去掉之后呢,我们来简单看一下啊,那首先我们修改的是谁,大家看这。是不是这个文件本身对不对,那这个呢,是不是它的上一级目录啊,是不是又上一级对吧?然后呢,再上一级啊,然后呢,直到哪儿,直到海度破的这个加目录的上一级就行了啊到这儿就可以了,再往上就不需要了啊能理解了,不需要非得到根目录啊,因为你要按它那个要求,是不是上级目录,是不是一直得到根目录啊对吧?哎,没必要诶,我们只需要到诶这个海杜的这个加目录的上一上一级就可以了啊啊那么之后呢,我们还需要将该文件的这个呃权限呢,设为400啊设为400,注意啊,这个设这个权限的时候呢,不需要跟这个所有者和所有主一样,把它的上级上级路径全部设设为这个400,不需要,我们只需要把该文件它的这个权限设为400就行了,能理解吧,好,那现在呢,我们把它执行一下CTRLC那三台节点是不是都需要做相同的修改,对吧?来,咱们修改一下,先执行102台节点真题,哎,现在是不是已经执行完了,那104呢,我们也是103也执行一下,那完了之后104呢,咱们。
12:45
也执行一下,好,那执行完之后呢,我们去看一下这个效果啊,那首先我们先看102L2下,大家注意观察,那现在这个文件哎,它的所有者所有主是不是按照我们的要求改成root海do了,对吧?那完了之后呢,它是不是也是400没错吧,那完了之后我们CD点点,我们往回退啊,完了之后看看这那这是不是root海do没错吧,然后在CD点点,这个是也是ru海度呗L。
13:10
找到这个EDC,这个没问题吧,那再写点点,我们再看一下啊LL来看,那这个海杜的加目录是谁,加目录是不是咱们那个海杜3.1.3这个也没有问题对吧?那我们再推一下C点点啊LL来注意观察,那这是不是也是一样的,说明我们这个配置是没问题的吧?啊OK,那三和四我就不再逐一检查了,应该是没问题的啊OK啊,那现在呢,我们呃这一步也就完成了,我们再继续往下进行啊接下来来大家来看一下,呃,那在我们这个改完呃这个配置文件的呃所有者和权限之后呢,我们还得再去修改一下这个containnder ex的配置文件的内容啊,咱们需要打开这个文件去看一看里边的内容啊OK,那需要改哪些东西呢?我们先给它打开,打开之后再去进行相应的修改啊,那咱们还是先找到这个文件,应该在OBD modelleo ETC里边,对吧,找到这个container conin对不对,咱们打开,打开之后呢,你会发现其实这里边的参数并不多,对吧。
14:10
是不是只有这几个需要我们去修改啊,那接下来咱们就主干修改一下,那咱们需要修改哪些东西呢?首先我们先看第一个,第一个大家看一下是啥。雅安点not manager.container点。这是不是需要我们写一个组啊,对吧?写谁的组啊。其实很简单,就是我们启动node manager的用户的所属组,那我们这其实就是谁?其实就这是不是就是海豆腐呀,对吧,那所以说我们这呢,给它改成海豆腐就可以了啊来我们给它shift Dollar啊改成a do海豆腐这个没问题吧,好弄完之后我们继续往下走,那下边呢,这一个啥。是不是什么叫做班,呃,这个班地的user啊,对吧,这个班地的应该都知道是哪吧,是不是就是禁用的意思,禁止的意思对不对,也是我们需要填写几个禁止的用户,什么意思,填什么禁止用户啊。
15:03
哎,这给咱解释说明一下啊,那首先我们先来看一下啊,那我们这儿呢,是不是可以填写多个用户完里边呢,用什么风格,是不是用逗号风格呀,对吧?那我们这儿禁止的用户,禁止他干什么呢?你往后看啊,这是不是我们可以写一堆用户啊,然后呢啊禁止他干啥,禁止他run applications。啥意思?是不是就是禁止这部分人去跑应用啊,对吧?啊啥意思,说的通俗一点,是不是就是禁止一部分人向雅安,因为我们现在是不是配置的是雅安相关的参数,对不对,向雅安提交任务能理解吧?诶那我这要禁止,禁止的是谁呢?我不写行不行啊,其实不写也行,不写也行啊,但是海杜的官方网站上呢,推荐我们在这儿把谁写在这个位置啊,把海杜op当中的几个超级用户写在这儿,因为超级用户的权限是不是太多了呀,对吧?啊,那为了防止这个呃,其他人拿到这个超级用户权限去做一些破坏的工作,所以说通常情况下呢,会把这个超级用户给他禁掉啊,那超级用户都有谁呀?
16:05
那现在对于我们这海度来说,超级用户都有谁啊?其实对于海度来说,超级用户是不是就是启动用户对不对,那我们启动时都有谁HS雅安macri,那所以在这儿我们要配的这几个用户是不是就他们仨是这个道理吧,这就是海杜当中的超级用户,哎,我们把这几个超级用户禁掉啊,那他们就不能再往我们这个雅安上边去提交任务了啊,这个大家理解一下好,那完之后继续往下进行啊,那再往下呢,我们下边是不是还有一个什么mean user ID这样的一个参数啊,对吧?这个user ID是啥意思,直译过来是什么?直接过来是不是最小的用户ID啊,对吧?啊,那这个用户的ID大家知不知道是啥。清不清楚,不太清楚是吧,那不太清楚的话呢,在这儿呢,咱们简单的我先把这个保存一下啊,然后WQ,然后再退出来,那简单我们就给大家说明一下这个用户的ID啊,那实际上在我们Li系统当中,每一个系统用户都会有一个自己的ID,那比如说我们艾特硅谷,那你怎么查看到呢?你可以查一个ID,比如说艾特,诶硅谷来回车,你会发现这UID是不是就有了呀,对吧?UID是多少?At是不是就是1000对不对,那我们刚才是不是还创建了一些其他的用户啊,比如说那个什么HDS,那他有没有,哎,他叫1002对不对,那我还有没有其用户呢?哎,也有,比如说我那个什么刚才那个YR雅对不对啊,1003对不对,那还有谁,比如说这个map red,比如说那是不是1004啊,对吧,然后大家应该能够感受出来啊,咱们自己创建的这些用户,他们这个ID都是从多少开始的。
17:40
是不是都是从1000开始的,对吧?哎,那我从零到999,那这些用户ID怎么咱们用不了呢。这个需要给大家解释说明一下啊,那实际上我们这个呃UID,那不同的系统是有不同的定义的啊,那就以CS为例,那我们用户自己创建用户呢,那他的UID的范围是多少啊,就是大于1000啊是这样的啊,那他1000以下的用户,那个UID是给谁用的呢?
18:09
是给各服务去用的,会呃,是给各服务去用的啊,那我们称之为什么呢?称之为系统用户,称之为系统用户啊,那通常情况下呢,系统用户是不是会比我们这个普通用户拥有的权限更多一些呀,对吧?啊是这样的啊,那所以说在这儿呢,它会有一个这样的参数,来看一下这个参数就干啥,是不是就是为了设置一个什么,设置一个最小的user ID,然后去干啥,是不是去prevent other super user什么意思?是不是就是阻止哎一些超级用户,这个超级用户指的是谁?是指的是不是我们这个三度S系统当中的超级用户啊,对吧?哎,阻止他们诶去使用我们这个呃Linux去启动容器啊,这个呢,咱们大家需要去理解一下啊,那也就是说我们后期去提交任务的时候,那他们干啥,是不是会去判断一下我们这个用户的系统啊,用户的一个UID啊对吧?那如果UID小于1000,那他会给他呃这个资源吗?
19:09
是不会的,对吧?啊,因为最小得是多少,最小是不是得是1000才行啊,对不对,我1002 1003 1004 1005是不是都没问题,对不对,但是9999就不行了啊,就这个意思啊,咱们理解一下啊,那当然啊,当然,那我1002行不行,1002也不行,为啥?因为刚才看了HD反是不恰好是1002啊,对吧?啊,你这儿虽然给它放开了,但是我这儿给他禁了对不对,就这个意思,那其实这些参数都是为了干啥,是不是都是为了将一些这种就是拥有权限比较多的用户给他禁用掉啊对吧,就这个意思啊,那就是为了保证足够的安全啊OK,再往下走,下边呢,是不是还有一个参数叫做lo system users,对吧?这啥意思?是不是允许的系统用户啊,啊,这个啥意思啊,给大家解释一下啊,在咱们这儿是不是通过一个最小的用户ID能够禁止掉全部的这个系统用户,但有时候你觉得诶,这样一棒子打死是不是有点不太好对吧?那万一我这里边确实就有几个系统用户需要去,呃,使用咱们这个雅安去提交任务呢?
20:08
那怎么办呀?哎,我是不是可以在这儿去给它逐个的放开啊,对吧?哎,特殊处理一下也是可以的,那当然在这儿呢,我们就不需要放开了,那也是在这儿呢,我们需要改参数只有这样的两个,一个是还组一个是啊,这三个用户给它配上就行了啊好了,这个为事之后呢,我们shift z给它关闭就可以了啊,那接下来我们继续往下进行啊,那再往下我们要做的呢,就是去修改一下这个雅安赛文件,把这个文件改完,那我们所有的配置文件就都改完了啊来,终于看到胜利的希望了,对吧?好,那现在我们把这个颜色的给它打开一起看一下啊来我们回车来,那这里边我们需要修改参数有哪些呢?我们主要看一下吧,来一个一个看啊,那我们先看文档,看这个位置,先看第一个。这才是,是不是雅点not manager.contain.class这其实就在明什么呀,是不是在指明让我们的note manager去使用linus containerut了这个道理吧?那所以在这呢,我们按照它的要求去给它配置一下就行了啊,那会之后继续往下走这一个啥。
21:11
这是不是需要让我们去配置一下这个雅安的no manager的Li container的组啊,对吧?这个组需要跟哪保持一致?是不是需要跟我们刚才在那个CFG文件当中配置的保持一致,是不是也是还多不足,就这个位置。这也是孩子不组啊,咱给它配上啊,那配上之后再去往啊,看这这个是啥,这个是不需要我们去配置一下那个Linux container脚本路径啊,当然这个咱们说的是脚本不太合适对吧,它其实不是一个脚本,它是一个什么呀。它是一个二进制的可执行文件,对不对啊,这个理解一下啊,啊,那这个路径咱们应该知道在哪吧,是不是就在我们那个呃,加目录的B目录里边啊,对吧,刚才我们已经看过了啊,OK,那咱把这个路径给它指明一下就行了,OK,那其实就这样的三个参数,很简单啊,那接下来呢,咱们把这三个参数了CTRLC复制一下,放到我们的这个颜色的这个文件当中,好,那现在我们给它右键粘贴进来,好,OK,那现在这三张文已经拿到了,拿到之后我们要做的工作呢,是不是就是把这两个文件给它分发一下,对吧?一个是我们刚才改过的这个container excu con,一个呢,就是颜S,把他俩都分发一下,好,那现在呢,我们把这个分发命令给它复制一下。
22:22
哎,CTRLC拿过来,那之后呢,我们就直接在102执行一下就行了,来先分发第一个。OK,再次发第二一个啊好了,那现在呢,我们就已经完成了我们所有配置文件的配置了啊,那再往下呢,我们就可以在安全模式下去启动海多个集群了啊好,那现在我把视频停一下。
我来说两句