文章目录
线上收到hadoop集群datanode掉线告警。
1、确认datanode状态
$ jps
24752 Jps
1428 JournalNode
发现未存在datanode进程。
2、尝试单独启动datanode,发现还是不行,错误日志信息如下:
$ hadoop-daemon.sh start datanode
2022-11-25 15:58:43,267 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool (Datanode Uuid cc451ed7-45c6-460c-a30b-bb68e54ef8fb) service to jjhxxxx/10.x.x.x:8020 All specified directories have failed to load.
2022-11-25 15:58:43,268 INFO org.apache.hadoop.hdfs.server.common.Storage: Using 11 threads to upgrade data directories (dfs.datanode.parallel.volumes.load.threads.num=11, dataDirs=11)
2022-11-25 15:58:43,313 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /disk1/hdfs/datanode/in_use.lock acquired by nodename 18522@jjhxxx
2022-11-25 15:58:43,314 WARN org.apache.hadoop.hdfs.server.common.Storage: Failed to add storage directory [DISK]file:/disk1/hdfs/datanode
java.io.IOException: Incompatible clusterIDs in /disk1/hdfs/datanode: namenode clusterID = CID-28fd667c-4411-4a5d-a2b0-fb5190fec245; datanode clusterID = CID-bca80872-89c0-428f-af56-3cff6e6e16c2
$ grep -C 5 ERROR hadoop-hdfs-datanode-jjhxxx.log|grep namenode
java.io.IOException: Incompatible clusterIDs in /disk1/hdfs/datanode: namenode clusterID = CID-28fd667c-4411-4a5d-a2b0-fb5190fec245; datanode clusterID = CID-bca80872-89c0-428f-af56-3cff6e6e16c2
此时会发现问题所在:
namenode clusterID = CID-28fd667c-4411-4a5d-a2b0-fb5190fec245
datanode clusterID = CID-bca80872-89c0-428f-af56-3cff6e6e16c2
发现这两个id不一致,经查阅相关资料,id不一致会导致Initialization failed for Block pool。
将name/current/VERSION 文件中的 clusterID的值,拷贝到 name/current/VERSION 文件中的 clusterID的=后面 ,也就是让name data两个的clusterID保持一致,示例如下:
#其中某一天datanode节点
hdfs@localhost:/disk1/hdfs/datanode/current$ cat VERSION
#Fri Nov 25 16:28:58 CST 2022
storageID=DS-beab9a85-2dc8-4111-a269-2322ad2f7458
clusterID=CID-bca80872-89c0-428f-af56-3cff6e6e16c2
cTime=0
datanodeUuid=cc451ed7-45c6-460c-a30b-bb68e54ef8fb
storageType=DATA_NODE
layoutVersion=-57
#单独的namenode节点
cat /disk1/hdfs/namenode/current/VERSION
#Fri Apr 15 18:26:07 CST 2022
namespaceID=1752898827
clusterID=CID-bca80872-89c0-428f-af56-3cff6e6e16c2
cTime=1570465355748
storageType=NAME_NODE
blockpoolID=BP-1290606271-10.x.x.x-1570465355748
layoutVersion=-64
然后再次尝试启动datanode进程。
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
我正在学习Rails,并阅读了关于乐观锁的内容。我已将类型为integer的lock_version列添加到我的articles表中。但现在每当我第一次尝试更新记录时,我都会收到StaleObjectError异常。这是我的迁移:classAddLockVersionToArticle当我尝试通过Rails控制台更新文章时:article=Article.first=>#我这样做:article.title="newtitle"article.save我明白了:(0.3ms)begintransaction(0.3ms)UPDATE"articles"SET"title"='dwdwd
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
我早就知道Ruby中的“常量”(即大写的变量名)不是真正常量。与其他编程语言一样,对对象的引用是唯一存储在变量/常量中的东西。(侧边栏:Ruby确实具有“卡住”引用对象不被修改的功能,据我所知,许多其他语言都没有提供这种功能。)所以这是我的问题:当您将一个值重新分配给常量时,您会收到如下警告:>>FOO='bar'=>"bar">>FOO='baz'(irb):2:warning:alreadyinitializedconstantFOO=>"baz"有没有办法强制Ruby抛出异常而不是打印警告?很难弄清楚为什么有时会发生重新分配。 最佳答案
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame
SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
我们如何捕获或/和处理ruby中所有未处理的异常?例如,这样做的动机可能是将某种异常记录到不同的文件或发送电子邮件给系统管理。在Java中我们会做Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandlerex);在Node.js中process.on('uncaughtException',function(error){/*code*/});在PHP中register_shutdown_function('errorHandler');functionerrorHandler(){$error=error_
如何在出现异常时指定全局救援,如果您将Sinatra用于API或应用程序,您将如何处理日志记录? 最佳答案 404可以在not_found方法的帮助下处理,例如:not_founddo'Sitedoesnotexist.'end500s可以通过调用带有block的错误方法来处理,例如:errordo"Applicationerror.Plstrylater."end错误的详细信息可以通过request.env中的sinatra.error访问,如下所示:errordo'Anerroroccured:'+request.env['si