hadoop
东纪元
这个作者很懒,什么都没留下…
展开
-
hadoop mapreduce 运行combiner运行时机
什么时候运行Combiner?1、当job设置了Combiner,并且spill的个数到min.num.spill.for.combine(默认是3)的时候,那么combiner就会Merge之前执行;2、但是有的情况下,Merge开始执行,但spill文件的个数没有达到需求,这个时候Combiner可能会在Merge之后执行;3、Combiner也有可能不运行,Combiner会考虑...转载 2019-12-02 18:06:05 · 500 阅读 · 0 评论 -
yarn各个组件的作用
一、ResourceManager1、接收和处理客户端(RunJar)的请求2、管理NodeManager3、启动和管理ApplicationMaster4、分配和调度资源二、NodeManager1、管理单节点的资源2、处理来自RM的命令3、处理来自AM的命令三、ApplicationMaster1、数据的切分划分。2、程序资源的申请以及内...原创 2019-09-24 14:48:28 · 1984 阅读 · 0 评论 -
四、hadoop MapReduce之Job代码编写
1、模板代码,只要替换成自己写的Mapper和Reducer等等就行了 public static void main(String[] args) throws Exception{ int exit = ToolRunner.run(new Configuration(), new WCRunner(), args); System.exit(e...原创 2019-06-07 17:01:01 · 499 阅读 · 0 评论 -
zookeeper单机配置
一、在conf的zoo.cfg文件中配置:1、dataDir用于配置当前节点存储数据的目录(需要先创建好,zookeeper不会去创建)2、clientPort用于指定客户端访问zookeeper时的端口三、启动1、在zookeeper的bin目录下执行zkServer.sh start启动该节点(如果是在windows上,则是执行zkServer.cmd就行,...原创 2019-06-04 23:25:52 · 266 阅读 · 0 评论 -
zookeeper集群配置
一、在conf的zoo.cfg文件中配置:1、dataDir用于配置当前节点存储数据的目录(需要先创建好,zookeeper不会去创建)2、clientPort用于指定客户端访问zookeeper时的端口(zookeeper集群的每个节点最好都要一样)3、用server.id指定zookeeper集群中的所有节点,如果有多个节点就用server.id2、server.id3以此...原创 2019-06-03 23:47:48 · 240 阅读 · 0 评论 -
hadoop linux 打包LZO压缩jar
转载自:https://blog.csdn.net/qq_32641659/article/details/89339471一、安装lzo1、安装lzo的linux本地环境相关#检查是否有lzop命令,我这里显示是有的,说明安装过了lzop[hadoop@hadoop001 ~]$ which lzop/usr/bin/lzop#若没有执行如下安装命令[root...转载 2020-01-10 14:13:03 · 912 阅读 · 0 评论 -
hive性能调优
1、fetch抓取(可配置,默认开启)简单的select筛选查询不启动mapreduce。。直接查2、小表与大表关联使用map join(默认开启),每个map task把小表数据全部下载到内存中,然后与大表分片数据进行关联。。避免在reducer端关联造成数据倾斜。3、大表与大表关联(1)空key处理:《1》当空key对应的行数据都是异常垃圾数据,那么在关联是先使用子查询...原创 2019-11-07 19:41:08 · 167 阅读 · 0 评论 -
mapreduce CombineTextInputFormat合并小文件
CombineTextInputFormat是用于合并小文件的。通过调用setMaxInputSplitSize方法设置maxSize。有两个主要步骤,(1)虚拟存储,先按照指定规则把指定目录下的文件都切分为小于maxSize的更小文件。当然,原本就小于maxSize的小文件不做切分。只有大于maxSIze的小文件会切分的比maxSize更小。切分后的所有文件都是小于maxSize的,当然...原创 2019-10-14 16:00:52 · 537 阅读 · 0 评论 -
hadoop mapreduce的shuffle机制(MRAppMaster如何协调mapper和reducer的)
转载 2019-06-17 21:51:58 · 198 阅读 · 0 评论 -
hadoop mapreduce所有组件
转载 2019-06-17 22:10:23 · 201 阅读 · 0 评论 -
Yarn的调度器
找到几篇不错的文章,可以先看看:https://blog.csdn.net/wangguohe/article/details/79543676https://blog.csdn.net/leone911/article/details/73885125/https://blog.csdn.net/qq_30485769/article/details/53766434...转载 2019-07-03 10:31:39 · 169 阅读 · 0 评论 -
十、Hadoop HA集群搭建过程(也可以下载文件)
环境:三台虚拟机,centos7,hadoop2.9.2,zookeeper3.41、zookeeper集群2、hadoop-env配置java_home路径(每个节点都要配置为这个节点所在及其的java home路径)3、配置core-site.xml <!-- hdfs集群使用名称为mycluster的集群,在hdfs-site中配置的nameservices -->...原创 2019-07-06 00:47:14 · 190 阅读 · 0 评论 -
HDFS读写流程
https://blog.csdn.net/u011535508/article/details/76498429https://blog.csdn.net/whdxjbw/article/details/81072207转载 2019-09-25 11:40:44 · 92 阅读 · 1 评论 -
HDFS为什么块大小不能太大也不能太小
一、HDFS 块设置的比较小会增加寻址时间,并且每个块在namenode都会存储一份元数据,增加namenode开销一个大文件会被分为多个block存在hdfs中,而每个block对于磁盘来说就是一个文件。该hdfs的大文件寻址时间是等于磁盘寻找每个block文件的总和。而本地磁盘每寻找一个block文件都要寻址一次,每次寻址时间都差不多。所以block数量越多,寻址次数越多,则把该大...原创 2019-10-10 10:46:49 · 2104 阅读 · 1 评论 -
hadoop hdfs secondaryNameNode什么时候合并editslog和fsimage文件(checkpoint的时机)
1、checkpoint定时时间到了2、editslog文件的数据满了(达到指定大小)原创 2019-10-10 11:59:04 · 352 阅读 · 0 评论 -
hadoop mapreduce之切片(split)
如果切片大小与数据块大小一样,那么数据块有多少个,就会有多少个切片,然后每个切片启动一个map task处理。如果数据块 很小,那么会把很多数据块加起来作为一个切片,然后启动一个map task进行处理。...转载 2019-06-16 22:45:01 · 533 阅读 · 0 评论 -
使用hadoop命令时出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
使用hdfs dfs -ls 命令或者其他hadoop命令时出现下面这个错误:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ls: `.': No such file or dir...转载 2019-04-24 13:50:37 · 2081 阅读 · 0 评论 -
hadoop hdfs namenode的edits log与fsimage是如何保证存储的元数据与内存中一致的?
在启动hadoop hdfs时,用jps命令可以看到有个secondaryNameNode节点,这个就是用于把namenode的edits log与fsimage合并的。。这两个合并后就是最新的元数据了一、合并流程1、namenode检测到edits log达到某个阈值后,此时会告知secondaryNameNode要进行合并操作了;2、secondaryNameNode收到namen...原创 2019-04-30 18:05:51 · 710 阅读 · 0 评论 -
Hadoop hdfs namenode管理元数据的原理、机制
一、namenode存储元数据的有三部分:1、内存中,会存储所有元数据,但断电会丢失;2、硬盘中,也会存储所有元数据,但由edits log+fsimage才是所有元数据;(1) edits log日志文件中,存最新储增删改等操作,每当有这些操作,都会先存到日志文件中,但log有容量限制,并且容量不大(几十兆),每次快满时会把数据计算后刷入fsimage(在secondaryNameN...原创 2019-04-30 18:10:21 · 957 阅读 · 0 评论 -
hadoop hdfs在阿里云上搭建好后,在自己电脑本机用hdfs客户端远程下载文件出现的各种问题及其解决方案
跟着网络上的视频教程在linux上搭建完伪分布式集群后,在我的开发的机器上使用java api下载文件时出现上面的异常。我学习hadoop是下班后学的,导致弄了好几天才解决这个问题。1、首先,hadoop 的hdfs启动会把namenode和datanode绑定在fs.defaultFS配置的ip上,如果服务器是物理机,然后ip就是外网的ip,那么可以把namenode和datanod...原创 2019-05-19 22:28:19 · 2088 阅读 · 2 评论 -
解决Hadoop 在 windows java客户端运行异常 java.io.FileNotFoundException: HADOOP_HOME and...
直接说解决步骤:(针对hadoop-2.9.0.tar ,其他的应该差不多,以下步骤亲测通过 )1. 将已下载的hadoop-2.9.0.tar 这个 linux 压缩文件解压,放到你想要的位置(任意位置);2. 下载 windows 环境下所需的其他文件(必须) hadoop2.9.0对应的hadoop.dll,winutils.exe 等全网最新 这个...转载 2019-05-21 17:33:13 · 10949 阅读 · 3 评论 -
二、hadoop MapReduce之Map代码编写
1、首先,继承mapreduce包下的Mapper类(有个叫mapred的包很像,但不是那个包)2、四个泛型的意义,如下:(1)(2)默认情况下,框架传递给mapper的KEYIN是当前被输入的这一行的偏移量(注意,不是第几行,而是这一行首字符在整个文件中是第几个字符)。一般用不着这个字段还有,输入的数据可能来自多个文件,而KEYIN的偏移量指的是当前输入的这一行数据在所属文件...原创 2019-06-05 23:18:54 · 245 阅读 · 0 评论 -
三、hadoop MapReduce之Reduce代码编写
1、与Map差不多,继承Reducer,一样是四个泛型参数。前两个泛型参数指的是Map输出的k-v类型(即reduce输入的k-v类型)后两个就是Reducer自身输出的k-v类型2、然后要实现Reducer的reduce方法。这个方法与Mapper的map方法有一点点区别,但是区别不大。第一个参数是输入的key(map输出的key),第二个参数是valueList,第三个参数...原创 2019-06-05 23:29:23 · 287 阅读 · 0 评论 -
hadoop 在widnows下运行需要比linux配置一些额外的东西
额,就是给我另一篇文章新起个标题。。。省的我自己搜索的时候总是找不到看我另一篇文章:https://blog.csdn.net/qq_36951116/article/details/90411329原创 2019-06-07 17:07:20 · 138 阅读 · 0 评论 -
五、hadoop MapReduce之运行job的流程
不论是使用hadoop jar xx.jar com.example.MyMainClass命令去执行main方法,还是在idea等编译器直接运行main方法,效果其实是一样的。都是为了启动执行指定的类的main方法,然后执行job.waitForCompletion。一、在执行main方法里面的代码时(另一篇文章中job的模板代码)执行job.waitForCompletion方...转载 2019-06-07 17:43:08 · 423 阅读 · 0 评论 -
六、hadoop mapreduce在windows本地运行调试
首先,在windows下安装hadoop,设置环境变量,还要加一个dll。资源在这:https://download.csdn.net/download/qq_34955771/10163981资源下载完按一下步骤配置,1:将文件解压到hadoop的bin目录下2:将hadoop.dll复制到C:\Window\System32下3:添加环境变量HADOOP_HOME,指向ha...原创 2019-06-09 20:41:23 · 1090 阅读 · 0 评论 -
七、hadoop mapreduce使用yarn在集群中运行(该文章还需修改)
需要在mapred-site.xml文件中配置:<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property></confi...原创 2019-06-09 22:11:51 · 378 阅读 · 0 评论 -
八、Intellij IDEA远程向hadoop集群提交mapreduce作业
其实对比单机版,差别不是很大。用阿里云的时候别忘了把所有端口都打开。。因为有些代码还是在windows运行,而有些端口貌似是不固定的,应该可以配置成固定的,但我偷懒了,就让hadoop自己随机吧。。我把linux端口全打开。(1)job代码: //hdfs操作文件系统的用户名,避免在windows下使用默认用户名对hdfs没有修改权限 System.s...原创 2019-06-09 22:32:01 · 623 阅读 · 0 评论 -
九、hadoop mapreduce分区
mapreduce的分区是指把map任务执行完后得到的数据根据partitioner的规则分配到不同的reducer上处理,(不同的reduce的输出结果会在不同的文件中)一、什么时候分区?每个Mapper执行完map任务后还会在当前节点对map输出数据进行partitioner和sort操作,做完这些操作之后把结果放到内存的缓冲区中。当存储大小超过缓冲区阈值,会把内存的缓冲区数据放...原创 2019-06-16 19:10:14 · 352 阅读 · 0 评论 -
hadoop 运行mapreduce程序会启动哪些进程,以及这些进程的启动和销毁顺序
1、启动RunJar2、启动MRAppMaster3、启动mapper的yarnChild4、销毁mapper的yarnChild5、启动reduce的yarnChild6、销毁reduce的yarnChild7、销毁RunJar8、销毁MRAppMaster...原创 2019-06-16 22:26:06 · 1936 阅读 · 0 评论 -
一、Hadoop伪分布式的搭建及启动
一、搭建1、配置hadoop/etc/hadoop/hadoop-env.sh文件修改其中JAVA_HOME变量为系统jdk的安装目录,也就是在hadoop-env.sh文件中的JAVA_HOME与配置jdk时在/etc/profille中配置的JAVA_HOME环境变量一致。。表示hadoop通过该jdk启动。2、配置hadoop/etc/hadoop/core-site.xm...原创 2019-04-27 22:04:24 · 1817 阅读 · 0 评论