温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,接下来呢,我们来看一下HDFS相关的一个调优,那这里面要调哪些参数呢?啊,首先来看第一个。这个有这么一个参数叫DFS name node handle count啊,然后等于十,这啥意思呢?它其实啊是一个name node有一个工作线程池,用来处理不同datanode的并发心跳及客户端并发的原数据操作。那看完这句话,不知道大家理没理解哈,给大家画张图吧。来。那我们集群呢,有date node对吧?哎也有呢,对应的name node,那假如说呢,这个呢是N好。这里面呢,还有对应的点。Dear。好,三个DN节点,那么大家回忆一下哈,这个date note它启动之后它要干什么事?还记得这里面是不是有各种数据块啊?对吧,哎,大量数据块,那么它在启动之后,是不是要把这个数据块跟这个NN进行一个注册呀。
01:03
对吧,来向他注射。注册完事之后,那这个NN会给他回馈一个,说注册已经成功,那这样的话,这个集群是不是就能正常工作了?好,那大家再思考问题,那你看每一个DN里面都有N多个数据块。那么一上店启动的时候,都要跟他进行注册。啊,标注上。那现在问题来了,那你说这个NN,它准备多少个接客线程呢?嗯。现成数。对吧,哎,你看比如说我要准备一个线程,那你这里面多个数据块进行访问,那是不是得大量的数据块里排队啊。那好,那刘同说,那海哥,那我多准备一点,比如说我上来准备100个。那问题又来了,那你准备100个线程,但是其实我的数据块呢,可能只有十个。那我是不是浪费了90个县城啊?对吧,哎,那你说这个时候怎么办呢。
02:00
对吧,那是不是应该有一个公式来帮我们去辅助的计算,我准备多少个线程数比较合适啊?哎,达到一个最佳状态,那好,那回复来,那这里面其实有一个公式。啊,公式,那这个公式呢,就是20乘以log以E为底集群的台数,那比如说我们这个集群啊,有八台服务器,那就是20乘以log,以一为底,八的对数。啊,不知道大家这个,呃,Log还记不记得啊,那这怎么算呢?他说海哥这个LOG1为底八的这个对数有点忘了啊,那这里面有一个辅助的算法,就是Python嘛,啊,调用Python的算法库啊,调用Python,然后in part导这个算法库,然后print打印,我要计算什么呢?20乘以这个是调用这个log这个公式啊,Log以一为底八的对数,那算出来呢,是41,那我们算一下啊。开始。哎,这样就有这个拍摄环境了,然后。
03:00
Art。哎,Ma导这个算法公式啊,然后之后呢,执行对应的这个命令print,然后log啊,这个20乘以。麦落个一为底八的对手就OK了。下面那个空格啊,干掉啊。好吧,这样执行就OK了,那执行完之后,那后面的话,我们这个参数配置多少啊,如果你八台服务器的话,数据配置为41啊,那如果是三台服务器呢,那三台服务器那就改成三呗。那这里面是不是21呀?哎,把这个对应的这个参数值改成21就可以了。啊,然后退出OK吧,比说真正在开发的时候,如果是三台服务器,那就把它改成21啊,如果是八台服务器,就把它改成41,那这样的话,尽可能的让这个NN和DN的通信线程数呢啊达到一个最佳状态。
我来说两句