00:01
啊,各位同学啊,那前面呢,我们已经讲完了啊,如何在这个安全的这个集群当中去访问HDFS上的文件啊,以及如何去提交啊MAP6任务了,对吧?啊,那这两部分呢,我们已经讲完了啊,那然后再往下呢,由于我们现在是不是做的这个项目是离线数仓了,对吧?离线入仓主体是不是就是have对不对?那所以说我们现在呢,还得去讲一下如何在这个安全的集群环境下边去访问have当中的数据啊,这个大家一定要稍微注意一下啊,那这里边我们需要注意哪些事项呢?哎,咱们简单说一下啊,那大家都知道have表示当中的数据都存在哪,都存在这个HDFS上面,那现在只要我们去访问HDFS的文件啊,不管你是一个普通用户的身份去访问,还是以一个服务的身份去访问,那都得干啥,是不是都得进行covers认证啊,这个一定要注意啊,那你像have这边,他是不是就相当于是以一个服务的身份去访问我们这个,呃,HSS啊,对吧。
01:01
那所以说在have当中呢,我们也需要去做一些科认证相关的配置啊,是这样的啊好,那接下来咱们就开始去做相关配置啊,OK,那咱们来看一下第六章的第一节,第一节呢,是have进行科S认证的一个前置要求,那我们来看一下啊,首先第一个要求。Have要想启用科S安全认证,那我们首先得干啥?首先得保障hi杜op集群启用科S认证,那咱们hi杜op集群是不是已经完成了科波斯认证的配置了呀,对吧?所以这步我们大家都满足了,那接下来看下一步啊,那下一步我们需要干啥呢?我们需要为have系创建这个系统用户,并且创建对应的S主体啊,这个怎么理解啊,那刚才我们提到了,我们说去访问HD文件的时候呢,不管你是以一个用户的身份还是一个服务的身份,那都得干啥,是不是都得认证,那现在have呢,它是就得以一个服务的身份去访问HDFSL,对吧?啊是这样的啊,那所以说既然它是一个服务,那服务它它就得干啥。
02:06
是不是也得有一个自己的用户,并且得有一个与之对应的科bos主体啊,对吧?啊,是这样的啊,那我们之前在开启curs之前啊,那我们所有的服务,不管是海度的服务,还是什么have的服务,咱们都是用同一个用户起业的,都是APP硅谷对吧?那我们现在呢,都要加以区分,那也就是现在这个have have的服务,也就是什么masto,或者是have so to等等等,我们都不能再使用阿里了,咱们用谁啊啊,咱们为他单独创建一个用户,比如说在这儿呢,我创建的是have用户啊,是这样的,然后呢,我们还得再为have用户去创建一个curs当中的主体啊,这个大家理解一下啊,那现在我们要做的呢,就是创建系统用户啊,那大家来看一下这个创建用户的语句已经很熟悉了吧,对不对,创建一个have用户,然后呢,它的所属组是hi doop啊,然后呢,啊,是不是把这个have用户的密码给它设为呃,Have啊对吧?好,那现在呢,我们把这呃两条语句给它执行一下,那当然了,这这个还有用户呢,我们需要在每台节点都创建啊,那就是说102104004需要执行一个。
03:06
相同的操作,那现在咱们去执行一下啊,102已经有了,对吧,103也有了,104呢也已经有了,好,那hi用户我们就算是创建好了,创建完之后大家干啥?是不是需要为这个have去创建一个purposes主体啊,是这个道理吧?啊OK啊,那现在这个have purposes主体咱们怎么创建啊,咱们明确一点啊,那大家说我们这个have服务,Have服务它是一个分布式的吗?Have服务是吗?啊,并不是,Have服务其实只有两个对吧?一个是have so to,还有一个是谁have masto对不对?那这两个服务呢,其实当然了,Macs store其实是可以配置呃,高可用的其实可以配置高可用的啊,但是咱这儿没有啊,那既然没有的话呢,那我们是不是have serve库只起一个,那这个have,这个MAS store是不是也只起一个呀,对吧?那所以在这儿呢?呃,我们这两个服务都起在哪儿呢?其实大家都是只起在了102台一台节点上,对吧?那所以说我们在为这个服务创建主体的时候,我需要为每台节点都创建吗?
04:03
需要吗?啊,其实不需要,为啥啊,给大家理,给大家说明一下呃,为什么要说这个,因为大家都知道服务的主体,我通常情况下它那个主体的格式是什么样的呀?是服务名,后边再来一个啥主机名对不对?后边呢再来一个艾特,艾特后边呢,是那个room的名称对不对?那所以我这儿想说的呢,是否我们只需要创建一个have,然后后边还会102这样的一个主体就够了呀,对吧?不需要创建103,也不需要创建104啊这个理解一下啊好,那现在我们给它创建出来,来大家一起看啊,那这条语句这是在干啥?是不是k admin,然后杠P,杠P是什么来着,是不是就是杠principle对不对,那我是用我用谁啊,我是不是用admin这个用户去登录啊,对吧,完之后呢,杠WW是啥来着,Passw的密码啊,那输了他的密码啊,那也就现在我是不是就能够登录这个kin了呀,对吧,进去之后呢,执行一个艾特PC,然后杠呃这个K啥意思,密码对不对,然后我就创建一个这样主体,那现在咱把这个主给创建出来,来CC。
05:04
拿过来,拿过来之后呢,我们在这个呃,Hi豆北102,哎,这边执行一下就行了,OK,那现在我们回车好,那完了之后,他这是不是已经告诉我们说这个hi hi豆102这个主体已经创建出来了呀,对吧?创来之后呢,我们继续往下进行,然后大家来注意观察一下啊,那现在呢,我们需要干啥服务的主体,它的认证方式是不是主要一般都是采用这个k type文件啊,对吧?所以我们需要给它生成一个K文件,然后要注意一下,我们生成k type文件需要在每台节点都生成吗?不用不需要,对吧?因为我们刚才说了,我们两个服务是不是都只是在102这台节点去启动啊,对吧,你在哪启动,在哪生成这个k typeb文件是不是就可以了啊,这个理解一下啊,好,那现在呢,我们去执行一下这个生成k type文件的这个命令,这个不用解释了吧,应该大家都知道是怎么回事了啊,我们已经写了好多次了,其实啊啊,那我在102去执行一下啊,那如果出现这样的一堆日志,那就说明咱们这个have的k type文件已经生成了,那生成之后呢,最好去看一眼啊,我们这个k type文件都放哪儿呢?是不是都放在这个。
06:04
Security这个k tab里边来对吧?来简单看一下大来看这是不是有一个have serve.k tab呀,对吧?这就我们刚刚生成的,那当然它的所属者是不是还是root呀,对吧?那我需要给它改一下啊,那改成啥呢?往下走来,那首先呢,我们需要去给他呃修改一下它的这个所属者和所属组,哎,Root到海do法玩下面呢,是不是也是给它改成660了,对吧?CTRLC拿过来我们执行一下,好那LL好,大家一起看,现在没问题了对吧?好,那现在我们这个have的呃,所需要的用户和covers主体我们就准备好了啊,准备好之后我们继续往下走,那咱们需要为have去做一些相关的配置啊,那其实大家可以想一想,你说我们要配的东西应该是啥呀?其实呃,能想到的肯定有这样的两个参数,一个是啥啊,就是我的,呃,Q主体是谁啊,那我的这个密钥文件在哪?那这样一来我这个have的服务在启动的时候,它是不是还能找到这个对应的主体和密钥文件啊,对吧?诶然后呢,用它进行登录啊,这个是能想到的啊,那当然除此之外呢,还有一些其他的参数标配啊,那现在都要配啥?我们一起来看一下,首先先明确啊,Have的配置文件是哪一个,是不是have的加目录下边的com下边的这个have set啊对吧,这个咱配一下啊,现在往下走,那我们现在呢,先看一下这三个参数。
07:20
这三个参数在干啥?是在为have serve to这个服务启动四认证,那have服务有两个,刚才说过了,Have serve to have my star对吧?这两个服务得单独去配置啊,这个呢是还有测度大来看一下,首先第一个参数。这个应该能看懂吧,是不是就是have so authentication,我们采用curs这种方式啊,对吧,这个大家理解一下,好,那现在往下走,大家看这。这是啥?是不是就是指明have serve to这个服务的主体是谁啊?就是它,那下面这个呢,是不是就是have serve to的me文件在哪啊?这个呢,得跟我们刚才自己创建的保持一致啊,OK,那接来往下走,下面大家看这儿,这儿是不是还有一个ma star的一个相关配置啊,对吧?那第一个参数呢,实际上就是类似于我们刚刚配置的这个参数,这个参数是不是为have so two启用科S认证吧,对吧?那下面这个参数呢,相当于就是为MAS store启用科S认证啊,可能他俩参数的名称不太一样啊,但这个其实作用是一样的。好,接着往下走,那下边看这个参数。
08:22
这上是不是store的S主体,那这个呢,是不是就是ma store的这个呃,密钥文件啊,对吧?啊,然后大家要注意观察一下啊,我们此处啊,我们所使用的呃,就是给的这个have so two的S主体和我们使用的这个ma store的S主体,它俩是是一样的吧,大家看一下是不是HAVE102,那上面呢,是不是也是这个have hi102啊对吧,那这块能不能一样啊。可以一样,其实是可以一样的,当然我不一样行不行,我给他分开创建一人一个行不行也可以啊也可以,只要我能能怎么能怎样就行,我只要我能够向科S那边去认证是不是就可以啊,是可以啊,是可以一样的,所以在这呢,我们使用的是同一个啊啊那这块我们就已经把这个呃参数解释完了啊解释完之后呢,我们把这一堆参数全部给它复制出来,然后呢放到haveve sor two当中来,那现在呢,我们进一下啊,CD的OPT Mo,然后呢进到这个haveve,然后呢进到这个呃,然后呢,打开这个have set这个文件啊打开之后呢,我们来最底一下呃,然后摁一下I,把这一堆参数给它粘进来就行了啊好,那粘完之后shift z OK,那have的配置文件我们到此就结束了啊,那结束之后我们继续往下走啊,那大家来看一下这个位置,我们这儿还要干啥。
09:35
是不是还得去改一下这个have,呃,还还得去改一下这个hioop当中的这个Co site配置文件啊,对吧?那这个文件里边我们要改的主要是什么内容呢?其实大家可以想一想,可以猜一猜,你说这里边我们需要改啥。要改啥?大家还记得咱们那个这个hide Co这个配置文件当中的一个叫做代理用户的配置吗?还记得代理用户吧?啊,那大家还记得这个代理用户到底是什么含义吗?还记得吗?以及我们之前在这里边去配置那个代理用户,到底是给谁配的。
10:08
还有印象吗?没啥印象了是吧,那没啥印象之后,我们现在简单看一下啊,我们先看一下之前咱们是怎么配的CD的opd mole hiloop edcloop,对吧,那完之后呢,我们打开这个Co赛呢啊,Co赛里边呢,我们有几个这样的配置,来来看大家看这啊,就这一个。在这儿啊,在这儿应该能看懂吧,那这里边是不是什么,这个highloop process user at硅谷点houses啊,然后呢,Loop process user at,硅谷groups啊,这是不是都写的星啊,对吧,这都是啥意思啊,这些参数。不是谁都能访问啊,那这块呢,给大家简单说一下啊,首先我们得先明确这个hidoop当中的代理用户机制啊,这到底是一个怎么到这到底是怎么一回事啊,然后呢,这几个参数到底是给谁配的啊,其实可以告诉大家,这几个参数之前就是为have so to配的啊,如果这几个参数你不配,你会发现啊,你这个have so库使用的时候你会遇到问题。
11:02
啊,不知道有同学有没有同学试过啊,然后在这儿给大家说一下这个代理用户到底怎么回事啊好,那首先我们先来跟大家,大家跟我思考一个问题啊,假如说那这个呢,诶是我们的这个HDFS集群,这是HDF集群啊那假如现在呢,这是我们普通的一个have客户端,注意是普通的客户端,普通害户端是不是就那个滨害我对吧?那完了之后呢,呃,假如说我我用张三的身份啊,张三用户啊,张三张三用户呢,现在我启动了这个普通的害有客户端。啊,启动之后呢,那他在里边执行那一条circle,你执行那条circlel之后,是不是需要去访问HT文件啊,对吧,那问一下大家,你说我访问这个文件的时候是以谁的身份去访问的。啊,是谁?啊,注意啊,那现在我用张三张三啊,这是张三啊,启动了一个这个,呃,还我的客户端,那完了之后执行一个circle,然后呢,去访问了一下这个HM文件是以谁的身份呀。那肯肯定是张三的身份,我现在有其他身份吗?没有其他身份呀,对,我是不是肯定是以张三的身份去访问HDM的文件啊,对吧?那同理,我现在比如说执行一条这个,呃,这个计算语就是计算语宙时候得需要跑计算引擎啊,对吧,需要往眼上提交任务,那你说我是以谁的身份提交的,是不是也是张三的身份,这个没什么可说的吧,对吧?啊,那现在我们再思考下一个问题,我是不是还有另一种去访问have数据的方式,就是使用啥?使用have filter to,然后再加上一个JDBC客户端,比如说B客户端对不对,那比如说这个呢,是测啊,这是啊,那这个呢,是咱们那个B客户端啊,OK啊,那大家得想一想啊,那测to是不得有一个用户启动对不对?比如说我现在启动这个用户的这个,呃,启动这个have serve to的用户呢,是谁是李四。
12:46
啊,是李四啊,L4啊,这个都比较抽象,我起的这名字啊,这是李四啊,那完之后呢,我现在启动B客户端的用户是谁呢?是张三啊,是张三啊,大家想一想,我现在张三啊,那通过B档客户端啊,然后呢,去连接李四启动的so two,然后去访问HTM文。
13:15
是谁呀,默认情况下其实肯定是李四,对不对,为啥?因为是李四真真正去访问HTS呢?是谁?是这个进程对不对,他是李四系统,所以说真正的身份应该是李四才对,那这样一来他会有什么问题啊?这里边权限是不会乱套,是不是这个道理,你想一想啊,那假如说呃,那这个HT行,这个有一个文件,那这个文件呢,本来张三是没有权限去访问的,对不对,那李四他他有没有呢?假如李四是有的啊,那这样一来的话,我通过这个李四启动的去访问HT文件,那张三本来不能读到这个文件,但是呢,他现在能读了,这是不是乱套了呀,对吧,是这样的啊,那所以说这种情况是不希望我我们不希望看到的,那怎样能够去解决这个问题呢?嗨豆op是不是就提供了一个这个代理用户的机制啊,对吧?啊是这样的啊,什么叫做代理用户啊。
14:05
什么叫代理啊?什么叫代理啊,其实所谓代理呢,就是这个意思啊,OK,那比如说我有一个人啊,我需要去做一件事儿啊,那这件事儿呢,他前面呢,有一些准备工作,那做完之后呢,还有一些善后的一些处理工作啊等等等等啊,那假如说我现在我这个人呢,我只想去处理我这个核心的这个任务,其余的什么,呃,准备工作,或者是一些善后的处理工作,我不需要去管,我不想去管,那这时候你就可以怎么做呢?哎,你就可以去做一个所谓的代理,所谓代理,你让代理去帮你做一些这些准备工作,或者是这个结束的工作,然后核心的工作让我自己去做,哎,这就所谓的代理啊,那此处我们这派的这个代理用户,这到底是怎么去理解呀?啊到底怎么理解呀。啊,那大家注意观察,这里边是有个什么high pro user,这里边是不是有一个用户名对不对,那问一下大家,你说这个用户名我们要配的应该是谁?咱们以这为例啊,这是不是俩用户,一个张三一个李四对不对?那你说我这应该配谁?
15:04
是配张三呀,还是配李四?是配张三还是李四?李四,你这配的应是李四啊,你这配的这个用户呢,应该是启动have so two的这个用户,那你配完之后,那就相当于是啥呢?相当于是就是说哎,我可以用这个用户,用这个用户啊去干啥呀,去代理我所有节点上边的这个呃用户啊是这样的啊,那这个距离怎么理解呢?那在这儿呢,是不是就相当于是用李四去代理张三对不对,去代理张三干啥呀?刚才说了什么叫代理,代理是不是就去让他做一些这个,呃,前期的准备工作和后期的这个处理工作呀,对吧?是这样的,那核心的工作谁去做,核心工作是不是还得是这个人去做,对不对,那我们这就好比是啥意思?OK,那我一些准备的工作,一些这个善后的处理工作让谁去做,是不是代理用户李四去做呀,对吧?那真正最终去访问文件或者去提交任务的那个人还是谁?
16:03
还是张三啊,是这么一回事,所以这个代理用户大家一定要搞清楚,一定要搞清楚啊,那也就是在这儿呢,我们大家搞清楚一点就行了,那这个用户我们要配的是谁。是李四是启动have的用户,对不对啊,把这搞清楚就行了啊,那现在我们是不是规定了,哎,当当我们开启科用户之后,Have的服务不再由爱硅谷用户启动了,咱们由谁启动?由谁启动?是不是应该是由have这个用户启动,那既然由have用户启动,那咱们就得怎么是不是把这改一下对不对?爱硅谷是不是得改成have才行啊,是这样的,这块大家一定要理解一下啊OK,那刚才我所讲的这个代理用户的机制呢?呃,其实在呃我们其他的框架当中也有应用,比如说我们前面提到过,哎,嗨,度当中是不是有一个调度工具叫做乌Z啊对吧,O oziee,那Z呢,也会用到这个代理用户的机制啊,跟这个have serve to是同理啊,那像这块呢,大家理解一下就行啊,OK,那如果实在理解不了的话呢,那你就记住那这块这个用户应该改成谁。
17:05
应该改成启动have so库的那个用户对不对啊,把它记住就行了啊OK啊行,那现在呢,我们去呃修改一下,那此处呢,我需要将hi do给它改成have。改一下啊,这个大家千万别忘了改,那这个也是一样的。可能还有。来这个也改了,好,那这个改完之后呢,那我们再来看一下文档,那文档当中呢,还让我们去删除一个参数啊,那其实这个参数咱们早就该删了,那大家看这个参数是谁呀?什么hi do http static user等于等于at,还记得这个参数的作用啊,这个参数作用是不是这样的,那指的是我们打开这个外部页面的时候,我的这个默认的用户是谁对吧?那当然这个参数其实早就已经失效了啊,那之前就该删,那咱没删,现在把它删了啊,那现在把删掉啊,那现在我们找的这个用户那在哪,是不是应该是在这个位置啊,对吧,再给它删掉,因为我们现在已经不再需要这个静态用户了,对吧?我们需要自己去认证啊,好了,那现在呢,我们需要修改的这个参数,咱们就改完了啊,那总结一下啊,此处呢,我们一共需要去改动几处,首先第一处,那我们需要将这几个代理用户,他的这个用户名是不是都改成人都改成have对吧,这个要注意,其次呢,我们得把那个呃,静态用户那个参数给它删除啊就行了啊好,那这个关掉来shift关闭行,那完。
18:25
那我们看一下文档啊,文档它是这么去写的啊,他让我们先怎么样先删除这个参数,然后呢,把之前hi do的代理用户是不是也删除啊对吧,然后呢,再增加以下参数啊,那当然了,这个其实跟刚我刚跟刚才我们做的是一样的了啊,这个我不再多说了啊行,那改完之后千万别忘记干啥分发对吧?啊,别忘了分发啊来拿过来。好,把它分发之后呢,那我们的呃,HDS怎么做?HDFS是不是得重启一下才行啊,这个也别忘了啊,我们给它重启一下,好,那现在呢,我们先重启这个呃,Hts stop一下DMS完之后呢,雅安是不是也得重启一下,对吧?来stop雅安点SH别忘了啊好,那重新启动之后,那我们这个hive so two的这个科S相关的配置就算是诶成功了啊,那等一会儿我们的hi度集群重启之后,我们去启动一下hive s啊。
19:21
来XGPS一下,好,现在已经停了,对吧,停完之后我们再给它提起来啊,Start d FS点这个SH,然后回车,然后这边呢,我们再来一个这个start,这个牙点SH。稍微等一下啊。来,我们去访问一下它那个外部页面啊,那因为它刚启动的时候是不是有这个安全模式啊,对吧,那我们需要等它退出安全模式之后再去启动,还有多少度,要不然起不来啊,这个一定要注意。嗯。
20:00
好往下走,那还有20多秒,稍微等一下啊。还有十秒钟。行,我们稍微等会儿吧,啊,然后要注意一下啊,那等一会我们再启动have to或者是启动have ma store的时候,那大家需要注意一下啊,你应该用谁起啊,是不是得用have这个用户起对不对,咱们起应该是修do啊,然后杠I-U,然后have,还有so to,这是不是就是以have的身份去启动have so to啊对吧?那当然这个MAS store需不需要启,需不要起,需不需要启,这个得视大家自己的情况而定,能理解吧?啊,因为有的同学他自己配置了啊,我是不是有那个什么MAS到点uri那个参数啊,对吧?有这个参数是不是这个have的ma就得起,起完之后have才能用,那我这儿由于没有配那个参数,所以我的ma store是可以不起的啊,是这样的,但是你不管起不起,你起,如果要起,你就得注意你得用哪个用户起啊,是不是得用have这个用户起啊,这个别忘了啊啊,那现在这个应该已经呃退出安全模式了,我们现在把还S给它启动一下,哎,CTRLC看一下能不能正常的启动,哎,我们执行一个这个回车。
21:09
啊,稍微等一下啊,如果能启动成功,那就说明我们刚刚为债务配置的科四认证是正确的,再稍微等一下啊。稍等一下,现在一个财,咱们这说出现四个3ID是不是就算是正常的呀,对吧?啊,稍微等一下啊。好,那现在应该是没问题了吧,那have so库呢,应该就已经启动成功了,那那启动成功之后到底能不能连上呢?那我们一会儿再测啊,OK,那到现在呢,我们就完成了这个have的克罗S认证啊,相关的配置啊,总结一下啊,那此处呢,我们一共做了哪些工作呀?是不是首先为have准备了一个他自己的这个系统用户对吧?啊还有用户完之后呢,又创建了一个科户相的一个对应的主体对吧?那完之后呢,诶,是不是在have set这个文件当中增加了六个参数对不对,分别是have serve布的三个参数,还有这个ma star的三个参数,没错吧?那之后呢,哎,我们又去修改了一下hi杜op当中的Co set这个配置文件当中的谁呀?是不是代理用户相关的参数,对不对,把这配完了,配完之后,然后呢,分发重启还do宝,那我们这相当于配完了,咱们做的就是这些工作啊好,那我把视频停一下啊。
我来说两句