HDFS Client 设计实现解析

前对 HDFS NameNode 和 DataNode 的架构设计实现中心做了介绍,本文对 HDFS
最后一个要构成组件 Client 做更分析。

注:欢迎大家转载,非商业用途要于众目睽睽位置注明本文链接和作者名dijia478,商业用途请联系自身dijia478@163.com。

流式读取

HDFS Client
也客户端应用提供平等栽流式读取模型,就像看本机文件系统一样来走访
HDFS。将复杂的分布式文件系统读取细节隐藏,简化了上层应用之应用难度。写过读取本机文件的程序员想必都不行熟稔流式读取的编程模型,就不多说了。

前面步骤:Solr集群搭建详细教程(一)

错误处理

相对而言读取本机文件系统,从分布式文件系统读取出错概率会重强。因此 HDFS
Client 提供了部分叠加功能来提升分布式文件系统读取访问的可用性。在从有
DataNode 读取数据的进程被而有误非常,Client
会透明的易至去第二像样的 DataNode 上,并记住第一单 DataNode
读取失败,后续之 blocks 读取将不再尝试该 DataNode。除此之外 Client
对于读到之每个 block 进行 checksum 校验,若读到损坏的 block,则于
NameNode 汇报,并尝试从旁副本重新读取。

其三、solr集群搭建

专注,在搭建solr集群前,建议太有一个solr服务是一度搭建好之,可以简化大量双重的配备操作。

单机solr服务搭建过程参看我的即时首稿子:

缓冲写副

创造文件并写副数据的操作并无是一直连到 DataNode
同步远程写副的,而是通过描写副当地的一个临时文件来发缓冲。我们刻画本地文件也不时以同一种植
BufferedWriter
来加强写入吞吐力。本质上都是为化解数据生产端和多少接收端处理能力的差异,在单机情况下磁盘操作慢,所以用外存
buffer
来缓冲。在分布式环境下,不仅要考虑磁盘还要考虑网络,所以用当地内存加上地方磁盘文件来做缓冲。

利用写 HDFS
的操作为透明底换到写副当地文件,当本地文件积累之数超过一个 block
的深浅后,Client 才请求 NameNode 分配 DataNodes,Client
再用地面文件的数额一次性的发送到对应之 DataNodes
流水线处理。这实在是拿联名写转变成为了异步写过程,提高了写入吞吐性能。

当文件给关闭后,在 Client 端临时文件中剩下的数额以为传给
DataNode。然后 Client 告知 NameNode 文件就关闭,写副好。NameNode
这才将新写副的文件持久化,若在文件关闭前 NameNode
宕机,则正在写入的文本正是丢失了。

Solr服务以Linux上之搭建详细教程

是单机solr服务在solr集群搭建第二步和老三步里待,搭建筑好一个solr服务后,就可开展集群搭建了。

总结

Client 于 HDFS
的老三个第一部件中相对简单,在统筹实现时再度多着想易用性、容错和性。
至今,对 HDFS 的老三单关键部件 NameNode、DataNode 和 Client
的规划实现中心进行了叙,
此起彼伏会以主题文章对其中一部分要害的技能点召开越来越分析。

第一步:创建四个tomcat实例。每个tomcat运行在不同之端口。8180、8280、8380、8480

高达传解压步骤省略,这是自己解压好之

澳门美高梅手机网站 1

复制tomcat到事先搭建zookeeper集群第四步时,创建的/usr/local/solr-cloud目录里,复制4只

澳门美高梅手机网站 2

夺solr-cloud目录,发现已经复制好了4个tomcat目录

当tomcat目录下之conf里之server.xml,修改每个tomcat的捧口号,这里只有演示第一个目录的,另外三只都要改,端口设互不冲突

澳门美高梅手机网站 3

 用/port命令搜索port字符串,按n搜索下一个,有三单地方如果改,依次更改为

澳门美高梅手机网站 4

澳门美高梅手机网站 5

澳门美高梅手机网站 6

另三单tomcat目录里之server.xml配置的端口按照234的逐条全改成了什么,具体经过这里我就算无截图了。

合计要改四只文件,每个文件里改变三独地方,这12个端口号而互不冲突

澳门美高梅手机网站 7

参考

[1] Hadoop Documentation. HDFS
Architecture.
[2] Robert Chansler, Hairong Kuang, Sanjay Radia, Konstantin Shvachko,
and Suresh Srinivas. The Hadoop Distributed File
System
[3] Tom White. Hadoop: The Definitive
Guide. O’Reilly
Media(2012-05), pp 94-96


下是自己要好开之一个微信公众号
[瞬息之间],除了写技术之篇章、还有产品的、行业以及人生之思量,希望会与再多活动在当下长达路上同行者交流,有趣味而关注一下,谢谢。
澳门美高梅手机网站 8

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

仲步:把单机版的solr工程复制到聚集众多被的tomcat中

当搭建好之单机solr服务里(这里是另外一样首教程,上面说过了),复制solr工程及第一步的4个tomcat目录里,一共是复制4份

澳门美高梅手机网站 9

老三步:为每个solr实例创建一个对应的solrhome。使用单机版的solrhome复制四份

一致当事先搭建的单机solr服务里,把solrhome复制4卖出来到solr-cloud目录里

澳门美高梅手机网站 10

今天solr-cloud目录里是起这些目录,检查一下有无来复制错地方的:

澳门美高梅手机网站 11

季步:配置solrCloud相关的布局。每个solrhome下还产生一个solr.xml,把里面的ip及端口号配置好

事先搭建单机版solr服务之时光从不动过solrhome里的这个文件,现在搭建集群了,需要展开修改

澳门美高梅手机网站 12

亟待修改4独solr.xml,我此要只有演示第一单,另外三只目录里之接近比较在改变,一样的,就是1234之逐一

找到这个地方,第一只红框代表时节点的ip地址,就是你安排这solrhome01,tomcat01汇聚群节点的服务器ip,实际工作屡遭虽是会见配备4单服务器,一个服务器是一个节点,部署一个solr服务

次单红框代表时solr服务实例的端口号,就是所于的tomcat的捧口号,就是第一步于tomcat01的server.xml里部署的8180

澳门美高梅手机网站 13

自家之配置完后是这么的

澳门美高梅手机网站 14

另外三单依照在改变呀,由于自家是于平宝虚拟机搭建的季个实例,所以一定四个实例的ip是一模一样的,但端口分别是8180,8280,8380,8480

澳门美高梅手机网站 15

第五步:需要改solr服务之web.xml文件。把solrhome关联起来

改者文件,和前面单机版的solr配置是同样的

如注意的凡,tomcat01这里的solr服务,是上面第二步复制过来的对准吧,是自身前用solr7搭建筑之单机solr服务,里面的配置以及solr4不极端一致,具体要失去文章最上面看自己提供的单机solr服务搭建教程链接

澳门美高梅手机网站 16

找到这,这里是自己前面搭建单机solr服务时,配置的solrhome路径

澳门美高梅手机网站 17

现今更改集群的solrhome01目录,使他们关系起来

澳门美高梅手机网站 18

旁三个tomcat里之web.xml都针对许正在同一改,solrhome02,03,04

澳门美高梅手机网站 19

第六步:让zookeeper统一保管配置文件。需要拿/conf目录上流传zookeeper

今我们每一个solr都发出矣团结的solrhome,现在我们若叫各个一个solr实例的配置文件还无异,这个布局文件需要集中管理,这个上咱们采取zookeeper来统一保管配置文件。所以要是将配置文件上传到zookeeper中。那么上污染哪些安排文件为?

此间注意下managed-schema文件,网上有过多不如版本solr,会波及一个collection1/conf下的schema.xml,但是连不曾找到。好像是从5.0版本开始免以schema.xml的,这俩其实内容还平等,搞不懂得也甚要变个名,而且内容格式是xml,但是文件名却没有.xml的后辍,这里一直上传整个conf目录就尽。

澳门美高梅手机网站 20

懂得了而达传什么,那么怎么上传呢?打开最早solr解压出来的本来面目文本(如果去了那么即便更上传解压吧)

澳门美高梅手机网站 21

以斯目录下有只剧本文件,执行之本子就可以用部署文件上传到zookeeper了,有硌难找,我是为此find命令于搜出来的。不过自己此为出了pwd路径

 澳门美高梅手机网站 22

若专注,在尽脚本上污染配置文件前,必须先失启动zookeeper集群

澳门美高梅手机网站 23

接下来回来执行脚本

此地脚本的执行命令有接触长,主要是参数多,建议复制出来改成好后更糊贴上失去

./zkcli.sh -zkhost 192.168.25.128:2181,192.168.25.128:2182,192.168.25.128:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/configsets/sample_techproducts_configs/conf -confname myconf

澳门美高梅手机网站 24

我讲下各个参数的意义:

红色框代表zookeeper集群的ip和端口号列表(搭建zookeeper集群的时刻配置了的)

绿色框代表要实施的凡上传配置文件操作

黄色框表示的是如上污染之布局文件目录(低版本不顶相同,具体以那片只基本点的配备文件所在澳门美高梅手机网站目录为以,不知到以哪就是find命令搜吧)

紫色框代表的是您给上传的布局起的名,可以变动

如今上传完了,那么我们怎么确定是否达标传成也?去zookeeper集群的一个目录找到bin里zookeeper的客户端脚本

澳门美高梅手机网站 25

运作后,里面会产出同颇堆内容,如果你莫指定参数,他会晤默认访问localhost:2181

澳门美高梅手机网站 26

在最下面执行这个命令,查看在干净目录下出啊,发现一个configs

澳门美高梅手机网站 27

再拘留它其中有啊?哈!

澳门美高梅手机网站 28

立马即是咱们刚刚上传的配备了,名字同样的,代表及传成了

然后据此quit命令退出

澳门美高梅手机网站 29

假定您需要改配置来说,只所以在才杀conf目录里转好,改好后再行上传一模一样不好就行了,就见面盖原来的安排文件

第七步:修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper

而今齐传好配置文件了,可是solr和zookeeper还并未树立任何关联,他们吧不晓对方在哪,这个时需要改4只tomcat的布置文件,这里仅仅演示tomcat01,其他三个完全相同照在改变

澳门美高梅手机网站 30

打开catalina.sh文件,加一个JAVA_OPTS这个参数,初始化这个价完了会见招于solr,注意勿是以这个截图这里修改啊

澳门美高梅手机网站 31

用/JAVA_OPTS搜索红色框框里的当下句话(因为低版本加的职务长之莫顶相同,但随即句话的事例是免换的),在即时词话下面的岗位加(注意位置啊,不要做错了):

澳门美高梅手机网站 32

加上JAVA_OPTS的值(zookeeper集群的ip列表):

JAVA_OPTS="-DzkHost=192.168.25.128:2181,192.168.25.128:2182,192.168.25.128:2183"

澳门美高梅手机网站 33

然后拿另外三独tomcat也一样改,改之职以及情节是一致的,不用变

澳门美高梅手机网站 34

这么每个solr实例就由此这参数与zookeeper集群建立了关系,solr会将协调之状态发送给zookeeper,比如ip地址啊,端口号啊,zookeeper就可以连续不断至solr了,建立了通信关系

第八步:启动每个tomcat实例。要包zookeeper集群是开行状态

现在需要启动每个tomcat,当然矣,这个跟启动zookeeper集群一样,要一个一个进来启动,太难为了,还是写单批处理下本来运行

澳门美高梅手机网站 35

/usr/local/solr-cloud/tomcat01/bin/startup.sh
/usr/local/solr-cloud/tomcat02/bin/startup.sh
/usr/local/solr-cloud/tomcat03/bin/startup.sh
/usr/local/solr-cloud/tomcat04/bin/startup.sh

澳门美高梅手机网站 36

保存,退出

澳门美高梅手机网站 37

发觉没有运行权限,添加权力

澳门美高梅手机网站 38

接下来运行脚本,等等啊,tomcat集群启动于慢

澳门美高梅手机网站 39

要是您想看启动起来没,可以复制一个对话窗口(我于是之xshell5),去看tomcat的日志信息(相当给看控制台打印信息)

澳门美高梅手机网站 40

因而这令查看,我立即就是翻一个,应该早就起步好了

澳门美高梅手机网站 41

这边说个小知识点,tomcat8开始,默认启动的凡NIO模式,7默认启动之是BIO模式,还可由此配备设置APR模式启动,至于APR,NIO和BIO的区分,是同tomcat并作性有关的,高并发的网应以tomcat的模式设置成APR模式,会大的增长服务器的拍卖和响应性能。感兴趣之得友善百度下。当然这个不用在意,跟本文集群搭建无啥关系,就是想到了游说一下。

第九步:访问集群

然后据此自己之微机访问下我们的集群吧,之前单机版是绝非红框框出来的少个东西的,出现是就是OK了

澳门美高梅手机网站 42

自家这边还未曾创建collections,所以何都尚未:

澳门美高梅手机网站 43

小心下访地址的输入,要描绘全。访问地址写成这样见面404

澳门美高梅手机网站 44

第十步:创建新的Collection进行分片处理

点击页面的Collections按钮,然后就是会互补加了(高版本的solr才有,低版本的要经地方栏传递参数去装,比较累)

澳门美高梅手机网站 45

自此选择的凡名字叫mycollection1,用自己上传的myconf配置文件,有2片shard,每个shard有2独备份节点一兆一均

澳门美高梅手机网站 46

接下来返回看下,这样solr集群就搭建ok了!

澳门美高梅手机网站 47

第十一步:删除不用的Collection或core

抹collection,点这里,然后输入而要是去除的collection名称即使尽

澳门美高梅手机网站 48

 删除core在右边,完了而如补偿加下面有add
replica(如果工作吃若的谁备份机挂了,就这么删掉挂的服务器,再续加一个吓的哪怕实行,当然矣,在这边丰富前,肯定是内需在服务器上布置好solr服务,然后连zookeeper集群才行的)

澳门美高梅手机网站 49

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注