00:00
好,那现在我们看这个它的安装啊,这个press安装步骤呢,在官网上有非常详细的说明啊,还是打开这个它的文档,打文档之后点到这个第二节,呃,Installation对吧,那你点进来。呃呃,第一个呢,是这个deploying,这个pre是不是部署pre啊点开。这里边儿就是呃,它的各个配置,各个配置。呃,看起来是不是比较多呀,这个东西确实这个price的部署呢,要稍显繁琐一些啊,要稍显繁琐,稍显繁琐啊,里边有很多这个配置文件呀,包括很多路径需要我们自己去创建啊,它不像我们其他的一些那种阿帕奇的项目,对吧?那进来之后配置文件呀,啊,或者是那个路径是不是都是给你准备好的呀,对吧,你只需要进行修改就行了,他这边呢,需要我们创建很多路径啊,文件呀等等这些东西。啊,那所以说咱们就按照它这个要求来就行了,只不过你安装的时候呢,就细心一点就行,细心一点就行啊好,咱们就不看这了,全是英文是吧,咱们看呃,这个自己的这个文档啊,首先我们要想安装pre呢,需要先把它的安装包给他拿一下啊来安装包呢,就在我们的资料当中啊,现在快速拿一下这个dl pre p s po。
01:13
CD的好,拿下安装包。呃,找到这个位置,找到这个资料。这安装的时候大家一定得细点心啊,这里边步骤比较多啊,容易出问题啊,这呢有三个啊三个包对吧,咱们全传过来,这仨包分别是啥?解释一下,最下面那个,呃,Press server,这是它的服务端,那上面price c这是不是客户端,那在上面呢?啊,这是一个呃,一个可视化的一个项目啊,一个可视化的这个可以用来作为price的可视化客户端。可视化客户端啊好,那现在呢,我们把这仨包都拿过来啊,我们先把它的serve味部署好了,先部署serve味啊,我们把这个呃这诶把它这个press server先解压一下啊,踏杠ZSVF,然后呢,Preal server-C到OT走。
02:07
好,这个包也比较大啊,因为他是不是要对接很多数据源呀,对很多人是不是就得很多数据源的这个依赖呀,就是比较大啊,我们进到OPT Mo掉,好,那改一下这个名字pre,好,我们进到这个pre啊好,那进到pre之后呢,我们就需要进到pre之后呢,我们就需要按照这个文档啊,咱们一步一步的去做了啊好,我这边呃已经把名字改完了啊,然后呢,咱们接着走走,那相当于已经完成了第三步了,对吧?那这时候我们需要在普al的根目录下边呢,去创建两个文件夹,一个是date,一个是ETC,这个date呢,后来会用来存储什么呢?会用来来存储咱们的这个呃,这个日志,呃后边就是呃,这个运行过程当中是不是会打印一些日志啊对吧?日志会在这个路径下,还有这个临时数据也会在这个路径下边啊,是这样的啊,那这个ETC呢,用来存放我们所有的配置文件啊。
03:07
这个都是官网上要求我们去创建的啊,咱们建一下来make d date还得make drtc,好,那这个呢,咱们创建完毕,那接下来看下面干啥啊,接下来呢,我们需要进入到ETC里边啊,进到ETC里边去创建一个GVM.con这这不是对Java虚拟机的一个配置啊,对吧?好,那接下来我们进到ETC。好,那进来之后呢,把这个Jm.C给它创建出来,那这里边我们需要添加什么内容呢?诶把文档这个先粘过来啊,CTRLC都是呢,对,咱们加入虚拟机的一些这个参数的这个配置,一些参数的配置啊,那首先呢,我们看上面这个啊。这个应该能看懂吧,这是啥呀?是不是堆内存最大内存对吧,那下边这一大堆东西啊,都是带配什么的呢。主要配的是垃圾回收啊,你看啊,他们这个垃圾回收的这个,这个使用的那个,呃,垃圾回收的这个策略是什么呀?GGC啊,就是garbage first garbage collection啊,这个pre呢,这边他特意啊强调了这个垃圾回收啊,为什么特意强调垃圾回收呢?其实很好很好理解,因为price是干什么,是基于谁呀,基于内存进行计算的,对不对,那既然是基于内存进行计算,那所以说垃圾回收呢,对它这个性能哎,就显得就比较重要了,那price对这个垃圾回收机制呢,做了一个比较好的调整啊,做了一个比较好的优化啊,那所以这边呢,我们就得按照它的推荐去配置这个垃圾回收啊,当然这一大堆东西呢,也不是咱们自己写的,从哪拿过来的呢?官网上直接给咱们准备好了,你就打开网啊这个位置。
04:46
啊,这是他要求我们去做的这个GM啊,这个官网上都有详细的说明啊,咱们照他这个做就可以啊,好,这边大家记住啊,这边主要配的就是垃圾回收啊,好,那这个完之后呢,我们shift zz啊,这个保存,那接下来再往下走啊。
05:01
再往下呢,这边你看让我们创建啥,是不是让我创建这个catalog呀,对不对,Catalog叫什么来着。一个catalog是不是对应一个数据源啊,那咱们现在这个price,我们就让他去分析咱们自己那个have数仓里边的数据就行了啊,所以这边我们需要对接have数据源,对接have数据源我们是不是得需要给它配一个haveve的连接器啊,对吧?那这边怎么配啊?具体首先我们需要先在注意是在ETC这个路径下啊,先在ETC下边创建一个路径叫做catalog啊,那CTRLC拿过来呗。来在ETC下边make d catalog,然后呢,我们进到catalog啊,这里边我们就需要去配置各种各样的连接器了啊,假如说我现在呢,我需要对接have,那我就需要创建一个have.properties在这个文件里边去配置have的原数据地址,那如果说我要还想对接卡不卡,那这边还得写一个啥呀,卡不卡点proper吧,挨对接卡夫卡啊,是这样的啊,那这边咱们只对接have就行,那所以说在这边呢,我们需要先去。
06:02
CTRLC,哎,先创建一个have.properties里边呢,我们需要来两个。参数。看这俩参数分别是啥啊,大家自己往这复制粘贴的时候呢,不要忘了ni啊,不要问了na好,这俩分别是啥?看第一个这是什么,是不是联系的名字啊,对吧,这个名字呢,这个很简单,就是一个联一个一个数据源的名字嘛,但是这个名字呢,咱们不能随便写。就不能随便写,必须得写have had do2啊,那为什么叫have had2呢?这个二是啥意思?这个二。这个二感觉是不是有二肯定有一啊,对吧?啊给大家解释一下啊。大家解释一下,那咱们这个,呃,首先我对接的是have对吧,所以have应该能理解,那这个海二是什么意思呢。啊,按照大家常理来说,那是不是就是基于海DO2版本的have啊,对不对,是是是这么理解吧,啊,其实确实是这么理解的啊,那其实是这样的啊,之前有这个咱们这个还有海兔二的时候,那时候海兔三还没有出,没有出,那所以说当时是不是就只有海兔卫一和海兔二啊,对吧,那这个海度卫一海度二的区别是啥呀。
07:16
越是啥呀,嗯,首先架构变了,孩子一是不是咱们那个盐没有分离出来对不对,那除了这个之外呢,其实最重要的一个特点就是啥,就是my produce API变了啊,Map reduce API变了,那孩子唯一呢,呃,我那个所有的map reduce的API,那那个包都是什么包来着,都是map right点什么什么东西对吧?那到了二呢,都是啥,都是map reduce那个包下边的对吧?啊,这个API首先发生了这个变化啊,发生变化,那这个海度have海度二,这个其实相当于啥意思啊,是不是就是基于新的这个海度API的have啊对吧?那所以虽然咱们现在有三了,但是三的呃,那个map produce API呢,跟海图二还是一样的,还是一样的,所以这边呢,呃,咱们就还用这个have海二就行啊,而且这里边现在也没有海have海三啊,那咱们用它就可以了啊,所以这边呢,大家不要乱改啊,这个不能改啊,然后看下边这个参数。
08:11
下面这参数啥呀?have.ma到点UI,这是不是就是have原数据服务的地址啊,那刚才也说了,我们对接have,只要拿到它的原数据,就能够分析它里边的数据了啊好,那看一下这个地址。首先是rift协议,那咱们have的原数据服务,它提供的这个数据接口是不是就是rift协议呀,对吧?那这个很简单,那后边呢,主机名海度102端口号呢,默认就是9083,然后大家这个呢,需要去注意一下啊,这个主机名,尤其是啊,如果说你那边你的have呢,不是在海度102上的,是在其他节点,那你have那个原数据服务在哪起,这个是不是就得写哪个主机名啊啊这个注意就行了啊啊这个大家该改的需要改一下啊,我这不用改shift行,那对接的这个数据源咱们就拍完了,那接下来我们就可以诶往下一步进行了啊下边是啥分发price,那我们就分发一下。
09:04
Sy c copy model press。来,咱们出发啊。来分发比较慢啊。确实依赖太多了。好,分发完毕啊,分发完毕,那分完毕之后呢,咱们press server呢,并没有部署完,我们还有很多工作需要去做啊,别着急,好,那分发完之后呢,来看一下,我们需要在每个press它的ETC下边去配置一个noe属性,这个note属性怎么配置,配在哪,是不是配在一个叫做node.proper这样的文件当中啊,对吧,咱们照这个做,那这个文件当中,咱们其实主要配的是什么啊,其实主要就是配置就是。每个节点的一个ID。啊,主要配的就是每个节点的一个ID啊,为什么呀,你想想啊,咱普是不是搭配一个集群,在集群当中每台节点都应该有一个自己为ID,你像我们之前咱们学的什么s kper,咱们学的卡夫卡对不对?这些东西是不是每个呃主机上面都有一个自己的ID啊,那买S有什么MYID,卡夫卡有broker ID对吧?啊,一样的道理啊,那这边呢,我们需要给它创建一个node.id啊好,那我们现在把这个文件创建出来吧,CTRLC。
10:24
好,现在102里啊,这个在哪个路径下来着。是在ETC路径啊,这个还得推一下C点点,千万不要搞错了啊,在这边把这个文件创建出来,哎,摁一下I,那我现在呢,先把先把谁先把这样的三个属性粘过来。然后呢,来解释里边的这个内容啊。一个一看,先看第一个no.environment这是啥意思,是不是就是环境啊,对吧,环境我们可以配置production生产环境,也可配置测试环境,那这边我们就直接配生产环境就行啊,那接下来往下走,下边呢,是不是有一个no.ID啊no.ID呢,这有这么一大串是吧?呃,这个其实没有什么特殊的含义,这个完全就是从官网上粘过来的啊,诶官网。
11:09
官网是不是就这么配的呀,对不对,它就这么配的,所以咱直接拿过来的,但是这里边呢,它其实这个ID呢,在这儿支持什么呀,支持数字,支持运算符,支持咱们的这个字母啊,就是说你写什么都行啊,只要保证每台节点是不一样的就行,能理解吧,在这边咱们一大串一大串,这无所谓啊,然后往下走。这是note.data DR,这个date是不是就是刚才咱们自己创建的那个路径啊,对吧?这里边呢,后期会存储我们运行过程当中产生的日志,以及啊那个中间产生的临时数据啊好,那我们把这个路径给它配好就可以了,然后shift在Z那这个文件每一台节点都要有,是不是咱们直接给它分发就行了呀,哎,分发好,但是你要记得分发完之后需要怎么做,改一下那个ID对吧?啊opd module,然后呢,Press啊,进到这个ETC啊,VM,刚才咱们写那个no purpose,把这个后边给随便改一下,改成不一样的就行啊,Shift zz。
12:08
来,我们进到OPT model ETC啊,Vm not their proper shift。Save Dollar。按一下I啊,那这个呢,我们给它改成一个,比如说改成一个E吧,啊shift zz好修改完毕,那现在呢,每一个node呢,都有一个自己的ID了,那咱们配完了,那接下来还没完,还有一步啊,这个马上快了,大家再坚持一下啊。呃,那再往下呢,我们是要干什么,再往下呢,我们是啊,需要去指明咱们哪台节点是coordinator,哪台节点是worker了啊,因为咱们是不是得有一个ER,然后有多个得,得有一个pro,那个coordinator,然后有多个worker啊,对吧?那至于谁是worker,谁是coorinator怎么办呢?咱们得自己指定一下啊好,我们现在先在102上配置。来把这个打开。
13:00
在102里边呢,我们需要先去创建一个很fa.property文件吧,在哪,在ETC下边,你看啊,这个路径不要搞错了,进到102来,那咱们VM。啊,这个con purpose,然后我还是同样的道理啊,先粘出来,然后再给大家解释里边的东西啊。CTRLC。好拿过来拿这个我们直接看第一个属性,第一个属性是什么。Coordinator等于true,那这个是不是就在说明这台节点就是coordinator啊,这个很简单,那后边的两台节点呢,那咱们后续是不是都得设成等于false啊,啊是这样的啊,然后往下走,那下面呢,这儿呢是配了一些这个端口号相关的一些东西啊,比如说呃,咱们的这个哎扣奥林端口号8881啊这个比较简单,大家来看下边啊,下边呢,有一个qua瑞点max memory等于50个GB啊,50个GB,然后这个大家需要注意一下啊。这个50个GB呢,并不是说我们再去呃查询的时候呢,咱们这儿就一定会占用50个G啊,那这应该是什么,是最大是不是占用50个GB啊,对吧?那我们在这儿呢,也不用改它了,也不用改它了,我们这因为什么呀,因为啥,因为因为咱们现在是不是没有这么大数据量了,所以用不了这么多数据啊,这用不了这么内存,所以说你直接配就行啊,然后这边大家要知道,我们以后在工作的时候,咱们要配这种内存的时候,你怎么配呀。
14:24
这怎么办呀,这你就得根据你的服务器的资源去配对吧,那咱假如说我们的一台服务器,128G的内存,然后呢,这台服务器上面如果说没有署其他的任何的任务啊,没有部署其他任何的这个服务啊,服务啊只有谁只有。那这时候你是不是可以把绝大多数内存都交给他,让他去计算呀,对吧?比如说我就可以给他配100个G啊,但是我们通常情况下,咱们一个集群当中,我们一台节点不会只部署一个服务的,对不对?那通常我这里边可能还会部署其他使用内存的,比如说呀,And notde manager h base的region server,你像他们这这些服务是不是都会比较耗费内存呀,对不对,那他们都会占用一定的内存,那这时候你再去给pre配内存的时候呢?你是不是就得考虑到诶这个内存的使用情况啊,对吧?比如说雅安呢,我最多能够拿80个G啊,那我这个呃,H space re so呢,最多拿16个G,那他俩是不是已经占了这么多了呀?那这个我就不能再给太多了,能理解吧,这个需要去注意一下啊好,那这边就是咱们这个最大内存。
15:29
聊完之后再往下。这还俩参数,这俩参数呢,其实也也是比较重要的啊,一个叫做discovery server,点什么enable,对吧,一个叫做discovery.uri诶这个是什么东西,这个discover server好像也是一个服务,对不对?Server嘛,对吧,也是一个服务,那前面讲了啊,Presal它的服务端一共俩角色,一个叫做worker,一个叫做coordinator,对吧?啊,那这个是coordinator,那这个呢是worker啊,那其实这里边我们还有一个服务。
16:04
啊,还有一个服务,那这个服务叫什么呢?就叫做disc discovery server,这个disc discovery server呢,它其实是coordinator里边一个内置的一个服务啊,你可以发现啊,它俩是不是共用的都是一个端口号啊,对不对,这个端口号咱配的是不是coordinator端口号,那这边这个discovery server的地址是不是也用的8881,那其实他俩相当于是共用同一个账号号啊discovery server呢,是Co orator的一个内置的服务,那接下来说一下这个内置服务干什么用的啊,其实很简单。啊,他干什么用的呀。就是干这个事儿的啊,你想一想啊,我们的q on leader要干啥?是不是要接收客文请求,然后呢,解析任务,把任务是不是要下发到worker当中去执行啊,对吧?那你要给他分任务的时候,你想一想,你是不是必须得知道每一个worker他的健康状态,你才能给他分任务,你得找一个最健康的最空闲的worker去跑现在的任务吧,对不对?那coordinator是怎么知道每个worker的健康状态的呢?
17:02
其实就是通过这个discovery server啊,那我们press在启动的时候呢,所有的worker会向discovery server呢进行注册,呃,并保持心跳,在心跳的过程呢,会不断汇报自己的这个状况啊,那这样一来discovery server是不是掌握了所有worker的状况,那coordinator呢,可以通过discovery server去获取这些状况,然后就能更好的分配任务了,是这样的啊,那所以说这边呢,我们需要将这个y serve开启,并且指明一个地址啊,那既然咱们这儿指明的是这个位置,那一会儿我们103104,那他们是不是得知道。Discovery在哪才行?对不对,你要不知道的话,我怎么向你注册,怎么向你心跳呢?对吧?啊,这个得注意啊,好,那这就是102这个参数行,那同样的参数我们需要在103104里边也去配一下,那当然咱们这个配置文件的名字也是一样的啊,也叫做con.parties也在ETC下边配置啊,啊那这里边的内容是啥?我们来粘一下来看103104的啊,CTRLC。
18:05
来大家来看一下能不能看懂啊,首先第一个参数是不是等于false,那它就是worker了啊,端口号也是8881啊,那接看下边这内存一样的,你看这个地方是不是告诉他了我们disc discovero的地址是哪儿啊,对吧,他就能跟他汇报进行注册了啊啊那同样的道理,我们需要在104也创建一个这样的文件啊,那103104它来这个文件以及内容是不是都样是一样的呀,来来,我们把这个打开,那内容是一样的啊,咱们也从这粘一下吧,CTRLC。放在这好,那这个参数配完好了,那到现在为止呢,我们这个呃,Price of server所有的这个配置文件就结束了啊,终于配完了啊,这个比较繁琐啊,那比较繁琐完之后,咱配完之后呢,我们启动一下,咱们尝试启动一下啊,那怎么启动啊,来看文档。因为咱们这个press server呢,咱们是不是要对接have的数据源对吧?对接have数据源咱们需要怎么做,是不是要需要启动have的原数据服务啊,对吧?那所以咱们现在呢,需要先去启动have的原数据服务,启动完这个原数据服务之后呢,我们再去启动preal啊,啊,那要不然的数据数据源呢,你是对接不上的啊好,然后呢,大家要注意了,在启动preo之前,我们需要将。
19:15
咱们那些无关的进程全部关闭,因为有的同学可能是挂起啊,像我这就是挂起无关的进程全部关闭,我们只保留谁就够了,只保留海度不就行了,因为这个press启动之后呢,这个内存占用是比较大的啊,如果说你这个前面的内存那个进程不关,那可能起不来啊,那所我们现在需要先将先将谁关掉,先咱们那个呃呃,麒麟先关掉,咱们得是不是有依赖关系的呀,对吧,咱们先关麒麟,再关h bases,再关组开啊来咱们一个一个关啊,CD到OPT module,然后king,然后BK0.shstop先停。嗯。好,这个停掉了对吧,那完之后呢,我们再去停h base h base有环境变量啊,直接死到h base就行啊,那等着就行了,Base停的话呢,呃,会一直打印一个小点是吧,咱们多等一会儿啊。
20:05
嗯。还是到这个位置啊,估计就是等会儿吧啊。好完事了啊,那他也完了,完了之后呢,我们就可以去关闭关闭组K了啊,那Zk.SH啊,然后呢,Stop。啊,停止。好,那查一下进程,现在是不是集训当中只剩下了海杜了啊,海杜列史服务器没停是吧?列史服器也可以停一下啊,那这个其实也用不到了,那就map map right,然后呢,杠杠这个DEMO daemon啊,然后呢,Stop history so,没错。好,那现在呢,相当于哎已经只剩下海子不进程了,海子物就不能关了啊,为什么它不能关呀,用have不要用它呀,用press分析是不是得分析H加数据啊对吧,所以说那是不能关的啊啊那这时候我们再去启动哎,咱们那个have的语言数据服务对吧?比率服务怎么写这有命令啊,这儿命令,当然这个命令呢,它启动之后呢,是在是不是组在前台啊,你要想退到后台,然后你可以用no harb是不是加他呀,对吧?这个大家应该都都明白了,这个我为了方便查看日志啊,我就不加那个no ho了啊,不加追加到黑洞了,我就直接在这。
21:20
来,走。啊,那现在呢,原数据服务就已经这个,呃,启动了,已经启动了啊,那这时候我们启动普server,让大家要注意啊,这个pre server启动的时候呢,也是没有这个群起脚本的,没有群起脚本,那没有的话,那咱们就得。怎么叫单点启对吧?那单点起怎么启呢?看一下两种启动方式啊,那一种方式呢,叫做laer,这是它那个入口啊laer,然后再传一个参数叫做run,那还有一种启动方式就是launchr加一个start,那这俩有什么区别呢?这个是前台启动控制台显示日志,那如果说你要想想去这个查看有没有报错呀等等,是不是这么启动是比较方便的呀,对吧?然后还有一种方式是后台启动。
22:04
啊,后台启动就退到后台,然后日志去哪呢?日志在这个路径,注意是在op model press data VAR log下边,这是它那个路径的日志啊,不是路径是是日志的路径啊,日志路径啊,这个我们大家需要呃了解,那那现在呢,我们就通过下边这种方式洗吧,那没有群体脚本,但是我们有一个是不是通用的群体脚本,咱们有谁是不是有一个SCO啊,对吧,咱们用它就行啊,我们用绝对路径OPT module,然后呢,Presal bin locker,然后这个如果说你要想用这种方式去起的话,那你说你还能用run吗?你还那么乱吗?能吗?不能了,为什么呀,因为这个run会怎么做,是不是直接阻塞在前台了呀,那也就是你起102的时候,是不是就已经阻塞住了,那阻塞住了103,它还会还能执行到吗?执行不到了,因为里边是一个负循环,对吧,我第一轮循环就阻塞了,那第二轮第三轮是不完就执行不到了呀,对吧?那所以你要想通过它启动呢,只能使用谁只能使那了,能理解吧,来,我们举起。
23:06
好,那接下来呢,我们看一下啊,看进程。来大家看一下,我们这里边呢,是不是就多了这样的几个进程啊,一个是preal server啊,一个是preal server,还有一个呢是press server啊,那虽然都叫server啊,但是大家都知道102咱们是cooritator,三和四呢是哎worker啊啊,那现在我们这个press已经启动完毕了,但是你要注意这仅仅是什么启动完毕了,仅仅是服务端,那咱们现在能查里边的数据吗?能用它去分析吗?不行,为啥没有客户端呀,对吧?啊,那所以说我们还得再装一个客户端啊,视频我先录一下。
我来说两句