00:00
好,那现在我们来到了一个这个叫做集群数据均衡的这样一个节点,一个标题,对吧,那这个所谓的集数据均衡,那我们其实可以从这样的两个方向去考虑啊,哪两个方向呢?一个是我们集群这个方向。啊,那一个集群咱是不是有多个data的节点呀,对吧?那我这个出现不平衡可能出现在什么呀,出现在不同的节点之间,对,我可能这个节点我的这个空间利用率已经达到了20%,呃,这个呢,我已经达到了百分之诶80,那相当于是不是这个两个节点之间是不均衡的呀?啊这是一个不均衡,那还有从另一个角度从哪啊,一个datanode上边我是不是有可能有多块磁盘对不对,那可能多会磁盘我的利用率也是不同的,可能这个呢,我达到了20%,这个呢,我达到了百分之诶80,两块磁盘之间也有可能不均衡啊,那咱们这这个所谓的数据均衡,哎,就得从这两个角度去考虑了。啊,那现在我们先看这个节点间数据均衡啊,那首先咱们来想想啊,节点间什么时候会出现这个集群不均衡的这种情况。
01:07
什么时候啊?什么时候?啊,那假如说现在我们这儿有三个节点,我们集群就三个节点,然后我的副本数呢是多少。就三个副本,就三本,那你说这时候会出现集群这个节点节不均衡这种现象了,那肯定不会,因为你随便来一个文件,是不是每个上面都存一份,那都是一样的,那肯定没有啊,但是假如说我现在我是十台节点对不对,如果我也是三个副本对不?那是不是就可能出现这种不均衡的现象啊,啊或者还有一个必须肯定会出现均不均衡的什么时候,比如说我新增一个节点。对不对,因为咱们这个需要扩展集群,有时候对吧,那我新增一个节点,那这个新的节点上边是不是肯定是没有数据的呀,那是空的,那别的都有,那这肯定是不均衡的,对不对?那所以说对于这这种情况下呢,我就需要去做这种节点间的这个数据均衡的操作啊,那这个数据均衡操作怎么去做呢?咱们这儿有一个这样的命令啊,实际上是这样的。
02:03
我们在呃,HDFS上面呢,咱们有一个这样的工具,叫做balancer的这样一个工具啊,这个东西相当于他给我们提供一个脚本啊,就是你使用一个脚本就能够启动一个进程,启动一个进程,那这个进程呢,它的作用就是干什么,就是帮我们去啊这个均衡这个集群当中这个节点之间的数据,比如说我这个A节点啊,那我这个空间占用了80%了啊,那我下边这个B节点呢,我占用了50%了,那它俩显示不均衡,对吧?那我就会把这个节点上面的部分数据呢,转移到这个节点上面,然后大家要注意啊,这个转移是真正的转移,是要跨节点传输数据的,能理解吧?啊,这是真正的转移啊,真正的转移那所以说呃,那这个命令呢,咱们不要轻易的去做啊,也要挑什么呀,也要挑在这个咱们集群的空闲的时候去做,不是晚上咱们集群就是晚上才才才那个,那什么呢,才工作呢啊,因为因为是什么啊,那想想。
03:04
咱们离线入仓对不对,那离线入仓我我什么时候跑啊,那不是就是等待24点的时候,你前一天的数据这个搞定了对不对,采集完了,那我是不是才去计算啊,那一般情况咱们任务就是比如说是呃半夜的这个凌晨啊,这个零点,呃30分要开始跑,就是晚上才跑呢,离下任务,所以晚上并不空闲啊,你要可可能得白天能理解吧,这个得注意啊,晚上并不空闲,晚上的时候你千万别别瞎搞集群啊,你要晚上瞎搞集群,你把它搞坏了,那一晚上的任务耽误了,那你事就大了啊,晚上不要乱搞啊,啊这个大家得注意啊,行,那咱们接下来往下走,呃往下走,那这个相当于是就是说我们可以实现这个节点间数据均衡啊,那其实下边有一个参数啊,叫做什么叫做thhol,就相当于一个阈值啊,阈值下面阈值指的是什么啊,咱们这传了一个十对吧,那对于参数时代表的是集群这个中啊,然后各个节点这个总。
04:04
总的磁盘空间利用率这个相差不超过10%,那也就是假如说我这个A节点啊,我这个,呃,这个所有的磁盘我已经使用了90%了啊,然后另一个呢,比如说我使用了85%了,那这两个节点我就认定它是什么呀,以这个为例。他俩就是啥呀,它俩就是均衡的对不对,那假如一个90,一个70,那超过10%了,那它俩就是不均衡的,能理解吧?啊就这样的一个意思啊,那实际上咱们这儿呢,可以尝试着去执行一下这个命令,咱们这儿现在集群肯定是均衡的,对吧,我们还没东西呢,里边咱们可以执行一下来,我走。你可以执行一下啥也没有啊,正常情况下,你这个执行完之后呢,你查的时候,这会有一个这样的一个进程,这个进程就是正在进行这个数据的转移,但咱们这儿是不是已经是均衡的了呀,所以他直接就退出了啊,直接退出了啊,那假如说我执行到一半的时候啊,我现在我我我需要干什么呀,我这集群我现在需要使用了,那我我可能这个平时任务还没有完成,对吧,我可以可能需要中途停止,那怎么停。
05:07
哎,点击这个stop balance sh啊,直接停止就可以了,然后大家要注意啊,你这个停了之后,那你说我之前已经转移过的数据,他怎么处理啊,还放回去吗?那肯定不放回去了,对不对,已经转移过就在那放着了啊,然后现在可能还没有达到你这个要求10%,那没有,那就先停呗,对不对,那下次有空了,你再执行start,它是不再重新接着做就行了呀,啊这样的一个过程啊啊,那这个完了之后,咱们看下一个,这是集群节点间数据均衡,那下一个呢,还有这个磁盘间数据均衡,那大家注意磁盘前数据均衡的,这是我们海杜三的一个新特性,海度三之间是没有的啊,海陆三之间只能保证节点之间均衡啊,那三之后引入了这个磁盘间数据均衡,那这个时候什么时候可能会用到啊。比如说我data note啊,我空间不够了,我加一块磁盘对不对,那这时候是不是肯定会出现这个不均衡的现象啊,那这时候我们需要给它进行诶均衡啊,那均衡的话,这个我们步骤相对来说比较多啊,那首先来我们看一看我们哪些步骤,有哪些步骤,第一个需要先生成一个啊这样的执行计划,均衡计划啊,执行以下这个命令,HDFS啊Dis balance就是磁盘均衡器,然后呢杠plan后边呢。
06:24
指明一个节点。啊,这个节点是什么?这个节点就是你新加磁盘的那个节点,比如说我在103上面新加了一块磁盘,对不对,那你就哎给他指明海度103啊,那这时候呢,它就会把海杜103的这一台节点上面的这个磁盘的均衡计划给你生成出来,啊这个计划呢,实际上就是一个什么样的文件呢?就是一个结森文件啊,这个阶层文件名呢,本来应该是这样的。啊,然后文件名是你的均衡的那台节点的主主机名啊,然后后边呢有点plan,后边呢是这个点杰森还是一个JS文件啊,然后之后呢,这个只是生成了一个这样的计划,但是你要真正执行这个计划得怎么办呢?得使用以下这个命令。
07:07
啊,HD FSD balance,然后杠excute,就执行这个计划啊,然后执行这个计划的时候呢,它是不是就开始进行数据的转移了呀,对不对,在它转移的过程呢,我们可以通过这个命令去查看它现在的执行进度啊,D FS h FS disk balance,然后杠query,然后指明你现在正在均衡那些节点的主机名啊,就会把这个计划给这个执行的过程给你打印出来啊,执行了百分之几了啊对不对,他会给你打印的啊,而之后假如说现在呢,我还是有这样的一个问题,就是说我现在需要中途停止,怎么停,那取消就行了,那还是一样道理,已经均衡过去的数据就不会再回去了啊,OK,这是这样的,那现在我们也可以尝试执行一下,当然,我们现在这个计划它会生成吗?肯定不会,为什么我只有一块磁盘对吧,来回车一下103。啊,其实这块他也已经呃给已经告诉我们了啊,他说什么呀,他说已经那个no这个plan GR了,就是没有战了啊,没有这个计划生成啊,因为咱们只有一块磁盘嘛,不需要进行聚合啊,那所以说那个文件它生成了嘛,这个文件它也没有生成啊,要正常俩磁盘可能会生成的啊啊那这个就是大家知道怎么做就行了,因为我们现在只有一块磁盘,没有办法演示啊,所以这个咱们就不演示了啊啊那我把视频录一下。
我来说两句