草庐IT

大数据实践总结--两个故障的处理及思路总结

bingyang87628 2023-03-28 原文
    已经有一段时间没有更新实践内容了,不是因为没有在学习。而是工作上出现一个新的挑战,又在忙论文查重,论文也是大数据方向的,主要是ICT方向的一个技术(若有人感兴趣,我会另开一个帖子来详细谈这个内容)。

    而且最近,把之前所有的实践环境换了一台电脑来重新搭建。按理说会很顺利,但没想到,还是出了许多问题。一些简单的问题就直接解决了,但仍是有两个大的故障,一直到今天下午才全部都解决了。现总结如下,为以后也能更好的学习使用。



故障一:虚拟机上虚拟适配器不能链接到主机的网络


故障现像

   在将原来的虚拟机整体复制到新电脑上之后,发现从虚拟机上可以PING通外网,但从自己的主机上不能PING通虚拟机。这样就导致了无法从CRT软件上远程登录虚拟机。


解决思路

    这个现像在网络上叫单通,也即PING操作里只有一个方向能够通过,一般出现这种情况,首先的判断是防火墙的问题。而从虚机到外网可达,说明虚机上的防火墙是关闭着的。然后重点就是在主机侧,通过查看主机的网络链接,没有找到跟虚拟机的网络链接。故障原因可能是出在这个地方。


解决步骤

    关于这个问题,网络上能搜索到许多贴子,解决办法也有很多种。什么重启,重新配置之类都有很多。但都没有最终解决虚拟网络链接的问题。


1,http://tieba.baidu.com/p/3508962695主要是参考了这个贴子里16楼提到的方法,因为故障的关键是在虚拟网络没有建立上。所以主要思考如何能够重新建立这个链接。

2,在以上的解决办法中,没有按照上边的一步一步来照着操作,而是直接下载了cc cleaner这个软件,因为通过之前的相关贴子,发现之所以虚拟网络链接无法建立,可能跟操作系统有关,而这一块又肯定与注册表有关。而这个软件主要是修改系统的相应注册表项。

3,当修复完相关的注册表项,查看网上邻居的属性页面,发现出现了与虚拟机相连的VMnet8的网络链接。然后通过属性页面,修改其IP为虚拟机的网关IP地址,同时DNS也设置为虚拟机上的DNS。


最后,再进行相关验证,在这里有一点需要注意,要把你主机的对外网络设置为可共享(相当于虚拟机通过共享上外网)。至此,故障解决!


故障反思

    任何故障的出现都是有原因的,在网络上都能够搜索到相关的信息。如何找到关键词,找到适合自己的相关内容很关键。同时要对故障产生的大概原因有一个前提判断,这样就是可以在正确的跑道上去寻找答案。首先要相信一点,是故障总是会被解决的。不要总想着重装系统来解决问题,这只是逃避问题的一种方案。多去思考,多去看前人的技术总结,会让你的技术思路有很大提升的。


故障二:在搭建好Hadoop集群后,namenode与datanode两个过程不能起来,或者一个启动之后另一个自动关闭


故障现像

    此故障可以算是在换电脑搭集群后最多的故障了,首先是从节点上相关进程都没起来,后来又是进程起来后从节点上datanode节点没起来,最后是datanode进程起来之后,主节点上namenode进程又没起来。此故障看起来一波三折,实际上在理解好相关原理后,解决起来要比第一个故障轻松一些。


解决思路

    原理为先:首先要找到对应关系,主节点上namenode主要是跟从节点上datanode相对应。

                                  主节点上jobtracker主要是跟从节点是tasktrack相对应。

    故障细分:1,从节点上进程起不来。2,datanode无法开启 3,namenode无法开启


解决步骤

    此故障在网上也是有很多攻略,在看完其他人的解决方法后。从理论联系实操分三步走来解决这个故障:


1,从节点上进程无法启动,这个问题较为简单。大部分是由于各虚拟机之间的防火墙没有关闭,而在真实的生产系统中。也表现来Linux之间的防火墙问题导致的HDFS集群不通。又或者是暂时性关闭防火墙,没有永久性关闭。具体的命令从网上都可以找到。

2,datanode无法开启,这里就要寻找你当初设置此集群时的六个文件,里边就有设置的相关参数。主要是在core-site.xml内,在这个里边,我们设置了相关临时文件夹,也相当于这个进程在开启之后是否与主节点需要通信。当把这里边建立的tmp文件夹删除之后,从节点上的datanode就可以顺利开启了。

3,namenode无法开启,由于从上边的原理上来看,datanode与namenode是相互依存的关系,而它们之间要启动肯定是同时启运的。不会一个开启,一个关闭。若是这样,那肯定另一个进程一会儿也会自动关闭。而控制两个进程之间同步的有时间戳消息。而这个消息主要是在logs日志里。当把hadoop安装目录下的logs全删除后。


然后,将全部进程停止,再全部重新启动。所有进程就都起来了。至此,故障解决!!


故障反思

    此故障解决起来,主要是要把原理搞明白。不然在看网上相关攻略的时候总是会找不到方法。多去思考背后的原因,多去总结,反思!提升自己解决问题的能力!


    经过这两个故障,更多的对Linux的基础命令熟悉了许多,同时对HDFS的相关设置也更加熟悉。在实践过程中,也遇到过:若是故障解决不了,要不要重新搭建的问题?后来想明白了。在网吧上网的年代,那些喊一声网管,电脑死机了。网管一般的解决办法就是重启。而重新搭建就跟网管的功能是一样的,遇到技术上的问题,不要逃避,多去思考,多去实践,才是提升你大数据技术实力的关键。


有关大数据实践总结--两个故障的处理及思路总结的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  4. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  5. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  6. ruby - 这两个 Ruby 类初始化定义有什么区别? - 2

    我正在阅读一本关于Ruby的书,作者在编写类初始化定义时使用的形式与他在本书前几节中使用的形式略有不同。它看起来像这样:classTicketattr_accessor:venue,:datedefinitialize(venue,date)self.venue=venueself.date=dateendend在本书的前几节中,它的定义如下:classTicketattr_accessor:venue,:datedefinitialize(venue,date)@venue=venue@date=dateendend在第一个示例中使用setter方法与在第二个示例中使用实例变量之间是

  7. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  8. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  9. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  10. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

随机推荐