00:00
接下来我们看一个查询从事和高可用,那这个可以说对我们线上使用来讲,应该是比较重要的一个。呃,功能点啊,那一般呢,我们肯定要考虑到这个事儿,对吧,那主要有几种方式啊。因为什么呢?因为我们F艺术在我们实际环境肯定是部署多个节点。那我们之前说部署多个节点是不是可以有有什么呢?呃,Follower跟observer对吧,Follower又有master节点,又比如说有leader呗,Master就leader吧,那比如说还有普通的follower。Follow啊,那甚至呢,你还部署了一个observer是吧?好,那我们说了这样的话,本身可以实现一个什么高可用对吧?但只但这里有个问题,它是实现了高可用,但是连接fe是谁来做,是不是用户来连接fe啊,我举个例子。
01:00
如果这个leader啊,比比比如说我用户连接的代码也好,或者客户端也好,我们是不是写死的一个。一个主机名对吧,比如说我刚才连接是MYSQL-H哈度和一啊。就这台连接的是哈度尾一这台对不对,F1,那么如果这一台挂掉了。是它内部自己肯定能再重新选举出一个新的leader,就比如说这台选举为新的一个leader,但是呢,对于用户来讲,你之前写的地址只有一个哈豆一,那现在就完了,对吧,它没它不会自动切连接的话,不会自动切换过去了。那所以这边就需要我们在。做一些事儿啊,查询的从事。高可用。那有这么几种方式啊,第一种呢,就是你代码写的时候,自己代码实现,就比如说我比如说我们现在三个F1节点,对吧,你代码可能是连着它。
02:09
但是呢,你可以逻辑上再加个判断,如果这个连接没了啊,那这个时候尝试的连接另一个节点。对吧。这个是通过自己代码方式来实现,这也很简单,对不对,但是还有更简单的方式啊,如果我们是写的JDBC的方式来连接Doris。JDBC啊,那直接就是什么,直接在URL地址里面写多把你把你fe的多个节点都给它写上去就行了,那这样的话本身就是其中一个不行了,它就会尝试连接第二个啊。那这就是比较简单的方式了,对吧,这个应该大家都看得懂啊,就把多个全部给他写上去啊。主机跟端口都写上那就OK了,好,那么如果这两种方式啊,可能你都用不上,那还有一种。
03:01
额外的方式用代理的方式啊,Process circle。它是一个my circleql的代理层啊,代理层这个其实跟dollars没关系,对吧,那本身我们如果你用过MYSQL也应该知道这个东西,那我们在这里呢,简单介绍一下。它是能够实现什么,一个是代理买。那么而且能实现什么读写分离,支持一个路由还可以。动态指定某个circle口,进行缓存等等等等,功能特别多,但其实我们最核心用它的目的在于什么?实现一个自动切换,一个负载均衡是吧?那我们首先来对它进行安装一下啊安装呢,我们先创建一个它的亚母园,那我在哈杜文一上面操作吧。样么,源文件是不是在这个路径下面ETC要么点report.d啊,那后面这个是我们新建的一个report文件,那这边要注意权限啊,要root权限才可以啊好,那直接给到大家的这一串。
04:12
哎,你把它拷过来就行了。好,最后一行不用啊,好保存退出。嗯,你看一下啊,哎,我这出了什么问题啊。看一下啊,看一下。啊,刚才应该是我按到那个输入法了啊,没事啊好,那你也可以尝试着去看一下啊。哦,我我哦,我这边有两个vim啊,那那那我还真得确认一下啊。
05:02
我给你创建了两个吧。呃,好像不存在啊,那我重新创建一个吧。那算了,我这边得清理一下啊。好,没有啊,那没事啊,那我们重新来吧,刚才多打了一个vim对吧,我就说怎么会有两个文件那么奇怪。你看。好。保存退出这样就行了。然后呢,我们要将亚蒙元。呃,更新一下。把它的缓存去掉,因为我们新这个是我们新增加的,它现在还识别不到啊,那么需要执行这么一个命令,要么clean把你的缓存都给先清理掉。
06:12
好,清理完之后,我们要重新make catch一下。好,这边是有我之前的一个东西啊。嗯,我想想,要不我先把它删掉。好,那刚才是我自己以前弄的一个东西的问题,大家是不会遇到这个问题了,那是我自定义做其他事的时候啊,那我们就正常。呃,做一个缓存,Make catch。等它执行完,执行完之后,我们就可以通过亚m mini store这个pro circle了,那我们通过这种方式来下载样本源的方式,这样方便一点啊。
07:17
那么经过一段时间等待,终于把缓原数据缓存建立好了,要么呢啊,那接下来我们就老老实实的安装这个安装就快了。啊,还得加一个心动。那同样我们等待它安装完毕就可以了。安装完毕,安装完毕之后我们来看一下成功没有,我们直接杠杠version。然跳出了版本号就说明OK了,那安装完之后主要有两个东西啊,第一个是它的配置文件,这个在ETC下面。第二个呢,是它的DB文件啊,DB文件这个是在。
08:06
呃,VAR力下面。啊。这两个地方,那我们安装完毕之后,最好呢,还是设置一个开机自启动啊,用system control啊一下啊。好,呃,然后呢,把它启动起来,Start。看一下状态status。诶,少了一个T。你看在running中啊,那就OK。另外就是介绍一下它的端口主要有两个啊,一个是6032,一个6033,这个是默认端口号,6032呢是它的一个管理端口。6033是一个转发的端口啊,就对外提供服务,一个转发端口6033。
09:03
好,那接下来我们讲讲它的配置,刚才讲的配,呃,主要两个东西对吧,一个是配置文件,第二个一个是数据库文件,那这边要说明的一点是什么,如果你呃。第一次啊,修改完配置。啊,启动起来了之后呢,你又要修改配置,想让它生效,必须把这个DB文件删掉。否则呢,他不是第一次启动的话,它不会再去读取这个配置文件了,这个是要给大家聊了一个事儿啊,相当于说我们重新做了一个初始化。啊,重新初始化。啊,这边这一段就是为了说明这个事儿啊,如果要改配置啊,这个DB删掉啊,重新修改完启动它又会生成新的初始化成一个新的DB文件啊好,那我们来看一下这个配置文件吧。呃,ETCETC啊,然后呢,发西三口。
10:04
在这个里面,我们看看主要的配置啊。第一个呢,是它的什么呢?用户名跟密码。这是默认的应用名密码,另外一个呢,这是它的一个端口管理端口,是不是6032对吧?啊都在这里,再往下看,呃,一些MYSQL的变量,我们还要做一些调整,第一个呢,是线程数。还有一个最大连接数,那比较重要的几个我在这里给大家列出来啊,大家看这就行了啊。一个线程数对吧,还有一个指定的端口啊,转发端口。就代理端口啊,6033这个我们保持默认啊,有一个地方我们需要改啊,就是我们后端MYSQL的版本。那我们可以看一下这里,它默认是5.5.30。我们可以把它尝试的改成什么呢?啊,5.7.28啊,这是跟我之前安装的版本保持一致。
11:01
保持一致,那么其他的就没什么了啊,无非就改这个地方。来,我们尝试做一下。7.28,那我们刚才讲的,其实我刚才已经启动过了,那这个时候呢,大家进入到where live这个里面,我们找这个文件。Circle里面的这个DB文件啊。你看这里是不是有一个DB对吧,那这个时候我们再去重启的话是没用的啊,所以我们必须先把它删掉啊。删掉之后呢,我们再重新去启动一下,因为我刚修改完配置啊system啊,Rest class。
12:01
这样才能让它的配置生效啊,我们看一下状态。你看啊,重新启动了,这就OK了啊,这现在是OK了,好了。那。这个我们就启动了,我们可以通过什么呢?MYSQL命令去连接一下,那连接哪个端口呢?6032默认的配置文件,指定的这个管理员账号,管理员密码就行了,还有呢杠H可以去指定一下主机,对吧。那比如说我在阿杜一上面装过MYSQ,也有MYSQL客户端啊。我直接可以在这连就行了,杠u me,杠p me,然后呢杠大P,呃端口是管理端口6032。那杠H指不指定都行,我在本机装的对吧?好。
13:00
啊,这个权限还没有去设置,那直接就本级零了。那我刚才连接发现连不上啊,因为这个admin我们刚装完,这个只允许什么呢啊,本机连接,那你用local host还不行,那我们改一下吧,MYSQL我先指定个端口,6032-u me-P。杠。H杠完我写前面吧,这样好看一点啊,那这边只能写一个什么127.0.0.1了啊,然后呢,杠P来艾好,这样就进来了啊。那我回头就用这个命令,那把这边也改一下,省得大家呃,不行啊。好。那进来之后呢,我们就简单的show data basis,你看它主要有这么几个库啊,一个main,一个disk status monitor status history,那我们现在要进入may这个库,Use may,那你就use就可以了,跟MYSQL语法都是一样的,那比如说在so tables啊,你能看到一堆表啊,有一些我们要去做修改啊,比如说一会改个用户啊,还有跟MYSQL服务相关的啊,去改这个东西。
14:27
好,那么继续啊,那接下来我们做的一步是什么配置。在这个代理circlel里面配置Doris f1啊,把这些节点都给它添加进来啊,添加进来那这边得改一下啊,这个得写127.0.0.1啊。那么插入的是MySQL server这张表。那分别呢?呃,配置三个字段啊,先给大家看一下吧,Server。
15:03
现在是空的啊好,那我们直接把三台给插进来,大家注意写的端口是什么fe啊,是把fe加进来,端口就90309030。好,我三条直接拷贝。好,都插入成功了,再查一下。你看现在三台都进来了,那要给大家解释的有一个字段就这个。Host group ID这个呢,就是一般有十或者20 20表表示写的组啊,啊,十表示写的组,20呢表示读的组啊,是这么一一回事啊,那么现在呢,我们不是说它可以实现读写分离吗?啊,那我们先不做那么复杂,那随便你给个十,给个20都行,好吧,那我们就呃,先给个十,呃再往下呢,如果你有报错,你可以。有报错就是你重复操作了啊,你之前修改过一些配置,它现在就报错啊,那你可以先把它删掉啊,先把数据清空一下,把这张表,然后再重新执行一个插入啊,这简单提一嘴啊,那么接下来注意啊,修改完还得做一个事。
16:18
必须把这张表加载到一个叫runtime的里面,另外呢,要save到这个Dis里面。这样呢,配置才能永久生效啊,要不然我们退出以后,这个配置就没了,就我们修改这些都没了啊,那所以这两步一定要执行啊,中间就是写你修改的东西。啊,你看都写字OK那就行了啊。这这一步一定别忘了啊,别忘了,另外呢。一般来讲我们会去我们在Doris是不是配置的其他用户啊,Doris还记得我们一早首先默认是不是有一个root账号,默认密码是空对吧,后来我们设的密码是不是我设的是六个零啊。
17:07
在之后我们是不是创建了一个test用户对吧,因为我们实际生产环境不可能都用root用户去操作的。那在这里呢,你就需要在这个process circle里面配置一下他们这几个用户,那这边为了演示呢,呃,我就演示一下在DOS我再创建一个账号。好吧。他必须有一个单单独的账号,用于什么监控。啊,监控我们的F1对吧。那那现在我们就要进入,进入到哪里啊。进入到这个Doris里面去创建用户了啊,创建一个用户先啊,那我创建一个用户,我就名字叫monitor啊,密码我也简单设为monitor,那么大家根据需要来啊来。
18:01
啊,没有权限,我用root账号登录root。好,然后呢,受理权限。这边还是写完整一点啊,这个是Doris的Doris啊。9030嘛。好,那这个monitor用户我创建好了,这个时候呢,我们就要进去我们的。Price。对应的跟你Doris创建的账号密码配置一下,Set一下啊,就这两个,一个叫set。Monitors。的一个用户名,还有一个密码啊。来拷贝会意执行的地方,不要执行错了,好切过来哈,一上面这个是我们circle,好。
19:01
设置一下。要保持一致啊,你不要光粘贴过去就完事了,我们说price circle设置完最好都是什么漏的,跟safe一下,那这边我们设置的是变量,所以漏的也好,Safe也好,这边要写一个什么my circle。变量。好让它生效一下,好,这就OK了,你看98行受到影响啊,一定要去做一个safe啊,那么怎么验证呢?我们可以简单查看这么几个信息,那么第一个呢?是看它的连接日志,第二个可以查看一下心跳,第三一个查看一下一个read only的日志。这个只是简单做一个验证而已啊。那么如果我们这边进来了。前面啊,大家注意啊,前面这几个是正常的,因为我们第一次启动的时候,呃,前面这些连接它目前还没有,那后面呢,如果出现这些都是闹,那说明是OK的啊,说明是OK的。
20:10
你看这边我也做了说明啊,可能会有多个错误,因为当时我们配没有配置监控信息啊,配置后他为闹了就正常了,所以你只直接看最后几行就可以了啊最后几行。那说明这是没问题的,另外你也可以看一下他的心跳啊,他监控的心跳是不是正常。对吧,都是闹啊,都是闹。再看一下read only。这这里是空的是正常的啊,因为刚开始啊。四件是空的,好了,那做了这么多。我们记得什么?这边加载和保存的是MySQL server啊,MySQL server啊都执行保存一下,然后呢,查看一下这个MySQL server这几个字段,看状态怎么样啊。
21:05
如果状态呢,都是online,那就基本就OK了啊,没问题,那就添加完毕了,这边只是反复的一个确认,那么接下来的一步呢,我们要配置Doris的操作用户,就像我刚才讲的,我们是不是有个root啊,同时对Doris我们也会创建一个用户,用来做一个日常的操作,是吧?那我们之前只建了一个test,那这里呢,呃,我们再建一个也可以,对吧,比如说我再建一个用户就叫Doris。这都OK啊,好。我这边写完整啊,妮妮啊。好,那在这里呢,比如说我再建一个DOS用户,跟我们创建test用户那个操作是一样的。好,直接粘过来啊,在授权给Doris这个用户,好那就OK了,我这边是用户名叫Doris,密码也叫Doris,好吧,你用之前的test账号来用也可以好吧,啊都可以好,那这个时候我们要插入的是这个U。
22:13
啊。那注意啊,这边配的是什么?Dori的用户名,Doris的密码,Doris的用户名,Doris的密码后面一样,十代表写组,20代表毒组对吧?那把这两个加进来。这边要到哪家呢?是不是得到process家了,对吧,地方找对啊。那同样其实我们是不是还有一个。一个账号叫test。啊,算了,不我就不弄test了啊,就单单独创建一个DOS用户给他用啊,然后呢,保存下载和保存一下。这个呢是MYSQL。中间这个名字都不一样啊,每操作改一个,你要记得加载和保存一下好了,那接下来我们可以看一下状态,查一下这张用户表。
23:08
啊。看一眼。那我们可以看一下root用户啊,密码也显示了,对吧,然后你看一个active是一代表正常啊,是一就代表正常,再往下active也是一正常对吧,那组是十,这我们刚才讲的啊,那么这边要提醒一件事,就是什么呢?就这个参数,如果呃,因为我这个版本呢,可能有版本差异,有些早期的版本这个参数它默认值是零。啊,它默认值是零,那么一般来讲我们用的话,这个事物的持久化肯定是要把它打开的,设成一对吧,如果你看到你这个变量是零啊,你记得把它啊对更新一下,那语句我下面也给到大家了啊。
24:02
就把它设成处就可以了。啊,不是啊,在这里啊,在这里看错了啊,把它设成一就行了啊,设成一那就OK了。然后呢,你再去加载保存一下啊,那这一步我就跳过了啊。因为我这边我们这个版本啊,默认值就是一,那再往下呢,还有一个事儿,我们这边讲呢,我们现在还不需要读写分离,那有两个参数,我们先设一下啊,就一个这个自动提交。啊,两个自动提交的参数,把它改成处啊。就改一下就行了。好,改完之后set的修改的变量,记得加载跟保存啊,就是这一步比较特殊,加载跟保存这些操作都比较简单,接下来就OK了,我们可以通过这个plus搜索去连了啊。呃,比如说我这边可以把它退出了。退出之后,你看我的命令,我现在用什么?
25:03
大家众现在有有不一样的用户是什么?是不是我之前在circle里面添加进的用户,也是Doris本身创建的用户对吧?好用来操作的用户,其次端口是谁呀?Part circle的转发端口6033。6033好吧。然后呢,杠一后面可以写一个circle,如果你这个能执行过来,那就说明你成功了。对吧,这样就OK了,那这个时候呢。你可以去随便玩了,就啊就随便玩了。比如说我把你你可以先把呃哈杜一的停掉啊,我们就来试一下呗。比如说哈杜一的OPT model、阿帕奇dori,然了fe b啊,Stop。
26:00
你看我先把一停了啊,是不是相当于这个挂了。那我们再通过我们再去看一眼啊。我们先看一下一停了吧,诶怎么不动了,我卡了啊。最近这磁盘有点慢啊。啊,这是我电脑的问题,看一下GPS都卡了,好,那我们再次通过什么呢?来连接,然后呢,我直接来受一下,看这个语句还能不能执行,如果可以的话,是不是就相当于说我们。就可以实现我们的目标了,查询从事和高可用对吧,你看是不是OK。OK吧,好。那这就行了啊,那这边我在这给大家写一步啊C验证对吧,像。
27:00
呃哈。杜一的fe停止在。之行。再执行哪一个呢,就我们刚才这一步啊。如果能出来结果,那就是很OK了啊。好,那price circle呢,这个方式安装也特别简单,对吧?啊,我们梳理一下第一步呢,就是通过样的方式。安装。第二步呢,修改一下呃,CNF文件,然后呢,启动。注意注意注意DB这个文件啊,修改的配置DB要删掉啊,点DB要删掉,那第三一步是什么呢。是不是添添加fe啊对吧,添加fe,那其实第四步呢,添加用户。
28:05
对吧,那这个用户DOS得有啊,然后添加到circle就OK了嘛。那第五步直接用就可以了啊,很简单吧。
我来说两句