00:00
下面呢,我们要做这么一件事情干什么呢?诶下边我们想完成一个master worker启动参数运行时的指定啊同学们看到目前我们这个代码呢,有一个问题,有个什么问题呢?就是worker一旦启用了,你这个这些参数都是写死的,你比如说master吧,你这个master,你你这个master的,呃,这个IP地址,你看你这个master IP地址。你是,呃,写成这个127.0指定的,你这个端口也是指定的,那显然这是不合理的,因为你将来部署的时候,不可能让别人去写,不可能让别人去修改你的源代码吧,是不是,所以说这些参数涉及到这些灵活性的参数,你就该干什么呢?你就应该让他做成一个什么呀,做成一个参数传进来是比较合理的,是不是,是这个道理,所以说呢,我们现在呢,要做的事情,功能master worker的启动参数运行时指令,而不是固定写在程序里面,那这个代码就变得比较简单了,来同学们,我给大家来简单的。
01:07
整一下啊,我们先改动master,这个我就不去做题分析了,直接从这拿东西,我们先改master,那么我们来分析一下哪些参数我们应该把它做成一个动态指令的呢?首先是不是这个host应该指定一下呀。这个端口是不是应该可以改变的,这个名字是不是也可以改变一下,因为名字。一般也不写死了吗?你现在可能有啊,一台机器跑多个master也是有可能的,还有一个是不是这个名字也应该是变化的呀,诶所以说这应该有四个参数,我们最好是把它进行一个指定好,现在呢我们来做一下。好,这里我们分析出来啊,分析出来。啊,分析出,分析出有四个。四个参数啊,那干脆这样子,这这个参数呢,我们就先暂时写死吧,啊这个名字改这个名字就三个吧,就三个参数,哪三个数写清楚就是我们的host。
02:12
Host,我们的port,还有我们的这一个Spark master,这个I的名字,我们要把它写一下啊,这三个我们把它整一下啊,那首先我们来做一个判断。啊,如果你这个X点认它不等于三。啊,它不等于三个怎么办呢?我们就告诉他你这个有问题啊,就直接告诉他啊,参数请输入参数啊,并且提示它这个参数应该怎么怎么输入呢?好我就简单写一下啊,尤其host。Bo,然后呢,是我们的这个actor的名字啊,就是我们这个Spark SPA Spark master的名字啊,这个艾的名字啊,但是肯定要专业的这个人士他才知道的啊,名字好,然后这边如果他不满足我就不玩了,我就直接退出,退出指令呢,用system.exist就可以了,这个是咱们以前见见过的啊,就退出不玩了,那如果说它就等于三个,那么我们就往里面扔东西就行了啊啊扔东西那怎么写呢?简单的很,我们就这样写啊,第一个house v l host。
03:30
等于零,按顺序来填进去,对,Where port等于argue是一,ARGUE1没有问题,好,还有一个就是它的这个名字,我就直接写名字了,Name argues2。好简单这样去处理一下,那这边呢,我们要改了啊,第一个呢,我们把它改成这个叫做how。Ho。Host这边呢,我们把它改成。
04:02
好,同学们,我们把它改为。我们把它改一下啊,改成什么呢,Po。啊,这个写完了。好,紧接着呢,这边这个名字呢,我们也把它改一下,这个名字呢,改成他对不对,事先给我们整理好的,那把它写一下Dollar哪一个呢,就是name啊name。写完了。啊,那写完了,好,这边呢,我们就写完,我们紧接着呢写我们的客户端啊,客户端这边呢,我们来分析一共有几个参数要改一下啊好,我们还是找到这种代码啊,一个worker host的worker。呃,还有master号这四个至少,但是呢,我们发现,嗯,这个名字咱们也应该让他指定一下,所以说我们再增加一个啊,增加一个就是worker的名字,呃,另外呢,还有一个这应该也要改一下,大家看。我们这个地方这个名字也是写死的,这是不对的,所以说应该有六个参数,至少。
05:06
那我现在开始写了。好,我们确定有六个参数,那就这样写啊,同学们这样写。啊,怎么写呢,怎么这样写啊好,如果。如果argue。点认识,如果它不等于六。怎么样,我们就提示他一句话,就是请输入啊参数。什么参数呢?那就按照这个要求来嘛,就是我们的worker。Walker host。Walker。Worker这个port好,Worker的名字,对,Worker的名字。好,与之对应呢,还有这一个server啊,就master的master的啊,Mean master host对不对啊,Master什么呀?Port是不是还有master的什么呢?名字就可以了。
06:04
啊,如果你没输对,我就直接退出了。如果输正确了呢,往里面扔东西了。暴力分钟叫阿Q0。好的,这个呢是X。一。好,还有一个就是worker的这个名字,我们也把它写进去,就是二。这边呢是master host,那么r argue123了,这边是它的这个端口号是好最后一个VR master的。名字写进去。好,Master的名字写进去,那么就是ARGUE5。好的完,那写完我们把这边替换一下,这边呢,首先应该写上worker host对不对,好这边呢,应该写上worker的这个端口。
07:01
好,这个写完,下面这个不动它。这边大家看到我的代码呢,有问题,这边问题在什么地方,它这个类型应该是不匹配的,因为你需要一个int,它这需要十寸怎么加呢?好办好办的很,咱们就直接to int就完事了。啊,咱们写完,那有一个问题,这边也要替换。这个是我们的什么呢?Worker的名字,还有一个问题大家看,因为我们在构建这个Spark worker的这个,呃,挨个的时候呢,我们这边是写时的,因此呢,我要增加一个参数。好,我要写master的什么呢?它的name好写完了,写完过后这个name呢,就直接把这个地方给替换掉。好,代码写完了,写完过后同学们啊,我们这边显然也要把它传进去,就是master的name,好同学们,代码写完,我们现在来玩一把,看看这个能不能一次性,就是能不能通过这个修改啊,来我们启动三个worker,然后呢,一个master来玩一把。
08:08
来,首先呢,我们来进行master的一个设置,怎么设置呢?非常的简单,找到Spark master的这个config找到找呢。这个是master。然后呢,点它的这个a configuration里面呢,有一个program arguments点进去,好,我们这样写了啊127.0.0.1。端口呢,我们原先用的1005,还有它的一个名字,我们就叫Spark。Spark master01好,同学们,这段代码我先把它复制一下,待会我要用,OK一下就可以了,应用。好的,Worker这边呢,我来配一下worker这边先切换到我们的worker,然后呢,点击我们的ad,好一样在这加。
09:02
好,我们怎么加呢。好,这是这是它的master啊,先把它的worker写清楚,0101,然后它的端口呢,只要不要跟master一样就行啊,当然如果是,呃,你你是不在同一台机器一样都可以啊,我是1001。好,给它取个名字吧,我们照着这个写就行了,Spark Spark worker。啊,W写错了,W2WORKER01,好,同学们,这个写完了,写完过后我们应用下来,先看第一个能不能启动起来,先启动我们这个可爱的master。好,Mother启动起来。啊,Master这应该起不来,因为我这边还没有关闭,没有关闭它这个端口啊,刚才两个端口又指能使同一个,那就啊玩不转了。好的,那现在我重新再再来玩一把啊走诶走,我们发现这个呢没问题,你看这个端口跟我们指的是一样的,1005名字也是。
10:04
指定呢?好。好,下面呢,诶,我们这边来启动这个worker。Run一个。那么让一个过后呢,我们看这个代码有没有毛病呢,我们发现诶啊这上是没有毛病的,你看他在开始发心跳了,这边应该检测到有一个存活了。好,现在呢,我我把这个worker参数改动一下,再启动第二个啊。然后现在马上改动一下这个worker,我改哪里呢,点开,哎,不点这点。点这点这我们这个主机不要动,它把这个端口改成幺二。1002这边呢,是我们的第二个worker啊,这样它就不冲突了,然后应用一下,我们再启动一个worker启动起来。这是我们的第二个worker,看看有没有正常的启动,他也注册成功了,他也在发送心跳,那现在呢,看master这边呢,应该检测到了两个存活的worker啊,大家看大家不停的更新不同的这个啊,好两个,我们再再去最后一个啊。
11:09
再起最后一个,最后一个呢,点开我们来个标三,这是第三个worker。应用一下。然后呢,我们启动一把。好,这是我们第三个worker。他也发动成功,现在呢,我们可以到现在这边应该有三个存活的worker。好,可以看到现在有三个存活的了啊,三个存活现在呢,呃,因为我这打的太厉害了,所以说其实我这儿不用打这么多哈,但现在我们一个个关,看他能不能检测到再停止啊,第一个关掉了。第一个关掉,过了这边会检测到啊,检测到一会儿只有两个存活了,果然死了一个,再来死一个。再使一个呢,他再检测就会发现当前只有一个worker存活了啊,因为现在只有一个人再发心跳了,好再来检关掉一个,再关掉一个呢,这次他检测发现全死了啊,全死死光了,对。
12:07
好就这么一个意思,好这是这一段啊,这个我也关闭算了啊,不玩了,那同学们到现在呢,就是我们一个最基本的这个就说完了。呃,那同学们晚上做一个任务啊,就是把我们这一个代码呢,你把客户端和这个服务器端呢,你用那个,呃,那个你把你的那个linu打开,因为现在呢,打开要打三个深S,一般的机器是扛不住的。啊,你可以这样写啊,今天你回去过后,你启动一个Linux,就渗S,把你的那个服务器部署在那个centers上,在Windows这边起两个worker啊,这样就可以去试一下,也很简单啊,呃,你把这个代码拿过去,直接编一下运行就可以了,没有任何难度,没有任何难度,好,这是我们讲的关于这一部分内容,那么老师做一个笔记啊,做一个笔记,好把这个笔记打开。
13:06
编译过,呃,处理完了过后就开始讲我们的设计模式了,设计模式是一个好东西啊,同学们,设计模式呢?呃,确实是很上档次的一个东西。那也要大家讲一讲对吧,好的,那现在呢,我把刚才讲的这个内容给各位朋友,呃,板述一下。刚才我们讲的是参数的指定啊,这个就异常的简单。来给大家写到这里。标题三。呃,那么具体来说我的要求是什么呢?诶,我的需求是这么一回事啊,就说参数呢,不要写死了,因为你将来呃,不可能说都是固定的嘛,所以就把它分开了,思路没有什么分析的,直接代码实现,那我就说一下代码改了哪些地方就可以了啊各位同学。好,我把这个打开,那首先我们看master这边我们修改了哪些啊,说白了啊,就是加了这么一点东西,就是把这个参数得到,那你要你要做的更好一点呢啊,你这再做一个检查啊,再做检查,我这就没有做检查了。
14:11
就把这段代码拿过来就行了,好,下面这个呢,大家也看到在修改,我相信同学们应该能看懂啊。好,这是我们的这个。这边的代码的一个基准啊,就核心代码,核心代码这是什么呢?修改了修改了我们Spark。Spark master了。Master的scanner。OK,第二个呢?第二个我们又去修改了这个worker worker里面改动的地方呢,呃,也没多少,就这一点,然后下面怎么改的,大家应该就一目了然啊,这也不是很难的事情,把这个核心代码给大家写到这里来。哦。这个地方是我们的。
15:01
啊,这个Spark。好的,Scanner。呃,这段写完了过后,还有一个地方做了一点修改,就是这这里哪里呢,就这地方。就这个地方,我们这个构造器啊,做了一点修改,把这个master name带进去了啊把这个master带进去了,我就截个小图吧。啊,大家应该是能够看懂的。这我们增加了一个master name,这我们加入了这个业务逻辑的,呃,加入这个参数的处理。好,同学们,那关于我们这个Spark的master worker项目呢,咱们就给大家聊到这里啊,包括后面这个参数怎么去指定,再写一下,就是这个运行项目呢,参数指定,我把这个图也给大家啊,拿过来吧,啊虽然说大家都知道了,我也整理一下,就是参数指定呢,要到这里面去指定。哎,然后这有有一段文字啊,就是怎么去运行的,我也说的很清晰。
16:05
好,这边点开它嘛,第一步第二步在这设置。然后呢,运行的时候怎么运行呢?诶下面有一个对吧。诶,你看这儿啊,说明。二点击确认,如果要运行第二个worker服务呢?需要改动参数再运行。好,同学们,关于这个我们就讲完了。
我来说两句