00:00
在接下来呢,我们就要可以进行安装了啊,那安装之前我们先来看一下一些环境的要求啊,有软硬件的要求啊,又软又硬对吧?啊首先第一个是操作系统的版本啊,我们一般都是Linux系统对吧,那可能有center OS也无版图,那如果是center OS,那就要求7.1级以上的版本,如果你是六呢,可能这个不一定能跑起来,那乌班图呢,要求16.04以上及以上,好吧,这个大家。啊,要注意第二一个就是一些环境软件的要求主要是什么呢?一个JDK还GCCC,那么Java呢,也就JDK要求是1.8及以上的啊,那我们编译的时候也是选的1.8的对吧?那如果你是JDK11的,那你就对应11的去编译就可以了。接下来两个,一个是开发测试环境,一个生产环境,那这个数据是官网给出来的啊,也是官方基于一些实践给出的一些建议,那么如果是一些开发测试环境,我们的fe模块。
01:11
服务器呢,最好是。CPU8核以上,最少八核,这样是比较好的,当然你不到八核也可以啊,这个还得看你实际的这个资源情况,因为有的企业它可能确实没给到那么多的资源,那么单台内存最好是八个G。磁盘呢,能固态当然是最好了,对吧?啊,如果没有固态,那呃也没办法啊,那么磁盘空间呢,你测试机也最好是有十个G啊以上最好十个G有点少也不多啊,网卡千兆网卡是比较好的,那么fe部署几个节点呢,一个就够了,因为毕竟是什么开发和测试用的,这个时候你就没有考虑到所谓的那个高可用问题了,那be呢,我们知道be是负责什么存储听证的数据,并且负责计算的。
02:10
叫be,那么CPU呢,同样八核以上,内存16G,磁盘一样的能固态最好,没有的话也没办法对吧,那这个时候硬盘就要磁盘就要多一点了,因为它要存数据啊啊,那我们建议官方建议是50个G以上啊呃,网络也是最好千兆网卡,这是理想状态,那实际数量比一般我们会部署呃三个左右啊。一到四一到三级以上,那测试环境呢,最好还是部署个三个节点吧。生态环境呢啊,就我们正式的线上环境,那线网里面,呃F1我们看一下CPU16核内存64。那磁盘空间呢,100个G以上。万兆网卡,当然这个可能是对有一定规模的企业吧,那么实际数量呢?
03:05
一到五个及以上。那一般呢啊,你三个也行啊,那be。CPU16核,内存六四啊,磁盘也是100G以上啊,万兆网卡实力的数量呢,根据需要,那一般呢,可能呃三个G以上,那达到十个呢,是可能你规模会相对应大一点啊,甚至呃,我们也看到,如果是百度内部是不是上千台服务器在使用,对吧,它支撑200多个产品线业务线啊,那是应用比较广泛的。而且B跟fe都可以支持弹性伸缩扩展呢,也是非常方便的,你早期也可以部署比较少的节点,基本满足高可用啊,那后期呢,可以根据需要继续添加节点啊,这种方式也是可以的,也不要求你一一步到位啊,一下子就评估出最好的一个数量,那这边也列出了几个注意事项啊,就是关于磁盘空间,第一个磁盘空间,我们的be主要是干嘛存原数据。
04:09
对吧,啊,其中包括日志和金枪。一般呢,它占用的空间都是几百兆到几个G啊,这是一般场景下啊,所以呢,我们呃,如果不够的话,你至少也给F1节点留个10G以上吧。那be呢?我们说了,房的主要存放的就是我们真正的数据。那总的磁盘空间我们要按照你本身的数据量来估算,对吧,那不比如说你设置为三副本,那你是不是还要数据量。占用的存储空间还要再乘以一个三呢,因为有三个副本,另外我们说做人留一线,日后好相见呢。所以一般我们是不是也会预留一点磁盘空间,那这边官方给到的是预留40%,因为这些空间用来干嘛呢,可能后台做一些合并啊,还有一些中间临时数据。
05:04
这个场景,那么还记得我们在用HDFS的估算那个磁盘的时候。当我们也会预留30%左右的磁盘空间嘛,对吧,啊都是留一线。另外还有一个特点是大家一定要注意的,就是我们的be这个实例啊,我一台机器上面可以部署多个。大家注意啊,在同就说我现在比如说我有三台服务器,我可以在哈杜一,哎,这台服务器上面我部署好几个B,同时部署好几个B,这样是可以的,但是呢,F fe只能部署一个,也就是说一台服务器一个节点只能有一个f fe。另外呢,虽然一个节点上也就一台服务器上面可以部署多个B,但一般也不建议这么去布,对吧?比如说咱们设计木本副本的目的在哪里啊。
06:06
副本不就是实现一个容错嘛,一个数据备份嘛,对吧,那如果你这些互为副本的数,呃,节点都在同一个机器上面,那其实就没什么意义了,对吧?啊所以呢,比如说我们正常三副本。那至少要在三台机器各部署一个B实例。而不是说我在同一台机器部署了三个B,然后做三副本,这样是没有什么意义的。另外一个小细节就是一个时钟问题,因为f fe管元数据嘛啊,中间涉及到时间,那你这个时钟要保持一致,这是比较基础的一个小小点啊,允许最多五秒钟的时间偏差。还有好几点啊,我们说可以只装一个B,但这是什么测试环境,但实际环境。Be的数量越多,是不是代表那整体的性能越高啊,那你整体的查询延迟不就更低了吗?啊,这一点是显而易见的啊,不用多说啊,部署节点关闭交换啊,这个玩意儿一般都关了啊,还有一些fe的建议啊。
07:20
Fe,我们说分为三个角色对吧?呃,有。Leader和follower算是一类啊,Observer啊算一类,那么说至少有一个follow。你肯定得有一个follower负责那个。干活嘛,我们说observer它只负责查询啊,那么当我们部署一个followr,一个observer,可以实现读的高可用,对吧?当部署三个follower时,可以实现什么?读写高可用,这个区别在哪里啊?一个是读的高可用,一个是读写,为什么?因为什么呢?一个follower和一个observer。
08:02
我们说这个follower自己本身就是leader对吧,其实就他一个人,你别管leader不leader,那这个follower是不是负责读写,那observer负责什么读。哎,所以只能实现读的高可用,因为什么这个follow挂了。那这个就没地方写了,Observer我们说了不会参与选举,他也不可能成为leader。这个从他出生就决定了他的命运了。他永远。无法翻身做主人对吧?所以一般我们在实际应用当中啊,肯定要部署多个follow啊,而且一般是奇数个啊奇数个,因为它是基于什么呢?Parce协议吗?还记得主keepper吗?对吧,他也有一个半数机制,呃,就一半以上follow了,存活的时候整个才可用啊。那当我们部署三个follower时,才能够实现读写的高可用,对吧?其中一个follow挂了,它还可以从其他的follow选取出新的leader啊,并且本身其他的follower也是可以写入的啊,必须为基数讲过了啊,Observe无所谓啊,它只是辅助。
09:17
那后面都是一些给到了一些经验啊,看一眼就行了啊,集群可用性要求很高时啊,部署三个follow,一到三个observer,这是非常常用的,那离线业务一个follower多个observer。说白了。就是说实时性要求高一点的,那就多个follower高可用,那如果是离线,其实因为离线对时效性没有太高的要求,那有一个followr也够了,那离线再给几个observer啊,让他的读没有什么压力也够了。啊,Brokeer,我们前面讲的它是用来跟像HDFS这种远端存储啊,进行一个数据同步的。
10:03
那一般部署的节点呢,就是呃,每台机器上部署一个就行,而且broker是不是同步数据同步给谁啊,我们说存数据的是be,最终是不是要给到be啊,对吧?所以一般呃,每台有be的节点,部署一个broker就行了。好,这是要给大家聊的第一个事情啊,一些软硬件的需求,还有官方的一些建议。
我来说两句