00:00
好,各位同学,那接下来呢,我们就开始这个麒麟的安装了啊,这个麒麟的安装那其实相对来说比较简单啊,我们要做的呢,主要就是一个,呃,下载安装包,然后解压,解压之后理论上就可以用了,那当然呢,你可以用的前提是你得做足充分的准备工作,那我们具体要做哪些准备工作呢?那首先我们得分析一下啊,我们从麒麟的这个架构上能够看到麒麟它依赖的组件还是比较多的,对吧?那麒麟都依赖于谁啊?首先hio是必须得有,就是为啥,因为它是不是得得干啥得得得是不是得使用hiop体系去进行相应的计算呀,对吧?啊海豆或者是SPA啊,那还有这个是不是还得有have,你have得能用,我是不是才能读have的数据啊,这一个have北啊,还有h base对吧,那因为它要把结果存到h base里边啊,是这样的啊,那当然h base它还依赖于什么框架。是不是组配啊,对吧,那所以说我们在搭建麒麟之前,需要确保我们的集群当中这些组件都是能够正常使用的啊,这个一定要注意一下啊,是这样的啊好,那即便我们现在把这些框架都给他装好了啊,都能够用了,那麒麟就能够找到他所需要的依赖了吗?
01:07
理论上是不行的,对吧,那你看我们之前,比如说我们举个例子啊,之前咱们在装,比如说装卡不卡的时候,你装卡不卡的时候,你是不是需要在卡不卡的配置文件当中,比如说写一个什么组K的地址对不对,你装H贝的时候啊,是不是还得需要用到一些这个什么海度的配置啊,对吧?等等等等,诶那为什么麒麟这边他就不需要我们去做这些相关的配置了呢?诶,给大家举个例子啊,给给大家说明一下,说明一下啊,那实际上麒麟是如何加载到它所需要的依赖的呢?它不是通过这些配置文件,它通过什么呢?通过环境变量。啊,那我们需要把麒麟所依赖的这些工具啊,都给它配置一个环境变量啊,比如说hi home hi home hb头等等都需要配上啊,OK,那麒麟是如何去使用这些环境变量的呢?诶,在麒麟的启动脚本当中,它的启动脚本就是一个山药脚本啊,它会在这个山药脚本当中呢,去根据这些环境变量以及里边的相对路径去找到它所需要的这个配置文件,以及所需要的炸包等等等等,OK,那找到之后呢,那那是不是就能够正常的使用了呀,对吧?啊是这样的啊,所以说我们现在要做的准备工作一共要有两个,第一个确保它所依赖的组件是能够呃正常使用的,那再有一个呢,确保这些环境变都给它正确的配置好了,OK,那现在呢,咱们就开始做这个准备工作啊呃,我们先看第一个准备工作,我们需要先提前部署好highloop,还有组黑板h base,那这里边是不是除了h base,我们大家肯定都已经装好了,对吧?啊,当然有部分同学他可能h base也已经装好了。
02:41
对吧,因为有些同学可能之前在学h base的时候呢,就是在我们那个采集项目的集群上面去学的,对吧?诶如果你之前已经装好了啊,那这次呢,你就不用再安装了,那当然你得确保啊,得确保什么,确保你之前装那个P现在还能用,你不能有问题了,那那那就不不行了啊,你得去检查一下能不能用啊,OK,那我这儿呢啊,还有大部分同学应该是没有装的,没装的话,我们现在呢,就先把HP安装一下,那当然安装HP在这是不是有一个HP文档啊,对吧,怎么给他搭配,照着这个去装一下就行啊来我给他调整一下,那现在咱们开始安装,那要安装hpa,首先咱是不是得先拿到h base的安装包嘛,对吧,那我先CD的OT software,那在这儿呢,我们也可以跟电写一个h base,然后CD到这个h base。
03:25
好,那现在呢,我们传一下H位置的安装包来,我使用这个工具传一下啊。好,那现在我们找到此电脑,找到这个D盘找到。找他出去仓库。找到我们的资料啊,资料里边是不是就有一个这个呃,HP的这个目录啊,对吧?啊,咱们点开,点开之后呢,把这个安包转过来,大家安装的版本应该都是2.0.5版本的吧,应该是没问题的啊啊那同时我们现在把这个麒麟的这个呃安装包也给它传上来啊来我在这儿呢,新建一个文件夹,这个应该是KYLA对吧?K点好,那现在我推一下找到麒麟那双包是不是在这儿呢?对吧?那麒麟那双包大家注意观察,一共有几个。
04:07
是不是有两个呀,对吧,哎,完了我抽错地方了啊,没进到七点一会我们俩移进去吧。那为什么是两个安装班呢?给大家解释一下啊,这两个安装班其中有一个是麒麟的,那另一个是啥?另一个是不是叫做zip啊,对吧?这个zip是啥?给大家解释一下,这个ZLY呢,是一个BI分析工具,BI分析工具啊,那这个BI分工具呢,它就能够跟起麟做集成,那在这呢,我们就是以它为例给大家去演示一下,我们看看到底这些BI工具是如何跟麒麟进行集成的啊,并且演示一下这个所谓的BI分析到底是怎样的一个过程啊,一会儿咱们看一下就可以了啊啊,那现在呢,我把这两个安装包呢给它,呃,移动一下,移动到那个麒麟的目录里边啊,OK,行,那现在呢,我们所需要的安装包就全部拿到了,那当然我们现在要做的首要工作就是安装h base啊,那首先我们先给它解压一下啊杠ZS,呃呃ZXVF,然后拿拿把它这个安装膜拿过来,然后检压一下,检压到哪,是不是检压到这个,呃OPT啊,然后这个猫就下面了,对吧?哎,咱们回车。
05:11
完了之后呢,我们进到OT啊这个model,那之后呢,我们需要怎么做,是不是需要改个名字啊,对吧?来咱们MV一下啊h base,然后改成h base,把后面这个呃版本号给它去掉好,那改完名之后,我们接下来是不是就可以进入到这个h base里边了,那进来之后呢,咱们需要做一些特定的修改啊来L,那咱们主要修改的是哪个文件呀?是不是应该是有有三个文件嘛,对吧,咱们主要看一下啊,我们打开文档啊,来我们往下走啊,这个从1.4开始,是不是就是咱们改配置文件的步骤了,对吧?我们看第一个是那这里H数。对,咱们看一下啊,看一下怎么说的啊,咱们打开这个文件,然后找到跟ZK相关的参数来,是不是就这个参数对不对,其实人家上面告诉你的这个参数作用了,对吧,怎么说他说他有HP,告诉h base,是否他应该去管理一个自己的组keepper实力对不对,那也就是他其实自己,如果说你这个摄影处他会自己起个H对吧,是不是跟我们集群里边的冲突啊,对吧?所以通常情况下呢,这个我们让他使用公用的H就可以了,所以把这个设为false,好,那这个完之后下一个。
06:27
那再往下呢,我们需要修改的是h base set这个文件,在这个文件当中呢,我们需要加上以下的三个参数,二来CTRLC我先拿回来,然后再给大家解释啊,我先看第一个h bases赛法完之后呢,来到最底下来找到这个位置来,咱们回车,然后再给它粘一下。啊,大家一起来看一下这三个参数分别是啥?先看第一个这是啥。H base.root d这是不是指了一个HDFS上面的文件路径对不对?这个路径还记得是干啥的吗?
07:00
这很简单,其实大家都知道h base这张表的数据最终会存在哪,是不是存在这个h.S上对不对,那所以说是不是得有一个路径啊,对吧?那这个路径就是h base存储数据的根路径啊,那大家在改这个参数的时候呢,需要根据自己的实际情况去修改一下主机名以及端口号,千万别忘了啊,跟一致啊,然后再往下这个么点意是否集对不对,那肯定是分布式的呀,所以设为处就可以了,然后再往下走。这看出啥?是不是h base点组qua也是组keep的集群地址对吧?然后大家一定一定要注意此处我们只需要写谁主机名端口号用写吗?不用端口号,是不是它有另外的一个参数啊对吧?另外一个参数是配置端口号的,那另外一个参数它默认值是多少呢?是不就是2181对吧?所以另外一个参数我们在这儿就不需要去配置配置了啊这块来家理解一下啊,我们只需要配置这三个核心参数就可以了,那紧接着我们往下走,那再往下我们还需要改一个文件啊,就是这个region service啊来改一下region service。
08:07
来,我们打开这个,呃,Region service啊,OK,那这个呢,我们给它修改一下啊,那这里边我们需要改成啥,是不是需要改成呃,Adop hido102啊,然后呢,还有这个HIO103,然后HIO1010几是104啊对吧?诶,那这三个都给你配好啊好了,那到目前为止我们需要修改的三个参数,呃三个文件就全改完了,那接下来干啥?接下来这个文档的要求是不是还需要去软链接一个海多的配置文件到H啊对不对?那大家说这一步我们能不能跳过?能啊,什么情况下可以跳过,什么时候不能跳过?怎么成啊?给大家解释一下啊,只有当我们的集群当中配置了hiop home这个环境变量的时候,这一波我们才能跳过啊,那也就是h base,它的启动脚本当中会有一段这样的逻辑啊,什么逻辑?它会先去判断咱当前的环境当中有没有home这个环境变量,如果有那它就会怎么样啊,是不是根据这个high home的相对路径去寻找它所需要的这两个配置文件对不对,如果没有,没有的话,呃,那那是不是再从他自己的这个康流去下载对吧?是这样一个逻辑了,那当然我们现在有有是不是咱就不用给他往里边放了呀,这个理解就行了啊好了,那这会咱们跳过,跳过之后是不是就可以分发了来XNC,然后OPT这个model,然后这个H。
09:27
好,那分发完之后,咱接下来可以干啥,是不是就可以准备启动了,对吧?在启动H集群之前,我们一定得注意两个点,第一个点得保证啥。组keep得起来对吧?因为HP是依赖于ZK的,对吧?那当然不只有ZK啊,那还依赖于谁呀?是不是hiloop也依赖啊对吧?那所以说highop我们也得提起来啊,那现在呢,我检查一下我的进程,我这算发完了啊SGPS,我现在这是不是只有这个high loop的进程啊,对吧?然后这呢,是不是还有一个run,这个run这应该是谁呀?这个其实有时候大家不知道这个runner到底谁,因为你什么have s什么这个呃,还有什么这个的客户端,还有什么这个时不都是都是软都是软啊对吧?那我想知道他是谁怎么看。
10:09
对,你可以执行一个GPS-ML,这个能够查看这个进程的详细信息,你看一下。这个是谁?这个不是不是run,这后边是不是它那个炸包,这是那个全利名,这就啥还布呗,对吧,那所以说现在呢,我我要不需要的话呢,我可以给他干掉了,Q杠九一下,诶咱们把它给他关闭。哎,然后在这儿呢,也提醒一下大家啊,这个麒麟它需要的这个资源也比较多,为啥你想想,因为我要想使用麒麟,我得干啥,我是不是得启动做开呢?得启动h base得启动还对不对,那除除此之外外呢,你后面是不是还得跑计算任务啊对不对,那所以他需要的资源是比较多的,所以大家在启动麒麟之前,一定要把无关进程全部关闭,此猪的无关进程指的谁呀?卡不卡flu对不对?嗯,把那个都关闭啊,这个理解一下啊,行了,那现在呢,我的还做不起来了,然后呢,我再起一下我那个9KZ k.SH。
11:08
好,那组开启动完之后,那接下来我们就可以启动HP了吗?可以了吗?也不能啊,还要检查一下啊,检查什么,是不是检查时间集群的时间同步啊对吧?来我们看一下啊,那为什么要检查呢?因为在h base里边有一个这样的参数,来看一下这个参数啥是不是h base.master.max cloud啊对吧?哎,这个参数啥意思。啊,首先看这个单词,这个单词大家得熟悉才行啊,什么叫skill。倾斜的意思,咱们经常说数据倾斜,数据倾斜对不对啊,而且have当中是不是也有一些与数据倾斜相关的优化参数啊,对吧?啊,那你像那些参数里边是不是都有这个字眼skukw对不对啊,这就是所谓的倾斜啊,当然咱们这指的不是数据倾斜,这个是什么倾斜?是。
12:07
是不是就是reading server和master节点的时间差呀,对吧,那这里边呢,会有一个最大值,最大值默认是多少?默认我没记错的话呢,应该是30秒,也就是如果你的跟master之间这个时间差超过30秒,就会导致什么。Region server起不来对吧?啊,这个大家之前可能有过类似的经历啊,起不来啊,那必须得保证时间同步,当然文档在这儿说呢,让我们将这个参数设置为更大的值啊,在这呢,不推荐大家去把这个值调大啊,我们不应该去把这个阈值调大,我们应该干嘛呀?我们应该尽可能去保证这个时间是同步的,对不对啊,这个一定要注意啊,那现在看一下我的时间是否同步,S call来个。啊,大家看一下啊,那S靠data是不是在每台节点去执行一个date的命令,对不对,那现在我的时间是不是一样的呀?哎,是没问题的,那所以我这儿呢,集群是时间是没问题的,好,那接下来咱们相当于万事俱备就可以启动HP,那HP的启动方式呢,有几种?
13:03
两种,一种是单点启动对吧?啊,还有一种呢是群体啊,还有一种是群体啊,然后简单我问一下大家,不知道有没有想过这个问题,单点启动的时候啊,我们是不是在哪三节点启动master,哪台节就是master啊对吧?那你群起的时候master是怎么确定的呀?你看我们前面配置啊,咱们配了这么多文件,没有任何一个文件里边咱们指明了谁是master。是不是咱是不是只有这样的一个reading serve文件,对吧?那谁是master啊,对,你在哪儿执行这个群起脚本,那哪台节点呢,就是master这个大家理解一下啊好,那现在呢,我们去执行一下这个h base的启动脚本,那咱们去执行一下啊,那当然呢,我们现在配置的HP环境变量吗?是不是没配,没配的话呢,那我们得找到这个路径啊,来B来一个这个呃,Start对吧,H base,然后现在呢,我们回车走。再稍微等一下啊。
14:01
OK,那现在应该是已经启动起来了啊,我们先检查一下它的进程来靠GPS。这边大家还现在还记得啥内容啊。就是master reading server了,是来我们来看一下啊,那这里边呢,我们先看一下进程,Master进程,Reading server进程,没错吧,诶这个也是reading server下面呢,还有一个没问题,好,那我先问一下大家啊,你说是不是这几个进程在就表明h base它是正常启动了。是不是不是这样的啊,有时候你这个进程在并不能表明你这个,呃进程它启动成功了,它可能会出现什么问题,进程起来了,但是后台怎么样了,报错了对不对,那这个h base到底能不能用,那大家到底应该怎么去检查呢?啊,最简单的一个方式,你怎么办啊,你是不是进到HP上有客户端对不对,你去建一个表,你往里边put一套数据对不对,然后你再查一下,你看看能不能往里边写,能不能往那读,如果都没问题,那就说明啥。
15:06
是不是说明OK对不对,或者说呢,我们还可以另另外一种方式啊,那怎么办呢?我们可以通过它的web界面去看一下啊,那大家都知道h base的master是有一个web界面的,对吧?啊,那外部界面是哪个节点?是16010,那是master的节点对不对,那我现在只点一个HADO102冒犯应该是16010来回车这个界面呢,咱是不是能够打开啊,对吧。好,那现在呢,我们已经把这个h base master的外部页面打开了,对吧?啊,那打开之后呢,我们一起来看一下这个页面内容,这个页面内容大家之前有没有看过。看过对吧?啊看过啊,那我们现在呃,不去关注过多的东西啊,我们就重点去看两个东西,这个两个东西呃,它如果是正常的,就能够表明咱们的h base集群是正常的,那首先我们先看哪,先看这个位置。这个是不是region serve啊对吧?Region server下面是不是列出来了,我们现在所有的正常的region server对不对,你看这里边有102103104,那这是不是都是这个上线那个对吧?啊这什么last,呃,Contact是不是一秒前,是不是一秒前之前刚进行过通讯啊对吧,就这个意思,这个理解一下啊,那如果大家发现你那诶比如说少一个只有两个,那就说明是不是这个对应的节点出问题了呀,对吧,那出问题怎么办呀。
16:23
比如说104没有怎么办?是不是去104那台节点看104这台region的日式对不对啊,这个大家得会排查问题啊,啊,那我现在是没问题了,那除了看这还要看一下哪个位置啊来我们往下看。这儿还有一个tables。啊,Tables,这个tables下边列出来的应该是啥?应该是我们h base当中所有的表对不对?那当然这块呢,它会列出来这个表的数据吗?不会,它只会列出来这个表的什么数据,原数据对不对啊,只会列来这个表的原数据啊来,那这个呃,User table里边存储的应该是啥?是不是应该是我们的这个用户自己创建的表,那因为我这个集群刚创建,是不是啥也没有对不对?然后我们再点后边,后边是不是还有一个system tables system tables指的是啥?是h base它自己的系统需要用到的表示对不对?那系统用到表是不是只有两个,一个是h base might,一个是h base name space,那这个冒号前边跟冒号边指的分别是啥?大家应该还记得吧。
17:21
冒号前面指的什么来着,是命名空间对不对?那冒号后边呢,指的是这张表的表名,还能想起来吧,内部space呢,其实对应的就是我们那个关型数据库里边的那个database的概念,你可以类比一下,那这个table呢,是不是就正常就是表示这个概念啊,对吧?这个不多说啊啊,那也就是说它默认情况下呢,会存在一个h base的命名空间,然后里面呢,会有两张表啊OK,这个大家理解一下,如果说大家你能够从这个位置啊看到,比如说这两张系统表,它能够显示出来,那就说明什么,这能说明什么?能说明什么,能说明谁是正常的,你要知道咱们这个表的信息是从哪儿请求过来的呀,跟表相关类型书需要去从master请求啊,对吧?那这儿能出来,那就说明我们的master是正常的,是这样的啊,那前边如果这个region server是诶正常的,呃,能能够全部显示出来,那能够说明什么?就是是不是能说明我们的region so是正常的呀,对吧?是这样的啊,大家自己去检查的时候,一定要看下这两个地方,看一看这儿是不是正常的,然后呢,再看一下下边这个table是不是正常的。
18:27
啊OK啊,那这个呢,就是咱们怎样去看这个h base集群是否是正常的啊OK啊行,那到现在为止呢,我的HS应该是没有任何问题了啊h base的部署咱们就结束了,来,我把视频停一下。
我来说两句