00:00
好,那的安装呢,我们分为这样的两部分,两部分一部分呢是呃,这个server的安装,Server就是它的这个,呃服务端,那server呢,其实在这个press当中,我们有这样的两个server,那个coordinator,那个worker,他俩都是这个server,都属于server啊,那有server还有什么,还有客户端。对吧,那我们这有俩客户端。一个是一个命令行的,一个是一个可视化的,可视化的客户端呢,有一个外部页面就是这样啊好,那现在咱们去,呃,先把server部署一下啊。然后在这个部署server之前呢,呃,以及在这个,尤其是在这个启动咱们presso之前呢,要求大家诶要把咱们集群当中这个无关的进程先全部都关掉啊,无关的进程先全部都关掉,那当然这里边我们一会肯定会去用到这个,呃,肯定会用到谁啊,肯定会用到咱们的这个have的,呃,那也就是说咱们得先把这个谁提起来啊,先把这个海杜op提起来。呃,其他的你像我们上午学的什么麒麟啊,那个什么Z那些东西都给它关掉,要不然的话你这个集群资源就不够了,因为咱这个pre呢,是基于这个内存运算的,它需要的这个什么东西呢,它需要的这个呃,内存是比较多的,所以说大家要把那些没用的东西给它清掉啊,给它清掉。
01:17
又是个大宝贝,好了,那现在咱们继续往下进行,往下进行。来看这个位置,呃,那press咱们安装的时候呢,咱们那个看看这个步骤啊,首先是官网地址下边呢,这是呃下载地址,这个下载就行,那完事之后呢,我们这个我已经提前下好了啊,那现在咱们先给他解压,解压完之后呢,呃,咱们去这个给他进行这个呃部署。CD到OPT,然后这个software。进到。行,那这个是咱们server,那上边这个加这个,这是它的客户端,一会咱再装啊,先先装server。
02:00
杠ZXVF,然后server,然后杠c model。已经检验完毕了,完事之后呢,我们进到OPT这个model。L,那这个pre在哪呢?在这啊在哪我找一下pre,诶在这呢是吧,那我们给他改个名字啊,呃,Ma就叫做pre得了啊,后边东西全去掉。Perto,好,那现在进到这里边,我们需要去给它配置一些东西啊,这里边东西还比较多的,咱们照着文档,咱装的时候要细心一些啊,首先需要进到press的根目录去创建一个date路径,这个date是干什么用的呢?是用来存储咱这个呢,它的这个中间的一些那个临时数据的,哎,需要在这给它创建出来,那pre这个date创建完之后呢,下边还有一个这个ETC,在ETC当中呢,我们需要去,嗯,给它往里边存放什么呀?存放咱们这个price的各种配置,包括咱们这个GVM的配置,包括这个我们的这个那个数据源的配置,就那个catalog的配置等等,都要在这个ETC下边去配啊。好,两个路径建完之后呢,接下来咱们往下看。
03:18
接下来我们进到ETC里边,我们去给它配置一个这个JVM点那JM就咱那个加虚拟机对吧,那来我们复制一下啊。在这个ETC里边不要这个,呃,建错地方啊,ETC在这,那把这个文件呢,给它建出来。Vim。I,然后这边呢,看看这个配置的什么东西啊,那首先这个这个最大最大的这个呃,内存16G对吧,那这一块呢,我们主要配的是啥?主要配的其实是关于这个垃圾回收,诶它的这个回收策略,垃圾回收策略,那presal呢,它因为它是基于这个内存运算对不对,所以说它对这个内存的这个垃圾回收呢,其实它做了非常非常好的这个优化。
04:02
非常好的优化啊,也就是说呃,这边我们这个配置呢,需要按照它官网上要求我们去配,那这边它采用的这个垃圾回收机制是谁呢?是这个是garbage first garbage纸collection,就是g ec,这是咱们一个这个垃圾回收机制,垃圾回收机制其实挺多的啊,那用的是这种,那后边这个东西呢,我们照着它的要求去配就可以了啊,这些东西在官网上呢,应该都是有的,那CTRLC我们复制下来,然后呢,放到呃,咱们这个GVM.c当中,然后呃,Shift zz。好,那这个配完之后呢,我们接下来看看还有没有其他需要配的啊嗯,好,那他玩之后呢,再往下我们就需要去配置这个press的数据源了,那输入源每个数据源是不是都要一个catalog呀,对不对,那现在咱们去给他配置这个catalog,那catalog也要在ETC这个路径下边去配啊,也要在ETC下边去配来复制。拿拿到这个呃,ETC下边make d,然后这个catalog,然后呢,我们LL接下来进入到这个catalog啊好在catalog当中呢,我们来看一下,咱们需要去呃,在这个catalog当中呢,去诶创建一个这样的have.proper。
05:13
那这个have properties是什么?这就是我们那个catalog数据源当中的那个那个connect那个连接器,对不对,也就是说我们需要通过它去配置啊,那我们现在对接的就是have数据源,好,那在这里边创建出来,然后按一下I,呃,这里边我们需要给它这个加入什么东西呢?两行。这两行,大家仔细看一下,这两行分别是什么?呃,来来看一下,首先第一行有一个这个connect.name大家要注意啊,这个name这边你不能随便写,这是不不是这个随便写的,不是说我有的同学,就是根据上个班啊,上班有同学啊,就是我因为什么我这是海图102对吧,那OK,他就以为我这就是海海图波二了,他那可能是海图105,他就写的海图波五。不是这么回事啊,这个海doop集指的是什么?指的是咱们这个集群当中,你的海杜op的版本是多少,咱们是二对不对?之前是不是有海杜OP1,现在是不是已经到三了,对吧?那这个指的是海oop的版本,Have海do和二,诶这个大家要记住啊,这个不要乱写好,那他完之后呢,下边这个要注意。
06:17
大家要注意,have.might store.uri。那这个是什么?还还记得吗?这是不是咱们那个have的,呃,原数据服务的那个urid那个地址啊,对不对,那这个have原数据服务它的地址是什么?这个协议是什么协是这个thrift的协议,THFT协议啊,就是一种传输数据的协议,我们简单了解一下,然后后边这个海幺零二指的是咱们haveve原数据服务所启动那个那个地址那节点,然后9083是have原数据服务默认端口号9083,是这样的啊,那一会儿咱们pre要想去对接have的这个数据的话,那需要我们干什么?是不是需要大家先得启动have的原数据服务啊,你才能获得到它的源数据。这个大家得记住啊好,那配完这个东西,我们这个P的have的数据源其实就配完了,这些还是比较简单的,那接下来咱们去给它诶分发一下这个P啊xyd mole来回车。
07:14
好,那分发完之后呢,我们一会儿还得再给每一台节点上面的这个preto呢,都得去给它配置一个,这个什么东西呢,都得去给他配置一个,呃,那个他独单独的一个ID都得去给,给每一个节点都得配一个单独的ID样,就像谁一样,就像我们那个组开一样,或者是那个卡不卡一样,是不是每一个节点都有一个自己唯一的ID啊,那这边呢也不例外,我们也要去配这个东西啊。那现在呢,我们继续往下走,接下来我们来到第九步,那现在你看这个位置需要我们去给每一台这个press server呢都去配一个node ID,就是它节点的ID,那这个配的时候需要在哪去配啊,也是要在这个ETC的路径下边去配,文件的名字叫什么?叫做node.properties。
08:02
复制一下。然后我们是一点点。注意这个路径这块呢,一会进一会出,大家不要搞错了啊,是在ETC下边。那现在呢,我们看需要给它往里放什么东西。来一用这样的三行啊,粘出来之后呢,再给大家解释。OK,那先看咱这个第一个no.environment这什么意思,就是你那个生产环那个那个环境,就咱们那个基因环境什么,你要是生产环境呢,你这块就写这个production生产,你要是测试环境呢,你就写测试环境。是这样的啊,那咱们这呢,以后大家要是生产环境,你就直接写生产环境就行,那测试环境呢,你也可以写这个生产环境啊,你就你给他写上就行就行了,好,那他完之后呢,我们看下边,下边呢有一个这个noe.id这个其实是比较关键的。呃,这边呢,你看他虽然写了一大串啊,但其实没有必要写这么多,就是大家这时候写的时候呢,可以写字母,可以写数字,也可以写这个运算符号,呃,写都可以,但是你只要保证三台都不一样就行,都不一样就行,那这边一大串咱距离一大串也不用改了,给留着就行啊,那下边这呢,有一个node.date DR,就是这个中间那个数据的存储路径,咱们刚才不是建了一个date吗?那就用这个路径就行了。
09:14
OK shift zz好,那他完之后呢,我们需要把这个文件呢,给它分发一下,咱们就不一个一个创建了,咱们分发弄点走。好,那分发完之后呢,我们需要去把103104的这个not点是不是得给它改一下啊,来进到S,那接下来进到这个ETC vm no点,那咱们把这个东西呢,给它改一下就行了,比如说把最后一字母呢,给它改成d shift CZ啊,那这个呢,CD到opd Mo,然后来一个ETCVM,呃,note.pro。好,那shift Dollar。来到这个末尾,好把这个呢给它改成,比如改成E,只要保证三台不一样就行,行,那OK,我们已经给每个节点都加了一个这个,呃,自己的这个ID了,对不对,那在完事之后呢,下边我们还有一件事要干什么事呢?因为咱们press呢,我们的so有俩角色,一个是coordinator,一个是worker,那我们现在还不知道谁是worker,谁是coordinator,对不对,那所以我们现在要做的事就是去指明这个东西。
10:16
去指明一下啊,这个指明的时候,呃,业务需要我们去创建一个新的文件了,需要在ETC下边呢,再去创建一个点proper。这个文件比较多啊,大家一定要细心啊,来在ETC下边有一个con,按一下I,那这里边咱需要加入什么东西呢?往下走。这一串儿。CTRC,那粘上来之后,我给大家解释啊,先看这个第一个属性,诶这个属性其实一看就明白了,是否是Co oninator,如果是的话就设成true,然后否则的话呢,就是false,那我们规划就是以102作为Co or3和四作为这个worker,三和四作为ER啊,那这样一来,那咱这边是不是就是它是成true,那一会三和四就生成false啊。
11:00
这么去配置就行,好,那下边的是这个一些这个呃,端口号的一些配置,8881,咱们这个得记住啊,一会会用到这个端口号,这是这个coordinator的这个端口号啊,然后再往下下边这个位置大家来看一下。嗯,这个有一个这个query max memory,就是说我们这个查询的时候,我们这能使用的最大的内存是多少,能使用最大内存多少,最大内存在样呢,诶是这个50G,诶50G那这这块呢,大家要注意了啊,就是咱这个50G,你是怎么去这个配置的,怎么去配置,如果说咱们这个,呃,我们是一个谁给pres是单独部署的一个集群。就是press是单独的一个集群,也就是咱们这个集群上边每个节点上只有press server,没有别的服务,那OK,你就可以把这个节点上边绝大多数的内存都给他,都给他,比如说我是128G的,比如说我是64的吧,64的节点,那OK,你可以给他50个G,没问题,你要是一一百二十八的呢?诶你甚至可以给他100都是可以的,这都是可以的啊,那如果说这是我说的什么是单纯的一个这个pre集群。
12:05
那如果说你的pre跟你的其他的服务部署在相同的集群上,那比如说在这个同一个节点上,我这里边比如说又部署了H的region server,又部署了这个server对不对?那H其实region server也是比较耗内存的,它有两个内存组件,一个一个这个block,对吧,那也是比较耗内存的。那也就是说你这时候你就得考虑到给其他这个角色,给其他服务也得预留出来内存才可以,那这时候你就不能把内存全部都给pre,那这样一来会出现问题的啊好,这给给内存的时候,大家要留意一个事,就是说你看你这个呃。节点上边是否有其他的这个服务,是否有其他服务,好那这边咱们就写50就行,当然我这个资源肯定没有50,你写上也没事,因为我们一会查的时候用不了这么多,这是最大内存啊,最大内存好那下边还有俩东西,这东西可能大家就不熟悉了啊,这块有一什么东西,Discovery server enable的,就是是否开启这个什么所谓的discovery server是否开启它,那这个东西其实干什么用的啊,给大家解释一下。
13:07
呃,我们刚才分析过了啊,Press当中呢,我们其实是有这样的,嗯,两个角色的两个角色,一个是呃,Coordinator,一个是worker,对吧,咱们只讲了这俩角色,但其实这边啊,我们其实还有一个角色,叫做第一次carry server。它是干什么用的啊,其实它是一个,诶,它是专门用来干什么的呢?专门用来和worker进行这个通讯的一个这样的一个服务。大家想想啊,我们coordinator它的作用是什么?它作用是接收用户请求,然后把请求解析成计算任务,然后分配给我们后边的worker去执行,对不对?那你说coordinator去给他们分任务的时候,他得怎么分,是不是得得得,他得知道哪个worker是健康的,哪个work是不健康的,他得知道哪个work资源充足,哪个资源枯竭了,对不对?他得知道这些情况,然后才能做更好的分配。对吧,那这个discovery它是干什么用的呢?是这样的,当我们的worker启动之后呢,它会向discovery serve进行注册。
14:07
进行注册,然后呢,会跟discovery呢保持通讯。会跟他保持通讯,那这个discovery server呢,就是说他呃,接入到这些这个这个请求之后呢,他就能够呃实时的去掌握咱们这个worker的状态,对吧,那coordinator呢,就能够从discovery so里面去获取每个worker的状态了,然后这个任务呢,才能更好的分配下去。这是它的这个作用啊,那这边你给它设成处设置处,那设置处之后呢,嗯,那也就是我们开启它了,开启它之后呢,你要给它赋予一个地址,比如咱们这个discovery sorry.uii你得给他赋一个地址,为什么呢?因为一会worker啊,你是不是得去找他注册才行啊,对不对,你得告诉他才行,那也也就说我们一会得在104 1103 104上面得去告诉他们,诶你那个discovery so的地址是什么?诶也是需要把这个地址告诉三和四,那一会咱们去给他配上就可以了,那他俩启动就会去这个地方进行注册了。
15:00
就这样的一个东西啊好,那它完之后呢,我们关掉,接下来再看104104103104啊,那三和四上面呢,我们也需要有一个这样的con.properties只不过那个属性呢,就不是完全一样的了,来复制一下。放到这个位置,好,我们来看看啊,这边有一个con点来打开,那这里边的内容呢,呃,粘一下吧,基本上就一样了啊,CTRLC。各位大家来看一下,那首先第一个属性就是说是否是COO0,不是那设成false对不对,那端口号也是8881,最大内存50个G,那这个地方看是不是需要把102那个discover serve的地址告诉他呀,那一会103就可以去那边去注册了。就这样一个东西啊好,那104呢,需要跟103做相同的配置,需要跟103做相同的配置啊,那这边呢,我们就直接把103这个呢,给它拷贝到104就行了。注意也得在这个ETC下边,那我拷贝一下,拷贝咱们可以用这个IP对不对,海度吧,D10呃三,然后冒号应该是在op p mole这个ETC下边,是不是有一个这样的一个文件啊,那咱们回车到点杠。
16:10
嗯,回车走。然后输密码啊yes,因为没有配免密1234566个零。好,那现在这个文件是不是已经拿过来了呀,No点那这个con.profit一模一样啊这俩好,那到现在为止呢,我们这个呃基本上就有这个配置完毕了,就配置完毕了,那再往下呢,呃就是去呃启动咱们这个price了,那这个东西咱们呃单录一个视频,我先把视频录下啊。
我来说两句