Hadoop
Hadoop YARN HDFS MapReduce
lalaguozhe
陈昱康,对分布式计算和存储、调度、查询引擎、在线离线混部、数据安全,工具平台,高并发等方面有丰富研发和实践经验
展开
-
携程Hadoop跨机房架构实践
陈昱康,携程架构师,对分布式计算和存储、调度、查询引擎、在线离线混部、高并发等方面有浓厚兴趣。本文将分享携程Hadoop跨机房架构实践,包含Hadoop在携程的发展情况,整个跨机房项目的背景,我们跨机房的架构选型思路和落地实践,相关的改造和对未来的展望,希望给大家一些启迪。一、Hadoop在携程的落地及发展情况携程Hadoop是从2014年引进的,基本上每年较前一年以两倍的速度在...原创 2020-02-29 11:49:08 · 563 阅读 · 0 评论 -
HDFS 2中Namenode启动时WebUI的变化
在HDFS1中NameNode启动顺序是这样的:1. 读取Fsimage文件2. 读取edit logs文件,逐行执行里面的操作3. 写checkpoint,生成新的Fsimage(老的Fsimage + editlogs)4. 进入safe mode,等待datanodes的block reports,直到达到最小的replication数的block百分比才退出原创 2013-08-30 11:41:18 · 3867 阅读 · 0 评论 -
YARN & HDFS2 安装和配置Kerberos
今天尝试在开发集群上配置Kerberos,遇到一些问题,记录一下设置hadoop securitycore-site.xml hadoop.security.authentication kerberos hadoop.security.authorizatio原创 2013-09-11 16:28:49 · 13264 阅读 · 10 评论 -
Hadoop 2.x(YARN)安装配置LZO
今天尝试在Hadoop 2.x(YARN)上安装和配置LZO,遇到了很多坑,在这边记录整个安装配置过程1. 安装LZO下载lzo 2.06版本,编译64位版本,同步到集群中wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gzexport CFLAGS=-m64./configure -en原创 2013-09-02 15:17:27 · 6818 阅读 · 5 评论 -
YARN加载本地库抛出Unable to load native-hadoop library解决办法
用官方的Hadoop 2.1.0-beta安装后,每次hadoop命令进去都会抛出这样一个WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable设置logger级别,看下原创 2013-08-30 10:30:44 · 27749 阅读 · 9 评论 -
ResourceManager架构解析
RM作为master管理着所有的集群资源,它会和NM和特定application的AM共同工作1. NodeManagersNM从RM中获得指令,并管理着单节点上可用资源2. ApplicationMasters负责和RM协调,然后通知NM来启动资源容器RM有如下部件:1. RM和客户端交互的部件ClientRMService原创 2013-08-22 17:15:37 · 3229 阅读 · 0 评论 -
客户端MapReduce提交到YARN过程(二)
客户端通过RPC协议ClientRMProtocol提交Application,其实是提交了一个SubmitApplicationRequest,在Hadoop 1.0时代,是使用Writable作为序列化和反序列化框架的,而在2.0中hadoop已经废弃掉了,改用了ProtocolBuffer,它除了支持多种语言外最大的好处是向后兼容性,这样不同版本的AM,Client,RM和NM之间能相互通信原创 2013-08-21 13:19:10 · 2393 阅读 · 1 评论 -
客户端MapReduce提交到YARN过程(一)
在Mapreduce v1中是使用JobClient来和JobTracker交互完成Job的提交,用户先创建一个Job,通过JobConf设置好参数,通过JobClient提交并监控Job的进展,在JobClient中有一个内部成员变量JobSubmissionProtocol,JobTracker实现了该接口,通过该协议客户端和JobTracker通信完成作业的提交 public vo原创 2013-08-20 14:42:50 · 6870 阅读 · 0 评论 -
Map/Reduce Task JVM 堆大小设置优化
前一阵子发现用户提交的hive query和hadoop job会导致集群的load非常高,经查看配置,发现很多用户擅自将mapred.child.java.opts设置的非常大,比如-Xmx4096m(我们默认设置是-Xmx1024m), 导致了tasktracker上内存资源耗尽,进而开始不断swap磁盘上数据,load飙升TaskTracker在spawn一个map/redu原创 2013-06-11 20:34:44 · 15021 阅读 · 2 评论 -
YARN安装配置初体验
本安装在开发实验环境中部署,只涉及到全局资源管理调度系统YARN的安装,HDFS还是第一代,没有部署HDFS Federation和HDFS HA,后续会加上。OS: CentOS Linux release 6.0 (Final) x86_64部署机器:dev80.hadoop 192.168.7.80dev81.hadoop 192.168.7.81dev82.hado原创 2013-08-19 12:10:54 · 11495 阅读 · 0 评论 -
第二代map-reduce架构YARN解析
需求我们在考虑hadoop map-reduce框架的时候,最重要需求包括:1. reliability 可靠性,主要是resource manager可靠性2. availability 可用性 3. scalability 可扩展性,能支撑10000到20000节点的cluster4. backward compatibility 向后兼容性,支持之前写mapreduce a原创 2013-08-19 17:56:54 · 4896 阅读 · 0 评论 -
LZOP解压查看文件小trick
我们的HDFS中有一部分落地数据是用LZO格式来压缩的(另一部分采用gz压缩的RCFile,MapReduce中间结果采用snappy压缩)。第一是因为它的压缩比和压缩/解压速度综合下来比较令人满意,第二是它只需要少量effort就能支持可切分(生成LZO文件后跑单机或分布式建索引程序),这样能充分利用MapReduce分而治之的编程思想和数据本地性。 之前要查看已经put到HD原创 2013-08-23 11:53:41 · 10194 阅读 · 0 评论 -
MapReduce TotalOrderPartitioner 全局排序
我们知道Mapreduce框架在feed数据给reducer之前会对map output key排序,这种排序机制保证了每一个reducer局部有序,hadoop 默认的partitioner是HashPartitioner,它依赖于output key的hashcode,使得相同key会去相同reducer,但是不保证全局有序,如果想要获得全局排序结果(比如获取top N, bottom N),原创 2013-07-01 11:50:42 · 8837 阅读 · 1 评论 -
YARN Distributedshell解析
Hadoop 2.0的源代码中实现了两个基于yarn的application,一个是MapReduce,另一个是被当做如何写application的示例程序----Distributedshell,可以认为它就是YARN的workcount示例程序.distributedshell作用和它名字一样,分布式shell执行,将用户提交的一串shell命令或者一个shell脚本,由Applicati原创 2013-08-26 19:10:36 · 6910 阅读 · 0 评论