【HDFS】JN回滚大量edit日志导致Namenode主备切换的故障记录

2023-05-16

JN回滚大量edit日志导致Namenode主备切换的故障记录

  • 前言
  • 正文
    • 问题排查
      • 调度服务状态
      • HDFS服务状态
    • 问题分析
      • NameNode日志
      • JN服务器主机指标
      • JN日志
    • 故障恢复
  • 结语
    • 过程复盘
    • 思考

前言

集群大了,这莫名其妙的问题就多了起来;今天上午还在地铁上的时候,就接到电话说集群出问题了,电话里描述的现象就是集群任务运行出了问题,让我看看调度服务是不是异常了:

在这里插入图片描述

看监控图表发现在8点40-50之间存在明显的任务空洞,第一反应还是YARN或者HDFS是不是有啥问题,而领导之所以会让查调度也是因为这两天才做了调度服务的迁移不久,怕新的服务器不稳定;

本人到了公司以后就开始对调度服务及底座进行巡检,最终确定问题原因并恢复集群,接下来详细记录本次问题的处理。

正文

整体的排查思路还是要从调度到底座逐步进行的,第一步还是先看下调度服务及服务器指标状态:

问题排查

调度服务状态

首先登录上服务器看下调度服务器的相关性能指标,从指标图来看,并不存在太大问题,暂时不需要细查,尤其是内存、CPU及load_avg,都维持在可以接受的水平:
在这里插入图片描述
内存占用高的疑问:领导怀疑内存占用过高,其实根据整体监控的趋势,判断这个是正常现象,主要是缓存占用,将内存监控跨度拉长到一天的跨度:
在这里插入图片描述
图中可以看到在凌晨的时候,缓存被释放了一部分,这是因为在0点时分,调度时间会前移一天,比如调度周期是2天,17号当天就会调度16、17号的任务,当跨过17号23:59:59到达18号的0点时,调度周期变为17号和18号的任务,这个时候,内存中16号的任务相关的缓存会被刷写到磁盘,所以出现了一个骤降陡坡;

由此可见,操作系统的内存回收在正常进行,且每日50w+的任务调度,这样的内存占用率还是可以接受的。

HDFS服务状态

调度服务基本确认正常后,就怀疑是YARN或者HDFS的问题,YARN简单检查了一下,无论是测试任务的提交还是节点的状态,都没有太大问题,所以就略过深入排查的部分了,直接检查HDFS的监控指标,最先发现的疑点就是JVM的内存使用率变化:
在这里插入图片描述

我们的集群有0-7总共8对NameNode,组成的联邦,JVM内存使用率基本都在上午8点40-50之间发生骤变,该时间点和Yarn上的任务空置时间基本吻合,这显然是不正常的,NameNode就算是发生GC回收也不应该在同一时间,所以初步怀疑NameNode有变故。

接下来缩短时间范围,只查看8:30-9:30之间的监控数据,这次检查RPC响应的指标,发现所有联邦都在这个时间出现了RPC响应缓慢的情况:

在这里插入图片描述
抽查一对NameNode节点的日志,发现发生了主备切换,ZKFC日志中也有记录:

2022-08-09 21:41:30,290 INFO org.apache.hadoop.ha.HealthMonitor: Entering state SERVICE_NOT_RESPONDING
2022-08-09 21:41:30,530 FATAL org.apache.hadoop.ha.ZKFailoverController: Couldn't make NameNode at XXXXX/XX.X.X.X:XXXX active

基于此,赶紧把整个联邦的切换时间都拉出来看:

在这里插入图片描述

妈耶,全切了,都在8点40-50之间切换的,接下来就要去分析这个时间为何会发生切换了。

问题分析

NameNode日志

继续检查NameNode,查看宕机的原因:

2022-08-18 08:42:25,451 WARN org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager: Waited 18042 ms (timeout=20000 ms) for a response for sendEdits. Succeeded so far: [hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485]
2022-08-18 08:42:26,453 WARN org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager: Waited 19043 ms (timeout=20000 ms) for a response for sendEdits. Succeeded so far: [hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485,hostname001:8485]
2022-08-18 08:42:27,411 FATAL org.apache.hadoop.hdfs.server.namenode.FSEditLog: Error: flush failed for required journal (JournalAndStream(mgr=QJM to [XXXXX], stream=QuorumOutputStream starting at txid 148503555010))

又是超过半数的JN写入失败导致的,接下来就是找到这个时间点出现大批量的的JN交互失败的诱因了,这个现象和之前发的文章遇到的类似,但是生产环境服务器都是物理机,要说IO性能导致的可能性不太大,但是还是查一下主机的监控指标。

JN服务器主机指标

总共16台JN都看了一下,基本上都在问题时间点有异常的指标,主要集中在内存和磁盘使用率上:
在这里插入图片描述
在这里插入图片描述

看到在问题时间点存在很明显的降低,降了接近200G的使用,JN磁盘使用率也降了接近20%,不过在这个时间点中,IO的性能和负载都不高,还需要继续查JN的日志。

JN日志

查看JN的日志,在问题时间点有大量以下日志打印:

2022-08-18 08:41:42,584 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96810687406
2022-08-18 08:41:42,590 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97200674082
2022-08-18 08:41:42,593 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96615191632
2022-08-18 08:41:42,601 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97044934037
2022-08-18 08:41:42,603 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96384222404
2022-08-18 08:41:42,615 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95261691460
2022-08-18 08:41:42,629 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96352115446
2022-08-18 08:41:42,632 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96384916493
2022-08-18 08:41:42,633 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97220781650
2022-08-18 08:41:42,634 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96799641693
2022-08-18 08:41:42,644 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97011821194
2022-08-18 08:41:42,646 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96864710656
2022-08-18 08:41:42,657 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96626075374
2022-08-18 08:41:42,670 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95998171116
2022-08-18 08:41:42,696 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97708448466
2022-08-18 08:41:42,698 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95848069461
2022-08-18 08:41:42,717 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95799027857
2022-08-18 08:41:42,734 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96574073515
2022-08-18 08:41:42,749 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95633241492
2022-08-18 08:41:42,773 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95221791533
2022-08-18 08:41:42,777 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96665778757
2022-08-18 08:41:42,779 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96639895736
2022-08-18 08:41:42,790 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96875550047
2022-08-18 08:41:42,791 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96042767328
2022-08-18 08:41:42,793 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96257807954
2022-08-18 08:41:42,811 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96611145675
2022-08-18 08:41:42,824 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96639763733
2022-08-18 08:41:42,828 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96834306087
2022-08-18 08:41:42,836 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96619005041
2022-08-18 08:41:42,848 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96504221043
2022-08-18 08:41:42,849 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95206785547
2022-08-18 08:41:42,863 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95336116029
2022-08-18 08:41:42,865 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97048279800
2022-08-18 08:41:42,869 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96664943401
2022-08-18 08:41:42,877 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95242430887
2022-08-18 08:41:42,886 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 95626277939
2022-08-18 08:41:42,906 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96380113241
2022-08-18 08:41:42,916 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96210476386
2022-08-18 08:41:42,931 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96625066699
2022-08-18 08:41:42,939 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96000623734
2022-08-18 08:41:42,940 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 96071930686
2022-08-18 08:41:42,954 INFO org.apache.hadoop.hdfs.server.common.Storage: Purging no-longer needed file 97181499035

这种日志在这个时间里打印了20000+条,就很尬:
在这里插入图片描述
这个时候突然想到有一对NameNode的备机NN宕机了接近一个月,16号才发现,当时看到这个联邦的很久没做Checkpoint,然后在17号上午接近10点的时候尝试拉起宕机的NameNode,当时就有2w+的Edit日志,感觉这个数字相似的太巧了,看了下启动记录,加载了也是20000多的Edit:
在这里插入图片描述
启动时间持续了22个小时:

在这里插入图片描述

确认一下是何时进行的NameNode启动的,这个数据可以在Jmx中找到,记录显示是2022年8月17日上午9点57分启动的,也就是说完成时间大概是9点40左右:

在这里插入图片描述
在启动完成时进行一次Checkpoint操作,理论上应该会在8点33左右进行,事实也确实如此:

在这里插入图片描述

源码中可以看到在进行Checkpoint以后,确实会对目录下的过期edit log进行清理:

  private synchronized void saveFSImageInAllDirs(FSNamesystem source,
      NameNodeFile nnf, long txid, Canceler canceler) throws IOException {
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAVING_CHECKPOINT);
    if (storage.getNumStorageDirs(NameNodeDirType.IMAGE) == 0) {
      throw new IOException("No image directories available!");
    }
    if (canceler == null) {
      canceler = new Canceler();
    }
    SaveNamespaceContext ctx = new SaveNamespaceContext(
        source, txid, canceler);
    
    try {
	  .......
      // Since we now have a new checkpoint, we can clean up some
      // old edit logs and checkpoints.
      purgeOldStorage(nnf);
    } finally {
      // Notify any threads waiting on the checkpoint to be canceled
      // that it is complete.
      ctx.markComplete();
      ctx = null;
    }
    prog.endPhase(Phase.SAVING_CHECKPOINT);
  }

那么很可能在这个时间点触发checkpoint后,JN进行了过期edit log的清理,由于文件量实在太大,耗时较久,随后响应超时,然后NN发生切换。

切换完成后,JN也完成了数据清理,而主备也完成了切换,所以新的主NN能够正常工作;

故障恢复

这种故障的恢复也很简单,只需要在确认JN以后对宕机的NN进行重启即可,响应的可以对IPC的超时参数进行调整,为了应对可能的延迟,适当增大该值,但是不宜过大:

<property>
	<name>ipc.client.connect.timeout</name>
	<value>20000</value>
</property>

结语

过程复盘

本次故障大概的原因已经梳理清楚:

大集群中有一个联邦的NN宕机了很久,由于宕机,导致这对NN无法正常进行Checkpoint,最后的Checkpoint时间一直停留在7月19号:
在这里插入图片描述
在这里插入图片描述
因此,该组NN产生大量的edit log文件,这部分文件也存在于JN中,关键点就在这,集群的所有NN公用了一组JN,总共15台

2022-08-17上午9点59分对宕机的NN进行重启,由于edit log过多,重启时间跨度很久,并没有立刻触发过期edit log的判断和删除操作,因此整个集群一直没有异常表现;

2022-08-18上午8点35分左右,NN重启完成,进行了一次Checkpoint,该操作触发了过期edit log的清理,于是所有JN都开始清理其下的2w多个过期edit log,这个过程耗时较久,导致集群的所有主NN无法和超过半数的JN进行通信,IPC响应超时,最终自杀。

思考

想来本次故障实际上还是在日常巡检中对主要节点、服务的巡检不够仔细导致的,实际上很早之前部分维护人员已经收到了异常联邦的Checkpoint延迟告警,不过并没有进一步核查:
在这里插入图片描述

真因为如此,该联邦下积攒了很多的edit log文件,才导致了后面的一系列问题,反思!反思!警钟长鸣!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HDFS】JN回滚大量edit日志导致Namenode主备切换的故障记录 的相关文章

  • Oracle数据库小白使用记 -- 通过存储过程提取数据

    本人是Oracle数据库小白 xff0c 一直都是用Sql Server的 xff0c 最近到被安排到一个项目去救火 这个项目使用的Java和Oracle数据库的组合 xff0c 没办法 xff0c 一切要从头学起 其实这个项目本身并不是很
  • 分享一个简单的Tomcat本地开发脚本

    最近在搞java web service xff0c 一开始开发的时候都是用Maven集成Jetty来运行 xff0c 感觉很方便 但是 xff0c 当需要一次运行多个war的时候就显得力不从心了 同时 xff0c
  • 我和Java 8的第一次亲密接触

    周五上班偶然发现单位的系统里有Java 8可以用了 xff0c 周六无事 xff0c 把自己现在在做的一个项目从Java 1 6升级到了1 8 过程并不是一番风顺 xff0c 在此记录 xff0c 希望可以对各位看客有所帮助 先说说现在在做
  • C#中调用PDFCreator生成PDF文件

    前一阵子做了一个生成报表的小project xff0c 生成的报表是关于股价的记录 没有什么现成的包和第三方程序给我们用 xff0c 听说WPF渲染的页面可以之间存成PDF xff0c 不过只是道听途说 xff0c 没敢真正实践 xff0c
  • 一个简单的审批流程模型

    最近在做一个审批流程的模块用来支持对一些事务的审批 基本的业务要求如下 xff1a 1 模型需要支持两级审批 xff0c 在这里我们定义为有一半权限的B Approver xff0c 和有更高权限的C Approver xff1b 2 每一
  • node.js连接Sql Server数据库

    最近对node js比较感兴趣 xff0c 网上的例子大多都是node js集成MongoDB 我对MongoDB实在不是太感冒 xff0c 并不是因为它有什么不好听 xff0c 只是在工作上的确是很难遇到 在工作上还是和Sql Serve
  • 由有向图的邻接矩阵生成其可达矩阵

    矩阵是研究图的性质的最有效工具之一 xff0c 可运用矩阵运算求出图的路径 回路和其它性质 有些时候我们需要知道所给的图G中的某两个点之间是否存在边 xff0c 为此前人引入了可达矩阵 定义不再赘述 xff0c 在此给出一个由公式实 现的代
  • 【Android】串口通信的理论与使用教程

    Android系统诞生这十几年以来 xff0c Android开发工程师岗位经历了由盛转衰的过程 xff0c 目前纯UI的Android APP已经鲜有公司愿意花费巨资去开发 xff0c Android APP开发的业务也仅剩游戏 物联网
  • 《自己动手写Docker》书摘之三---Union File System介绍

    Union File System UnionFS unionfs是一种为Linux xff0c FreeBSD和NetBSD操作系统设计的把其他文件系统联合到一个联合挂载点的文件系统服务 它使用branch把不同文件系统的文件和目录 透明
  • 《程序设计基础课程设计》实验报告

    程序设计基础课程设计 实验报告 班 级 xff1a 学 号 xff1a 姓 名 xff1a 完成题目 xff1a 1 2 3 4 5 6 概述 此次六道题目里面第四题是参考某博主的文章后实现的 xff0c 有一些地方仍然不是特别理解 xff
  • C语言实现关系的闭包运算

    问题描述 xff1a 利用矩阵求解有限集上给定关系的自反和对称闭包 输入格式 xff1a 首先输入关系矩阵R的维数 xff0c 回车之后输入矩阵每个元素 xff0c 以空格或回车分开 只能输入0或1 输出格式 xff1a 输出自反闭包关系矩
  • 简单易懂的C语言课程设计图书管理系统

    最近几天一直在做课程设计的作业 xff0c 图书管理系统是其中的第六题 xff0c 和同学交流的时候发现好多人都用了链表去写 xff0c 但是我感觉没必要 xff0c 所以使用的代码比较基础 xff0c 适合初学者借鉴 先看一下题目 xff
  • C语言程序设计——前两道题(判断有效三角形和高精度计算的加减法)

    第1题 1 原题 xff1a 假设平面上有1 N x y 个坐标点 xff0c 编程判断这N x y 个点能组成多少个有效三角形 问题分析 xff1a 本题为一道基本编程题 xff0c 要点就是判断三个点能构成三角形的条件 解决方案 xff
  • C语言程序设计之RLE压缩解压算法

    先介绍一下RLE压缩算法 xff1a 游程编码 xff08 Run Length Encoding RLE xff09 又称行程长度编码或者变动长度编码法 xff0c 在控制理论中对于二值图像而言是一种编码方法 xff0c 对连续的黑 xf
  • 浅析洛谷P4924(一道普及/提高-的题目)的解决方法

    题目描述 xff1a Scarlet最近学会了一个数组魔法 xff0c 她会在n n二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转90 首先 xff0c Scarlet会把1到n 2的正整数按照从左往右 xff0c 从上至下的顺序填入初
  • 判断图的连通性

    上机系统的判分功能目前还没开放 xff0c 所以以下所给代码仅供参考 xff0c 并不能保证完全正确 xff08 自己分别测试了强连通 xff0c 单向连通 xff0c 弱连通 xff0c 不连通的一个样例 xff0c 都过了 xff09
  • BMP格式详解

    BMP xff08 全称Bitmap xff09 是Windows操作系统中的标准图像文件格式 xff0c 可以分成两类 xff1a 设备相关位图 xff08 DDB xff09 和设备无关位图 xff08 DIB xff09 xff0c
  • 标准数独的求解

    上机题目中有一道题目的要求是通过编程实现数独的求解 xff0c 然后想起了初三去后来所在的高中面试提前录取的时候里面的压轴题便是数独 xff0c 当时做了好长时间也没搞出来 xff0c 我还记得监考老师当时和我说 xff1a 做不出来就别勉
  • 利用定义求解传递闭包的关系矩阵

    题目描述 给定有限集合上二元关系的关系矩阵 xff0c 利用传递闭包的定义式 xff08 不是warshall算法 xff09 求其传递闭包的关系矩阵 源代码 span class token macro property span cla
  • 【Android】解决Expecting member declaration

    问题截图 刚刚安装的android studio安装完成就出现异常错误 原因 新建project的时候 xff0c language项选错了 xff0c 应选java 解决错误的办法 新建一个Project的时候 xff0c Languag

随机推荐

  • 矩阵乘法的实现(一般形式及单个矩阵的n次幂)

    目录 一般矩阵乘法实现矩阵的n次幂的实现 一般矩阵乘法实现 题目描述1 给定m k的布尔矩阵A xff0c 和k n的布尔矩阵B xff0c 求布尔矩阵的乘积AB 源代码1 span class token macro property s
  • 根据给出的关系矩阵,判断该关系所具有的特性

    目录 自反性与反自反性的判断对称性与反对称性的判断传递性的判断 自反性与反自反性的判断 关系R是自反的 xff0c 当且仅当其关系矩阵的主对角线上元素都为1 xff1b 关系R是反自反的 xff0c 当且仅当其关系矩阵的主对角线上元素都为0
  • 输出所有满足条件的关系

    目录 for循环解决简单问题调用库函数解决全排列问题 for循环解决简单问题 题目描述 源代码 span class token macro property span class token directive keyword inclu
  • 按字典序输出给定序列

    上机题目里面有不少挨着的相似的题 xff0c 下面所给的这两道偏简单 xff0c 就介绍一下用python和c实现的代码 题目描述 python实现的代码用到了sorted函数 xff0c 该函数在python3里面有三个参数 xff0c
  • 求给定图中某两点之间某一长度的路径条数

    无向图的一道例题 输出c到d长度为以下长度的路径条数 xff1a 源代码 span class token macro property span class token directive keyword include span spa
  • 洛谷题目CF96B Lucky Numbers的分析

    题目描述 xff1a 佩佳喜欢幸运数字 每个人都知道 xff0c 如果正整数的小数表示不包含除4和7以外的数字 xff0c 那么它们是幸运的 例如 xff0c 数字47 744 xff0c 4是幸运的 xff0c 5 xff0c 17 46
  • VMware Player 虚拟机中音乐播放无声音 问题

    虚拟机中安装的Win7 xff0c 音乐播放无声音 解决办法 xff1a VMware Player 右下角 Sound Card gt connect 即可解决
  • 解决M1芯片 MAC 下 Goland(Intellij系列都适用) 无法 Debug 的问题

    解决M1芯片 MAC 下 Goland xff08 Intellij系列都适用 xff09 无法 Debug 的问题 解决M1芯片 MAC 下 Goland xff08 Intellij系列都适用 xff09 无法 Debug 的问题报错信
  • Java例15.13——使用MVC结构计算三角形面积

    MVC是一种通过模型 视图 控制器构造一个软件或组件的理想办法 在例15 13中首先编一个封装三角形的类 xff0c 然后再编写一个窗口 要求窗口使用3个文本框和1个文本区为三角形对象中的数据提供视图 xff0c 其中3个文本框用来显示和更
  • 网卡远程唤醒功能

    远程唤醒功能配置文档 功能简介 网络唤醒功能可以让用户从一个局域网或者是跨网络环境中远程管理一台或者是多台计算机的开关机状态 下面是在ubuntu桌面版上实现远程唤醒功能的设置步骤 第一步 xff1a 计算机BIOS设置 在计算机开机时按F
  • Python 典藏篇-Microsoft Visual C++ 14.0 is required,官方vc++运行库工具一键式解决!

    Python 典藏篇 Microsoft Visual C 43 43 14 0 is required xff0c 官方vc 43 43 运行库工具一键式解决 xff01 前言 xff1a error Microsoft Visual C
  • LwIP在stm32上的无操作系统移植

    LwIP是一个轻型IP协议 xff0c 有无操作系统的支持都可以运行 这里的移植是无操作系统移植 LwIP虽然是一个轻型的IP协议 xff0c 但是TCP IP基本功能都有 而且占用的资源不多 xff0c 非常适合用于嵌入式系统 移植的平台
  • HTML5初体验——蛮神奇的

    记得去年在一个公司实习的时候 xff0c 听当时的领导说起过HTML5 xff0c 当时就大体了解了一下 知道了是新的下一代HTML的新标准 xff0c 去掉了HTML4中的一些标签 xff0c 扩展了一些标签内容 其他的就没有继续深入的去
  • Serilog初识(一)————分别Console、Web程序简单使用Serilog

    Serilog简介 Serilog是 NET应用程序的诊断日志库 它易于设置 xff0c 具有干净的API xff0c 并可在所有最新的 NET平台上运行 虽然它在最简单的应用程序中也很有用 xff0c 但Serilog对结构化日志记录的支
  • intellij idea 开发中,创建Maven项目中的子模块以及相关错误解决

    现在开发 xff0c 很多企业都用Maven来进行项目构建 xff0c 关于Maven的优点 xff0c 本文在此不再赘述 而平时我们学习或者做练习基本用到的都是 单项目 单模块模式 xff0c 即一个Maven项目仅包含一个模块 xff0
  • Windows server 2012 出现大量无名已断开连接用户解决办法

    打开cmd命令窗口 xff0c 执行 taskkill f im winlogon exe t
  • 关于HDFS Balancer的一些小技巧

    关于HDFS Balancer的一些小技巧 前言正文原因分析Balancer工具做均衡带宽设置限定均衡范围参数调优 结语 前言 使用HDFS的过程中 xff0c 难免会出现数据不均衡的情况 xff0c 直观表现就是有的服务器磁盘使用率高的吓
  • 【安全】Goby使用初探

    Goby使用初探 基础配置语言设置npcap安装 使用记录端口扫描 基础配置 语言设置 这里使用的环境是Windows10 64机器 xff0c 下载的方式不再多说 xff0c 直接官网无脑下载即可 xff0c 解压即用 xff0c 不需要
  • 【LDAP】在Centos7环境搭建LDAP服务端

    在Centos7环境搭建LDAP服务端 前言正文OpenLDAP介绍LDIF文件书写规则OpenLDAP部署安装服务配置ldap修改管理员密码初始化配置直接修改配置文件 不建议 使用ldapmodify 建议 添加模式其他配置修改修改服务端
  • 【HDFS】JN回滚大量edit日志导致Namenode主备切换的故障记录

    JN回滚大量edit日志导致Namenode主备切换的故障记录 前言正文问题排查调度服务状态HDFS服务状态 问题分析NameNode日志JN服务器主机指标JN日志 故障恢复 结语过程复盘思考 前言 集群大了 xff0c 这莫名其妙的问题就