00:00
来,我们演示一下水平扩容什么意思?如果我们现在想要为正在增长中的应用程序按需扩容,就是你的容量不够了,我想扩大它的容量怎么办?这个时候呢,我需要启动第三个集群节点。可是你会发现,咱们之前的两个集群节点,其实所有的分片都已经分配好了,按理说就没有任何问题,对不对?可是你要千万记住一件事情,当你把我们的集群节点增加的时候,我们的这个分片就会转移到不同的节点上面去,这样的话会增强我们的什么吞吐量?如果你就两台机器访问,我问你,你和三台机器它能一样吗?不一样,所以我们接下来呢,给大家启动第三台机器来点击,点击之后我们在这边启动一下。启动完成以后,集群当中就会有三个节点,诶,那这个时候咱们的这个分片该如何分配呢?首先有两个原则,第一个原则就是我们的主和副本是不能放在一块儿,对吧,这是第一点,第二点呢,就是说我们一定要保证什么呢?会均匀,你不能说啊,这边有三个,那边一个,那边俩,这个就不合适了,所以它要稍微均匀一些,让每个节点都能够均匀的得到请求和访问,对吧。
01:16
好,那我们来看看啊。那么我们现在可以了,之后我刷新吧,刷新刷新以后大家有没有发现我们现在有三个节点,三个节点我们的第一个依然是我们的主节点,然后呢,我们的那个012的那个二,这个二的节点呢。主节点呢,被放到哪去了呢?放到了我们的103上面去,然后呢,我们的这个一,诶,我们的副本节点也放到了我们的什么103里面去,所以大家会发现这样的话就会均衡一些,而且零和零没放在一起,一和一没放在一起,二和二是不是也没放在一起啊,这样的话咱们前面的条件不都满足了吗?所以这样的话我们的吞吐量又可以提升了,这不挺好的吗,对不对?
02:00
好,我们回过头来啊来大家看到就是这样的一种状态了,那么这种状态当中,对于我们来讲啊,他说了,我们的NOTE1和NOTE2上面各有一个分片被迁移到了新的节点三上面,现在每个节点上面都会有两个分片,而不是我们之前的三个分片了,这样的话呢,我们的硬件资源被更少的分片所共享,那么我们的性能就可以得到提升。本来呀,以前是三个我们的分片来抢资源,现在只有两个分片抢资源,你想想吧,性能不就得到提升了,对不对?所以啊,我们这个是需要考虑的啊,如果我们想要扩容超过六个节点怎么办呢?首先这是有问题的,为什么?因为你现在的那个分片数量为三,你的副本为三,你总共六个。那么原则上来讲,最少不就是每个分片放一个节点了吗?那如果你想超过六个,比方说你七个节点,你有一个节点是肯定放不了数据的,那你不就浪费资源了吗?所以这个是不行的。但是呢,我们要考虑另外一个问题,什么呢?主分片的数量啊,在我们创建索引的时候其实就已经确定了。
03:07
那么在这种情况下,我们是没有办法改的,默认情况下是一,你可以去在创建时候去改,但是你没有办法在创建之后去改,你做不到,那么这样的话呢,我们就定义了这个索引能够存储的最大的数据量,它取决于我们的硬件啊之类东西,对不对。可是你的主分片改不了,但是你什么能改,你副本能改,如果你的副本改了的情况下,记住这是数据冗余啊,你访问主分片也行,你访问副本分片也行,那么这样的话,副本越多,你的这个吞吐量不就上来了吗?所以说我们是可以在运行时去调整它副本分片的数量的,这个是没问题的,大家看啊,来把这个拷贝,这个叫副本数量从一变成二来拷贝。拷贝之后呢,在我们这边呢,有一个users,我们写上一个来下划线,我们叫做setting,诶咱们叫settings,好把它放过来,然后把这个呢放过来,然后点击上的点,点击完成以后已经可以了,记住我现在已经把user的那个副本变成了二。
04:10
记住每个分片副本是二,那么总共是几个,九个,那所以呢,来我们刷新,刷新以后怎么了,总共是不是九个,那如果是九个的话,极限情况下每个节点放一个,那不就是九台什么节点了吗?对不对,就是这个意思啊好了,同学们,这个呢,我们就说到这里,让大家明白一下,就是这个扩容能不能可以可以没问题,只是你要看你该怎么去做了啊好了。
我来说两句