00:00
好,那个我们把昨天所讲的东西做一个总结啊,做一个总结啊,做一个回顾啊呃,首先呢样那个昨天上午的东西呢,就不聊了啊,昨天上午维就不聊,因为是哈多最后留了半天对吧?啊那个东西呢,就是代码呢,自己去敲一下,自己敲一下,多练一练,诶大家代码一般敲几遍啊。房间。代码,其实大数据里面的代码少,总体来说代码比Java要少很多,所以遇到代码呢,去多敲一场啊,多敲一下,就前期这个代码,你要是现在没感觉,你后面做项目,项目的代码稍微能多一点,就是特别是Spark,因为Spark就是拿代码写,但是你前面这个输仓,我们讲完整个的离线之后,有一个输仓项目那个东西呢,到代码比较少啊,那个就是搜狗比较多。啊,那里边呢,有呃20多张表吧,有20多张表就是那个收藏表,但是生产环境当中,那就是几百张表。对吧,咱们是像的20多张表也省了一些啊,一些就是呃做了一些需求啊,做了一些需求倒是以呃大量的都是一些以开为主的,所以大家遇到代码敲API的时候,这些东西尽量的有时间啊,时间足够的情况下,呃三遍不为过。
01:16
三遍代码三遍啊,代码三遍,前面那个哈多呢,就是主要就是MR对吧,还有包括那个HDF的一个API啊,回过头去看一看啊,回过头去看一看,行,那我们接着回过来,回过来来说这个have之前,那从我们昨天所讲的东西啊,因为我们昨天呢,把基本概念以及常规的使用给讲了,就是简单的用了一下,测试了一下,对吧?呃,那我们了解到have这个东西呢,我们从本质上讲就是这句话对吧。我们提供的搜狗。我们写了C看的新等等这些东西,最后他是不是我们看到的日志里边跑的是mmr任嘛,对吧,他将我们数据。存在HDFS,然后我们距离跑的任务呢,也是跑的map的一个任务。
02:02
啊,所以呢,我把它形象比喻成have呢,它相当于是哈的一个客户端。客户端。他是怎么跟那个我们所讲的HDFS这块东西做交互的,他怎么知道数据存在HDFS哪啊。它是不是有一个Meta,有一个原数据对吧?啊一个原数据OK,而且原数据也不是自己存的。对吧,也不是自己学的,他就干你什么事,他把原数据都存在了其他的数据库当中,我们知道默认的在德比对吧,但德比有问题,他不能太多用户对吧?啊一开就报错,所以呢,我们把它存在了MYSO当中啊,它可以提供很多用户去访问的,那德比它提供不了,只能提供一个人去访问,那这有问题,也就是说其实have提供了一个。MY搜狗跟HDFS之间的一个双摄关系啊,它站在中间,那这边呢,是我们所讲的MY搜狗,它里面存的原数据对吧,然后还有一个HDFS。你也给他讲它存的原数据,但是应该是这个圆吧,原始数据对吧?啊,两个原数据你要区分开,那这个汉呢,就在中间,其实是做了它们之间的一个双摄关系。
03:11
对吧,你这个原数据定位的是HDFS没错,但是通过我have来定位哈,我启动任务之后,然后呢,你能才能定位到,因为我里面有from我一样。而且呢,你想想看,你的就是现在你可能不清楚这个have当中它具体的这些关键字的这一顺序,但大体跟MYSO差不多。想一下买它的执行顺序应该是什么样子的。先走什么东西啊。就是我select的,呃,假如说一个name from,然后一个U的表,然后will,然后ID等于二。都没。先是from table吧,对吧,啊先走,然后呢。基本上不吧啊走不了,然后最后是查,要是要查出东西对吧,最后走这个select,当然你要是还有分组啊,还有那个聚后函数啊,分组在前,聚后函数在后,对吧?啊是这个这一套,那其实have当中也一样,那同样道理,他先走from,那你想想看,他在走from的时候,他在编译整个。
04:14
任务的时候,这时候任务还没有开启呢,因为我们说了它里面还有解析器先在还有什么编译器后面对吧?啊解析器编译器先看你这个S正不正确,因为他走到这个。From的时候,他去去哪个地方找什么东西啊?他是不是先去MY里面读原数据啊,对吧,他要去找到我实际数据在哪。啊,在哪啊,也就是说MY虽然存着每一张表在哪,但是这个东西呢,还得由我们汉来读,其他人你自己读了没用啊,你用不了一个数据啊,原数据呢,是我们还有存的,也是我们还有自己来读的啊,这就是他还有一个本质,所以我们在装的时候并没有客户端,对吧。并没有客户端啊,当然你可以把这个have,我们安装的那个解压的那个架包呢,给它发送到103104,这样这个时候呢也能起来。
05:05
也能起来。啊,但是呢,它都是三个独立的客户端。三个独立的客户端,你去操作的时候是三个独立的,相当于你要提交三个搜狗,它就是三个任务通知执行的是这个意思,他不是说我们之前所讲的,你分发一下,它是以集群式来工作,不是的,它是三个独立的客户端。啊,都是购物单,OK,这是我们所聊的,还有一个本质,其他的什么优缺点,还有架构这一块呢,呃,你自己要去看一看,老师说了,这里面呢,就是第一章里边有可能会被问到的就是这个面试题,那关于这四个气。对吧?啊,你要记得住他们那个执行顺序大概是什么样子的啊,你要去了解一下了,后面呢,就是与数据库的比较,我说了这一块呢,在那个面试过程当中,可能会把。可能会问啊,他有可能就问这个have跟这个数据库的一个比较,那我们说了,呃,这里边八个点,你不要像背书一样,抓住核心的就是数据量呢啊,根据这个数据量来聊,其他的什么延迟啊,什么索引啊,这些东西啊,都可以说啊,都会说,包括计算引擎啊,这些东西都不一样,因为数据量不同,那MY搜狗的一个引擎肯定是处理不了这么大的数据量的。
06:15
对吧,要不然就没必要说有这个大数据的一个工具了,好那之后呢,是安装这块就不聊了,我主要想说一下这个MY第一个。第一个就是MY的安装呢,因为它属于服务级别的一个安装,它并不是说我们装一个程序,然后启动一个接入咱的进程,首先第一个它我既然说到这一点,它必须都在什么。入的不一样,包括你装完了之后,有同学说我是拿入的装的,装完之后我想看一下对吧,So my status你看。PID说,不存在。对吧,这个问题就是说这种服务级别的,我们都要切到什么。啊,签到入场,那我们再来看一下,这就没问题了啊,有很多同学就可能觉得,诶这个是不是没起来,或者说有问题。
07:06
啊,有问题,你看一下他这个地方这个目录,他说这个东西是什么。权限拒绝,也就是说你看这是一个什么PID文件啊,里面保存了它的一个进程号,当然这个进程呢,不一定是一个接入进程,对吧,它有很多进程,它跑在Java虚拟机上面,你通过GPS才能看到了。啊,你跑到Java虚拟机上的GPS才能看到类似应该有人做过开发,他们那个装过那个什么N等等这些东西。那C写的GPS,你启动了GPS看不见吗?那C写的不是运行在GM上的,因为这个GPS这个东西啊,它是加va真的立方的个命令啊。来看一下。在。是你安装的JDK,安装的Java里边的命令,所以它能看到的进程都是属于什么呢?
08:01
运行在Java虚拟机上,那MY这个服务它并不运行在你Java虚拟上,还有我刚才提到的inx这些东西都不是,也就是说你通过GP看不到啊,这边看不到,你不要想着,哎,这个服务器的GPS也能看到啊,有同学拿GPS看说看不到对吧?啊是正常的,就是看不到啊。第二点呢,就是你无论是启动重启还是查看状态,都要切到root去看。不要在爱德硅谷,爱硅谷呢,没有这个PID文件的一个访问权限。对吧,那他怎么知道你这个东西到底有没有起来呢?他连访问这个权限都没有,因为你的一个进程号,假如说我起了这个啊,来看一下。我还是回来。然后呢,我现在是不是开启了什么内no这些东西啊,谁知道他们一样。啊。这里面就有什么,来看一下这边。叫三四对吧。
09:02
什么?这个就是它进程,如果说启动了它有一个P文件,那为什么刚才我们在艾特硅谷他看不到呢?就是因为艾特硅谷它没有这个PD文件的访问权限。所以他没办法知道你这个进程到底是启动的还是没启动,还是什么问题,能懂我的意思啊,他连访问权限都没有,如果说root有访问权限,他可以看到这个PID,诶里面有没有东西,或者这个PID文件存没存在,它都有权限,他就能知道这个事,能懂我意思,现在老师还的硅谷,所以呢,你看他都是爱特硅谷权限的啊,你直接能查看,当你把它关掉。啊,有有时候会发现这样的问题,这个进程呢,是异常推出的。你会发现什么事呢?你在取的时候,它会告诉你这个P已存在,你查进程的时候呢,又没有。那就是因为这个进程是一般提出的PID文件没删。Pad文件没删就会导致这个问题多出现在哪呢?那个ZP我不知道大家有没有出现这个问题,可能大家用的比较少,因为只是当前才用了一天的ha,对吧,Ha才用了ZK,因为你们后面肯定会有人遇到这个问题。
10:12
啊,肯定会有人遇到问题,但是这个PD呢,ZK的偏D,我现在要说一下,到时候你们遇到这个问题的时候,要注意一下ZK的偏D在哪呢?刚才我们看到。哈,都把所有的一个PD,包括卖黑色PD都在哪啊。他了他,然后如开的便宜在哪呢?CD的黑。我们之前不建立了一个这个CK data塔嘛,对吧,CD的这个ZK塔看一下啊。这个麦motion to motion to这个里边呢,麦我们自己建的对吧?啊,那肯定是这个没问题,Motion to就是存放的那个数据。节点里面不是存很多数据嘛,对吧,你不是放一个ha不有个class等等这些东西存放很多数据嘛,它在version two里边是实际数据存放率,它一定有实际是数据存放率,因为我们把进程关了,关了之后重新启动的时候那个数据还在吧,所以它一定是存在磁盘的,对吧?啊,所以呢,它在这,如果你想重装这个VK也不用重装,你把它删掉就行,三台机器把它删掉就等于是重装的,因为所有东西都没了。
11:18
啊,相当于重装了,是这个意思,好,那那个偏离在哪呢?我们来取一下。就到时候如果说你们重新启动的时候,他告诉你这个进程。哎,这个PID文件已存在了,但是呢,不让你启动,但是你GPS又看不到,进来时候你要注意一下。它的边在这,在你的CK贝塔里边。啊,在ZK贝塔里边,那你去手动的把这个P干什么。删掉,然后重新启动就OK了啊,这后面呢,肯定会有人遇到这样的问题,所以说呢,正好聊到这个事情,来做这个事情,然后把这个事情说一下啊,到时候呢,你要关注一下啊好,那如果说正常关闭的时候,我刚才说的只有在发生意外情况的时候,它才会出现PID文件没有删,然后进行挂网。
12:05
啊,进程关了,只会出现在这种情况,那我们看一下,我现在已经把进程关了,你看PID也就没了。没了吧,啊也就没了,是这意思,如果进程都是正常推出的,他一定会把pad文件删掉了啊,Pad文件删掉了啊,所以要注意下,正好说到这个MYS一个权限问题,因为后面肯定有人遇到这个问题啊,顺便说一下啊,稍微记一下记一下啊,到时候遇到这个问题知道怎么去解决啊,要改的话,三台都去看一下啊啊是否三台都有啊,因为三台呢,它都是放在这个C里边的啊好,这个呢,主要的我早上看了一下问的问题,大部分应该都是这个买色当中的问题。还有一个点啊,就是有很多同学昨天强调了,就是你要按照这个步骤去把这个去做一下吧。很多同学没有做这个事儿,然后呢,他只是把这个百分号加了,但是底下没删。它带来的权限问题,因为昨天我带大家看了,首先我们logo host是我们默认进去的。
13:01
因为我们直接通过MYSQL-u root-P,然后用默认的,它是不是你那个搜装满了之后,它提供了一个默认的密码,对吧,我们用默认密码进去的,那这个时候我们并没有提供主机里他用的是谁呢?就是用的是VI host。他用的logo号进去的,然后之后我们在里边是不是改了一下密码。把它改我我是改成六个零,可能有的同学改成123456,这个无所谓,密码改成什么无所谓对吧,那你改的呢,就是针对于logo的这个密码。其他的密码还是谁呀?还是之前的那那一套,就是那一套像乱码一样的东西啊,它系统提供的,因为它默认的密码,那这个时候呢,你不删它有同学可能会出现这个问题,诶我有时候能登进去,有时候就登不进去。有时候又登不起,那产生什么情况呢?因为你这里边保留的哈1117.0.0.1这种互换地址对吧,找的还是本机对不对。
14:00
那你前面又有百分号,百分号呢,是不是也可以代表这个合度零二。有时候他又拿哈102去等,有时候呢,他又拿这个百分号去等。就会导致问题,因为两个密码不一样,因为你输入的密码肯定是你改了123456,或者是六个零,然后他校验的密码还是老的密码,最后有问题,一旦你改了这个百分号,你就把其他的东西给他干掉。给他删了啊,不要留着,不要留着,因为用百号就够了,在任何主题都可以登录。也有有同学问,诶我这个have装在101,我买装在103可不可以可以,因为101可以登到103对吧,因为我配的是无主机登录,无主机登录就是不限议主机,大家只要你用户名是root,密码是你自己改的后面那个内容那就难登录。啊,包括Windows,甚至我们拿那个那或者你拿log也能登进去啊,就任何地点都能登进,讲的这个事啊,你就不要因为你这个地方一个版号一个号的向量就很容易产生冲突。
15:01
就很容易产生错误,如果两个密码是一样的还好,因为无论走哪一个都是这个密码了,加上你写的是六个零,然后它默认的密码是123456,那走的123456去校验米果零了,那么就权限拒绝对吧,他报的是不是权限拒绝,跟刚才我们看到的查看PD文件一样,报的这个错吧啊。说root艾特什么哈,102,然后permission。对吧,啊,就权限拒绝就是这个原因,所以呢,你要做就做彻底一点,要不然你就不改。啊,不改也行,不改,但是在其他机器登录的时候会有一些问题啊,其他如果说你保持呃汉在101买在101,你可以不改,这个没有问题,因为它默认的都有这些对吧?啊log house进去啊,这没有问题,但是你一旦把这个百分号改了,其他都删一下啊删一下,删完之后切记刷新一下。我昨天说了一定要刷新吧,不刷新的话,你把麦重启一下也可以。
16:00
啊也可以啊好,这个之后呢,是我们所讲的,把这个配完之后,你去配一下这个。驱动对吧,啊,把驱动扔进来,OK,这个驱动呢,有些同学有点问题啊,就是第一个。是放在力下。不是放在地上。对吧,第二个。放的是什么东西啊,是这之前这里面有个踏包吧,是吧,踏包解压之后这里面干什么。一个架包,把包扔进去啊,架不要扔错了,不要扔一个什么文件夹呀之类的东西,直接扔进那不行啊,用不了得把恰包扔去,然后它自己,因为它这个内包启动的时候,它会加载到类容下,然后你我们在配置文件里面不是写了那个驱动名字吗?Com点什么MYS点,然后对吧,然后他通过反射去找一个类。啊,然后你这个家暴如果放错了,那就是那个类找不到,他会告诉你那个拉pass价找不到那个类对吧?啊都会有这种错,所以呢,这个东西千万不要弄错了,之后还有一个点就是这是一个啊驱动后呢,是我们所说的一个康康里边呢,我们的have-S自己添加的,那添加进来的时候大部分可以摘,但是这个地方有同学可能没改吧,啊直接把六个零,因为呢,它密码是1234566个零没改,这块都要注意一下啊,这一些小细小细节,因为我昨天提示了这个地方。
17:24
对吧,我说有的同学不是叫HELLO102啊,主机零不一样,那这这些东西呢,都去改一下啊,都去改一下,就根据自己的啊,不要在这种小的问题啊,卡了很久啊,都不是什么难的问题,对吧,因为这个就稍微注意一下,就是任何你在粘我配置文件的时候,都去看一下有没有这种东西啊,都去注意一下就OK了,其他的之后呢,我们配完了之后就可以,因为昨天没有放在录屏里了,我们是不是当时是什么原因,我们要去装这个蓝色卡。只能启动一个,当然只能启动一个,对不对啊,当然只能启动一个,OK,那现在我们来看一下。
18:06
好,这边呢,启动了,我们可以受。对吧,然后我们再开一个。C。好。Have就可以就可以,两个都能启动了,昨天没一直报错,还有一个问题,我不知道有没有同学去做这样测试,诶,之前我们没改到麦斯克的时候,我第一次在汉武亚起。没关,我第二次换一个公路去也能起来。也能起来啊,就是DBDB,它是这样的,你如果换一个温度去起,有同学应该发现这个情况,它的D b.log跟这个文章DB不是在have的函装数下。这个东西出现在哪呢?你每用一个用户去连,他在你启动的那个目录,就当前目录叫点杠这个目录去做一个什么事。德比点跟创建一个原数据库。
19:03
啊,所以呢,你在德比情况下能起来,你用的不是一个库,你用的不是一个库啊,也就是说你刚才假如说你两个在德比底下起来了,你在这个地方创建表,这看不见。能懂,这意思就跟我们用德比创建的表,在MYSQL当中看见的看不见一样的,用的不是一个库能听懂。啊,就是跟目录有关啊,跟目录有关,你起不来就是德比起不来的前提,两个都用这个,也就是说现在这两个东西是通的,对吧?啊现在呢,我们用的是买的同一个原数据库,他们俩呢是通的,你之前用德比他俩通不了,独立的独立的两套啊,那是不一样的,那个是用起来很用户体验很差的,因为我刚创建的表,我换现户户一登没了。对吧,啊,这个用户体验很差,所以呢,我们把它改到了这个满思索当中,也就是说我们要实现的这样效果,那你再开一样,再多开是一样的。啊,这是我们昨天所讲的主要内容,就是也是一项没有太多的一个东西,更多的是前面的理论知识啊。
我来说两句