Hadoop
文章平均质量分 91
RunningShare
这个作者很懒,什么都没留下…
展开
-
Hadoop文件存储格式(Avro、Parquet、ORC及其他)
相比TEXTFILE和SEQUENCEFILE,RCFILE由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。数据仓库的特点是一次写入、多次读取,因此,整体来看,转载 2022-07-30 20:01:42 · 3566 阅读 · 0 评论 -
一次MR作业Task数过多导致的集群阻塞的问题排查
一次MR作业Task数过多导致的集群阻塞的问题排查问题背景集群出现一百多个任务排队,运行中的任务一百多个,bi的同事反馈大量任务延迟一万多秒以下截图不全排查问题通过RM页面、spacex的监控、active的RM机器的负载和日志观察,确认ResourceManager目前状态正常通过spacex的app监控发现集群在早上8.45的时候提交大量的任务阻塞的任务基本都跑在root.bi_queue.bi_base 这个队列中,这个队列资源基本满了大概排查方向确认增加了大量任务导致集群资原创 2021-05-11 15:28:35 · 856 阅读 · 0 评论 -
JobHistoryServer详解
JobHistoryServer 历史服务器,管理者可以通过历史服务器查看已经运行完成的Mapreduce作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。 默认情况下,历史服务器是没有启动的,需要进行参数配置才能启动。参数配置mapred-site.xml文件:<property> <name>mapreduce.jobhistory.address&l...转载 2020-11-22 22:09:49 · 1778 阅读 · 0 评论 -
HDFS读写流程
一 HDFS 客户端读文件流程1打开HDFS文件: HDFS客户端首先调用DistributedFileSystem.open方法打开HDFS文件,底层会调用ClientProtocal.open方法,返回一个用于读取的HdfsDataInputStream对象2从NameNode获取DataNode地址:在构造DFSInputStream的时候,对调用ClientPortocal.getBlockLocations方法向NameNode获取该文件起始位置数据块信息。NameNode返回的数转载 2020-07-24 11:19:47 · 191 阅读 · 0 评论 -
datanode节点名称是localhost的问题解决
一、问题背景今天过来发现预生产的hadoop集群全挂了,后来才知道昨晚运维把集群停机换内存,真心***,把集群机器恢复过程中,将机器的datanode启动后,在namenode的webui列表里发现该机器的节点名称怎么是localhost,截图如下:二、问题现象如上所示,节点的名称本该是datanode**的主机名,变成localhost看了下主机名确实是换了,以为是运维主机名...原创 2019-12-12 14:51:04 · 3110 阅读 · 0 评论 -
Why Should HBase RegionServer & Hadoop DataNode Colocate?
Some basic background information first, HBase, as a distributed NoSQL database, its slave (worker) node is named “RegionServer”, all data reading, writing or scanning workloads are on these RegionSer...转载 2019-11-29 09:43:49 · 186 阅读 · 0 评论 -
JobHistoryServer无法正常启动
今天在测试环境启动JobHistoryServer,发现无法正常启动,报错信息如下:2019-10-28 17:44:33,030 INFO org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer: registered UNIX signal handlers for [TERM, HUP, INT]2019-10-28 17:44:33,6...原创 2019-10-28 17:57:37 · 4202 阅读 · 0 评论 -
重新启动ResourceManger----官网谷歌翻译
重新启动ResourceManger重新启动ResourceManger 总览 特征 构型 总览ResourceManager是管理资源并计划在YARN之上运行的应用程序的中央机构。因此,它可能是Apache YARN群集中的单点故障。本文档概述了ResourceManager重新启动,此功能可增强ResourceManager使其在重新启动后仍能正常运行,并且还使Re...翻译 2019-10-28 16:45:20 · 342 阅读 · 0 评论 -
使用Quorum Journal Manager的HDFS高可用性----官网谷歌翻译
使用Quorum Journal Manager的HDFS高可用性使用Quorum Journal Manager的HDFS高可用性 目的 注意:使用Quorum Journal Manager或常规共享存储 背景 建筑 硬件资源 部署方式 配置概述 配置细节 部署细节 行政命令 自动故障转移 介绍 组件 部署ZooKee...翻译 2019-10-28 16:43:08 · 271 阅读 · 0 评论 -
ResourceManager高可用性---官网谷歌翻译
ResourceManager高可用性ResourceManager高可用性 介绍 建筑 RM故障转移 手动转换和故障转移 自动故障转移 RM故障转移上的客户端,ApplicationMaster和NodeManager 恢复先前活动的RM的状态 部署方式 构型 样本配置 管理员命令 ResourceMan...翻译 2019-10-28 16:42:05 · 281 阅读 · 0 评论 -
yarn中MR作业报错Java heap space
hue页面提交到hive中的作业,被转换成了MR作业运行在yarn集群中。作业报错//0,报错内容摘要我们hadoop-2.7集群用的执行引擎不是Tez,而是mr(是老集群)Error: Java heap spaceContainer killed by the ApplicationMaster.//1,查找报错日志[root@ my-hadoop-cluster hive]# ...转载 2019-10-28 16:35:01 · 524 阅读 · 0 评论 -
Hadoop MetricsSystem指标名称解释
metricssystem.MetricsSystem.DroppedPubAll |Dropped updates by all sinks |所有sink丢弃的指标数据更新次数 metricssystem.MetricsSys...原创 2019-10-12 13:49:04 · 272 阅读 · 0 评论 -
大量删除hdfs历史文件导致全部DataNode心跳汇报超时为死亡状态问题解决
目录背景:问题产生过程:问题现象:解决过程:相关日志:其他方案:总结:背景:由于测试环境的磁盘满了,导致多个NodeManager出现不健康状态,查看了下,基本都是data空间满导致,不是删除日志文件等就能很快解决的,只能删除一些历史没有用的数据。于是从大文件列表中,找出2018年的spark作业的历史中间文件并彻底删除(跳过回收站)/usr/loc...原创 2019-08-20 20:47:37 · 3182 阅读 · 5 评论 -
HDFS ls查看文件命令按照时间排序(sort by time)
我们在使用HDFSShell的时候只用最频繁的命令可能就是ls了,其具体含义我就不介绍了。在使用ls的命令时,我们可能想对展示出来的文件按照修改时间排序,也就是最近修改的文件(most recent)显示在最前面。如果你使用的是Hadoop2.8.0以下版本,内置是不支持按照时间等属性排序的。不过值得高兴的是,我们可以结合Shell命令来实现按照文件最近修改的时间对ls命...转载 2019-08-29 13:27:10 · 12286 阅读 · 0 评论 -
两个stanby的NameNode问题解决
目录问题现象排查过程问题分析:解决:解决命令:问题现象今天测试环境的NameNode在发生gc停顿时间过长后退出,依次重启后发现无法正常的选出active节点,排查过程查看日志并没有zk选举相关的日志 zkfc进程的日志时间停留在出问题的几个小时前 具体日志: 2019-08-26 10:47:57,925 WARN org.apache.had...原创 2019-08-26 16:02:11 · 1952 阅读 · 1 评论 -
Hadoop MapReduce执行过程详解(带hadoop例子)
问题导读1.MapReduce是如何执行任务的?2.Mapper任务是怎样的一个过程?3.Reduce是如何执行任务的?4.键值对是如何编号的?5.实例,如何计算没见最高气温?分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输...转载 2019-09-06 14:09:31 · 1145 阅读 · 0 评论 -
Hadoop日志存放路径详解
如果你想知道Spark作业运行日志,可以查看这里《Spark应用程序运行的日志存在哪里》 Hadoop的日志有很多种,很多初学者往往遇到错而不知道怎么办,其实这时候就应该去看看日志里面的输出,这样往往可以定位到错误。Hadoop的日志大致可以分为两类:(1)、Hadoop系统服务输出的日志;(2)、Mapreduce程序输出来的日志。这两类的日志存放的路径是不一样的。本文基于Hadoop 2...转载 2019-09-09 13:33:54 · 5409 阅读 · 0 评论 -
hadoop集群之HDFS和YARN启动和停止命令
假如我们只有3台linux虚拟机,主机名分别为hadoop01、hadoop02和hadoop03,在这3台机器上,hadoop集群的部署情况如下:hadoop01:1个namenode,1个datanode,1个journalnode,1个zkfc,1个resourcemanager,1个nodemanager;hadoop02:1个namenode,1个datanode,1个jour...转载 2019-09-10 14:56:34 · 6660 阅读 · 4 评论 -
HDFS HA与QJM(Quorum Journal Manager)介绍及官网内容整理
1.HDFS HA与QJM解决了什么问题?2.HDFS HA与QJM区别是什么?3.在HA(两个namenode)架构下,如何访问hdfs文件?【使用QJM构建HDFS HA架构(2.2+)】本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journal Manager)特性实现HDFS HA。一、背景HDFS集群中只有一个Namenode,这就会...转载 2019-09-12 20:36:33 · 282 阅读 · 0 评论 -
hadoop2.x常用端口及定义方法
hadoop2.x常用端口及定义方法Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。这里包含我们使用到的组件:HDFS, YARN, HBase, Hive, ZooKeeper:组件 节点 默认端口 ...转载 2019-09-23 10:34:37 · 132 阅读 · 0 评论 -
Yarn ResourceManager High Availability
在 Hadoop 生态中(Hadoop2.x及以后版本), JobTracker 和 TaskTracker 演变为 Yarn 作为 Hadoop 的资源管理器。 同时, MapReduce、Spark、Flink、等计算框架也支持 Yarn 来调度, 因此, Yarn 高可用极为重要。 关于 Yarn 相关内容, 详情查看Apache Hadoop YARN Architecture, 这...转载 2019-08-10 23:18:15 · 448 阅读 · 0 评论 -
hadoop namenode ha--手动切换(转)
1.hadoop的dfs.nameservices如何配置?2.集群配置中hdfs://mycluster的作用是什么?3.如何将namenode2切换为active状态?在参考本手册前请确保Hadoop中HDFS组件已经成功部署并正常运行,同时系统基本环境完备,包括ssh免密码登录、/etc/hosts等。 假设目前NameNode在服务器namenode1上运行,服务器...转载 2019-07-22 14:47:23 · 739 阅读 · 0 评论 -
Hive1.2.1开启Jmx
目录一、hadoop-env.sh添加hive的JVM参数变量HADOOP_CLIENT_OPTS和 HIVE_OPTS二、hive-env.sh添加jmx远程监控参数三、打开jconsole进行连接四、JMX方面知识介绍参数说明当通过Hive -service hiveserver启动Hive服务器时,它实际上执行“hadoop jar……”,因此为了能够将选项从...原创 2019-05-10 15:24:39 · 1668 阅读 · 0 评论 -
HDFS块大小默认为什么是64MB(或者是128MB)
HDFS块大小默认为什么是64MB(或者是128MB)1 HDFS的设计特点?可以进行超大文件存储对商用硬件要求不高式数据访问:适合一次写入,多次读出的场景,适合用来做数据分析,并不适合用来做网盘应用等文件系统。HDFS只支持单个写入者,而且文件的写入只能以“添加”方式在文件末尾写数据。因为namenode的原因,不适合大量小文件的存储。数据访问的延迟相对较高,不适合进行...转载 2019-05-07 16:59:18 · 4702 阅读 · 0 评论 -
Hive2.1源码分析(一)启动脚本
最近在网上看到的相关材料都比较陈旧,也太简略,参看了一下其他人的内容,针对Hive2.1.1做点分享:1)下载apache-hive-2.1.1-bin.tar.gz2)解压缩,下面的命令行如启动报错,请自行查略Hive启动配置3)启动hiveserver2(非必须,使用jdbc访问的时候才使用)bin目录下hive --service hiveserver2 -p10...转载 2019-05-09 14:16:37 · 498 阅读 · 0 评论 -
Hadoop源码分析之NodeManager初始化、启动、注册
目录OverviewInitiateNodeHealthCheckerService init and StartupLocalDirsHandlerService init and startupNodeHealthScriptRunner init and startupNodeStatusUpdater Init and startupContainerMa...转载 2019-05-06 09:34:17 · 1019 阅读 · 0 评论 -
如何高效的阅读Hadoop源代码?Hadoop的源代码写的怎么样?
个人谈谈阅读hadoop源代码的经验。首先,不得不说,hadoop发展到现在这个阶段,代码已经变得非常庞大臃肿,如果你直接阅读最新版本的源代码,难度比较大,需要足够的耐心和时间,所以,如果你觉得认真一次,认真阅读一次hadoop源代码,一定要有足够的心理准备和时间预期。其次,需要注意,阅读Hadoop源代码的效率,因人而异,如果你有足够的分布式系统知识储备,看过类似的系统,则能...转载 2019-05-05 17:59:17 · 133 阅读 · 0 评论 -
NodeManager节点自身健康状态检测机制
每个 NodeManager 节点内置提供了检测自身健康状态的机制(详情参见NodeHealthCheckerService);通过这种机制,NodeManager 会将诊断出来的监控状态通过心跳机制汇报给 ResourceManager,然后ResourceManager 端会通过RMNodeEventType.STATUS_UPDATE更新 NodeManager 的状态;如果此时...转载 2019-04-29 18:44:58 · 1536 阅读 · 0 评论 -
hadoop心跳机制解析
心跳的机制大概是这样的:1) master启动的时候,会开一个ipc server在那里。2) slave启动时,会连接master,并每隔3秒钟主动向master发送一个“心跳”,将自己的状态信息告诉master,然后master也是通过这个心跳的返回值,向slave节点传达指令。2、找到心跳的代码拿namenode和datanode来说,在datanode的offerServ...转载 2019-05-10 17:23:21 · 618 阅读 · 0 评论 -
hadoop2.7.3源码解析之datanode注册和心跳机制
datanode注册和心跳datanode注册datanode心跳namenode接收注册和心跳信息DatanodeManager简单介绍namednoe接收注册的信息namenode 接收心跳信息datanode注册和心跳在hadoop启动的时候,正常的流程是先启动namenoe,然后启动datanode,因为namenode要接受datanode的注册,datanode的注册...转载 2019-05-15 17:06:33 · 272 阅读 · 0 评论 -
Hadoop历史服务器jobhistory详解
Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器 $ sbin/mr-jobhistory-daemon.sh start his...转载 2019-05-16 18:01:27 · 5957 阅读 · 0 评论 -
大数据基础之Hadoop(1)HA实现原理
有些工作只能在一台server上进行,比如master,这时HA(High Availability)首先要求部署多个server,其次要求多个server自动选举出一个active状态server,其他server处于standby状态,只有active状态的server允许进行特定的操作;当active状态的server由于各种原因无法服务之后(比如挂了或者断网),其他standby状态的se...转载 2019-07-22 14:35:24 · 322 阅读 · 0 评论 -
Hadoop NameNode 高可用 (High Availability) 实现解析
NameNode 高可用整体架构概述在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode 的单点问题尤为严重。因为 NameNode 保存了整个 HDFS 的元数据信息,一旦 NameNode 挂掉,整个 HDFS 就无法访问,同时 Hadoop 生态系统中依赖于 HDFS ...转载 2019-07-22 14:25:19 · 115 阅读 · 0 评论 -
Hadoop与Spark常用配置参数总结
背景MapReduce和Spark对外提供了上百个配置参数,用户可以为作业定制这些参数以更快,更稳定的运行应用程序。本文梳理了最常用的一些MapReduce和Spark配置参数。MapReduce重要配置参数1. 资源相关参数(1)mapreduce.map.memory.mb: 一个Map Task可使用的资源上限(单位:MB),默认为1024。如果Map Task实际...转载 2019-07-18 19:39:18 · 211 阅读 · 0 评论 -
Hadoop YARN相关配置参数剖析(1)—RM与NM相关参数
注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患。另外,这些参数均需要在yarn-site.xml中配置。1. ResourceManager相关配置参数yarn.resourcemanager.address参数解释:ResourceManager对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。默认值:${yarn.res...转载 2019-07-18 19:34:16 · 197 阅读 · 0 评论 -
YARN 新特性-ResourceManager 自动重启
为了减少生产集群上作业执行失败的可能性,在ResourceManager 发生单点故障之后,应该自动重启ResourceManager 的功能。一、原理ResourceManager(以下简称RM)重启在不同版本的Hadoop有两种不同的实现,两种实现的配置是一样的,只是原理不一样。第一种是Non-work-preserving RM restart ,即在重启过程中任务不保留。...转载 2019-07-18 19:10:29 · 674 阅读 · 0 评论 -
源码解析-Yarn-ResourceManager07-ShutdownHookManager
0x00 系列文章目录源码走读-Yarn-ResourceManager01-基础概念 源码走读-Yarn-ResourceManager02-RM的启动-脚本 源码走读-Yarn-ResourceManager03-RM的启动之RM详解 源码走读-Yarn-ResourceManager04-RM调度之FairScheduler 源码走读-Yarn-ResourceManage...转载 2019-05-17 10:56:24 · 434 阅读 · 0 评论 -
Hadoop2源码分析-YARN 的服务库和事件库(Service 和 Event)
Hadoop2源码分析-YARN 的服务库和事件库1.概述 在《Hadoop2源码分析-YARN RPC 示例介绍》一文当中,给大家介绍了YARN 的 RPC 机制,以及相关代码的演示,今天我们继续去学习 YARN 的服务库和事件库,分享目录如下所示:服务库和事件库介绍 使用示例 截图预览 下面开始今天的内容分享。2.服务库和事件库介绍2.1服务库 YARN对于...转载 2019-05-17 10:28:13 · 315 阅读 · 0 评论 -
诡异的hdfs dfs -ls /无法执行 提示远程调试
目录执行查看hdfs目录命令发现无法查看,停在远程调试lsof -i:查出进程id,再找出对应的进程在bin/hdfs脚本中找到对应的远程调试把远程调试的参数去掉即可。今天在生产排查磁盘满问题的时候,发现无法查看生产的hdfs目录执行查看hdfs目录命令发现无法查看,停在远程调试 /usr/local/hadoop-2.6.3/bin/hdfs dfs -ls /...原创 2019-05-16 20:06:33 · 2106 阅读 · 0 评论 -
从Hive的日志文件超大引出磁盘满问题并追踪出NameNode 安全模式的问题与处理
目录发现NameNode安全模式问题初步判断是磁盘满导致安全模式NameNode安全模式解释补充解释尝试重启DataNode重启NameNode总结发现NameNode安全模式问题一次偶然的机会,准备看下Hive的版本,发现无法执行hive脚本,发现Hive命令无法正常进入hive命令行,报错信息如下:ls: cannot access /usr...原创 2019-04-29 17:32:43 · 1680 阅读 · 0 评论