![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据Hadoop技术
Hadoop
尘世壹俗人
做一只马喽
展开
-
原生Hadoop3.X高可用配置方式
Hadoop3.X版本,在2017年左右就有了第一个alpha版本,但是那个时候刚出来,所以没有人使用,到2018年3.0.0版本作为第一个3,X正式发布,截止当前本文书写时间,3.X版本已经发展到了3.4,在Hadoop的顶层设计上最大的区别就是在2.X的时候,高可用机制只允许一个在工作中,一个在备用,但是3.X的hadoop允许最多存在五套高可用节点。当然,官方推荐最多三套,自带的MR计算框架也由原来的纯磁盘运算加入了内存运算的设计。在给大家介绍3.X如何搭建集群之前,要先给大家说一些理论上的东西,当原创 2024-06-16 15:45:58 · 1094 阅读 · 0 评论 -
Hadoop提交MR任务
mapreduce.map.java.opts=-Xmx1638m 这个是设置Map任务暂用JVM堆内存大小为1638MB(留一些内存给JVM进程本身)。mapreduce.reduce.java.opts=-Xmx3276m 设置Reduce任务的JVM堆内存大小为3276MB。mapreduce.reduce.memory.mb=4096 设置每个Reduce任务的内存为4096MB。mapreduce.map.memory.mb=2048 设置每个Map任务的内存为2048MB。原创 2024-06-14 14:18:14 · 433 阅读 · 0 评论 -
hadoop-yarn设置任务队列为capa
Yarn的调度队列类型有三种,分别是fifo(默认队列)、fair(公平队列)、capa(容器队列)三种调度队列的区别如下默认队列,在测试环境下使用,它本质上是单一的一条任务队列,有着所有任务按照提交顺序先进先出的特性,好处在于无需配置,使用简单,容易理解,缺点在于所有任务在统一队列中,每次执行一个任务,任务如果太大会造成整体的阻塞,影响效率公平队列,在项目中很少有使用,它本质是多个任务队列,且运行资源足够时就启动一个任务,好处在于同一时间每个队列中均有多个任务在执行,缺点也显而易见资源保持在高度使用原创 2022-01-18 16:18:55 · 2197 阅读 · 0 评论 -
原生Hadoop2.X高可用配置方式
前言hadoop配置高可用的时候,要注意,如果你是单namenode升级那么你要提前把有用的数据备份好,因为原创 2020-11-23 18:15:14 · 1498 阅读 · 1 评论 -
hadoop namenode数据存储多路径配置方式
修改hdfs-site.xml文件中如下配置,逗号相隔<property> <name>dfs.namenode.name.dir</name> <value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2</value></property>原创 2021-08-19 16:35:29 · 517 阅读 · 0 评论 -
hadoop datanode数据存储多路径配置方式
修改 hdfs-site.xml 文件中的如下配置,英文逗号相隔<property><name>dfs.datanode.data.dir</name><value>file:///dfs/data1,file:///dfs/data2</value></property>原创 2021-08-19 16:31:35 · 1810 阅读 · 0 评论 -
Hadoop hadoop.tmp.dir这个路径是干什么的
hadoop官网给的提示可知,这个路径是一切路径的基石,比如跑MR时生成的临时路径本质上其实就是生成在它的下面,当然如果你不想也可以去更改 mapred-site.xml 文件再比如,如果你不配置namenode和datanode的数据存储路径,那么默认情况下,存储路径会放在hadoop.tmp.dir所指路径下的dfs路径中...原创 2021-08-19 16:28:23 · 2615 阅读 · 0 评论 -
yarn-site.xml中把控资源的配置信息项有哪些
yarn框架的参数调整一般除了用于计算的资源策略要变之外,其他的除非特殊情况一般都不变的,而我们要变的时候,可以打开当前不同集群配置的地方找到如下的资源配置信息,加以修改,使得集群的资源使用符合当下情况配置的时候注意一个点,所有配置不必要每个节点都一样,Hadoop本身就允许每个节点性能不同,而导致的计算资源不同1、单个容器内存最值yarn.scheduler.minimum-allocation-mb yarn.scheduler.maximum-allocation-mb默认值1024/81原创 2021-06-09 17:35:27 · 355 阅读 · 0 评论 -
yarn的任务界面快速上手小技巧
在数据分析的工作中,我们最常用的就是yarn的页面了,但是有很多小伙伴,刚接触大数据不久,导致打开yarn界面,看的一脸懵,还全市英文啥都看不懂,所以现在我就给大家说说yarn界面到底怎么看,首先在打开yarn的界面之后会展示如下界面因为一些原因,不方便给大家看集群参数,大家见谅,下面涉及到的配置我也会抹掉,当然大家自己打开yarn之后可能因为访问路径等原因,不是我这个界面,这个也无所谓,大家点击左上角Cluster下的about就可以了现在我开始告诉大家yarn的界面到底怎么用,首先最左面的那些导航原创 2021-04-30 17:39:57 · 896 阅读 · 3 评论 -
优化yarn在任务执行时核数把控不准确的问题
如果你想要让yarn准确的计算使用多少核,那么需要更改所有节点中的capacity-scheduler.xml配置文件原配置文件中的yarn.scheduler.capacity.resource-calculatororg.apache.hadoop.yarn.util.resource.DefaultResourceCalculator要修改为yarn.scheduler.capacity.resource-calculatororg.apache.hadoop.yarn.util.reso原创 2024-06-14 17:58:22 · 734 阅读 · 0 评论 -
MapReduce默认分区方式是什么,以及分区的注意事项
MR的默认分区是哈希分区,就是key的哈希值上面这个图片就是源码,我们自定义分区的时候也是继承上面的类或者它的超类原创 2021-02-27 00:31:04 · 1532 阅读 · 0 评论 -
大数据经典算法--共同好友算法
大数据有很多的经典算法,如最常见的worldcount算法,不过今天我要给大家展示的是,大数据嵌套MR的经典算法:共同好友pom如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati原创 2021-01-05 11:10:42 · 841 阅读 · 0 评论 -
MapReduce如何多层嵌套
在学习Hadoop阶段数据的MR通常都是单MR,下面我给大家用一个例子演示一下在工作中正常写的时候怎么写多层MR嵌套单MR写法: public static void main(String[] args) throws InterruptedException, IOException, ClassNotFoundException { Configuration cfg = new Configuration(); //获取到任务 Job job原创 2021-01-04 18:25:38 · 362 阅读 · 0 评论 -
Hadoop的数据类型
Hadoop有自己的数据类型,这是因为MapReduce是基于磁盘的计算框架,会产生大量的磁盘IO,从而产生大量的系列化、反系列化操作,而JAVA自带的Serializable是一个繁杂的完整框架,直接使用它对本就耗费资源的MR来说无疑是雪上加霜,因此Hadoop有着自己的数据类型,分为内建类型和用户自定义类型一、内建类型BooleanWritable:标准布尔型数值ByteWritable:单字节数值DoubleWritable:双字节数值FloatWritable:浮点数IntWritabl原创 2021-01-04 17:59:10 · 1494 阅读 · 0 评论 -
Hadoop安全模式处理方法
我们在使用Hadoop的时候发现Hadoop有一个比较烦人的东西就是安全模式,尤其是在自己的测试环境中,常发生在使用hive并且优化了hive之后,基本每次操作完,下次进入hive都会由于hadoop进入安全模式,而导致失败,下面我给大家两种处理方式,希望对大家有帮助第一种,修改安全阈值<property> <name>dfs.safemode.threshold.pct</name> <value>1</value> <de原创 2021-01-04 17:46:15 · 206 阅读 · 1 评论 -
Hadoop常用命令
声明1、以下命令在我自己的测试环境hadoop2.7下进行无意外2、本文只列举常用命令,对于有特殊要求的人那么推荐去查其他资料3、由于从事大数据工作原因我列举的都是hadoop fs的,包括其他三种我大致介绍一下hadoop fs使用范围最广,可操作性最强,可以说是hdfs fs的优化hadoop dfs只可操作HDFS文件系统相关,可以直接用hadoop fs代替hdfs fs比较老的命令已经淘汰hdfs dfs只HDFS文件系统相关,在学习hadoop阶段比较常用常用命令如下hado原创 2021-01-04 17:37:57 · 248 阅读 · 0 评论 -
MapReducer如何添加多个输入路径
通常我们直接使用FileInputFormat,但是使用多了我们就会发现,它无法满足我们所有的需求,因为它只能看路径加载,那么多路径怎么办呢,下面我给大家准备的例子就可以帮到大家 public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { Configuration cfg = new Configuration();原创 2020-12-31 16:11:05 · 311 阅读 · 0 评论 -
Hadoop的MapReduce如何自定义分组
虽然在MR运行的时候回以key为核心进行分组操作,但是有时候我们需要自定义分组来实现一些特别的功能,下面我给大家准备了一个以d原创 2020-12-31 16:00:10 · 222 阅读 · 0 评论 -
Hadoop的MapReduce如何自定义排序
Hadoop的MR自定义排序其实很简单,其本质就是扩展了自定义Bean的Key,比如下面这个例子,我希望完成订单价格的排序package com.wy;import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;public class OrderBean implements WritableComp原创 2020-12-30 16:53:57 · 286 阅读 · 0 评论 -
如何用JAVA代码操作HDFS
有时候我们不会直接上服务器去操作Hadoop的HDFS,那么下面我就为大家展示一下怎么用JAVA代码操作Hadooppom如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="原创 2020-12-30 10:48:15 · 435 阅读 · 0 评论 -
MapReduce如何自定义分区
我任然套用之前发过的一个MapReduce例子来演示如何自定义分区,大家可以先去看一下我之前的例子https://blog.csdn.net/dudadudadd/article/details/111867084下面沿用上面的例子,在pom和代码不变的情况下,做一个自定义分区操作,目的是根据手机号前三位的不同分配数据到不同分区,如此我使用如下自定义分区类...原创 2020-12-29 00:12:30 · 365 阅读 · 0 评论 -
Hadoop的MapReduce实例--手机上下行流量
pom依赖如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org原创 2020-12-29 00:00:51 · 333 阅读 · 0 评论 -
yarn的cluster和client
首先对于cluster和client这两种模式我们要知道几个事1、你如果是跑Hadoop自己的MapReduce,那么不必要讨论它是用的那种模式,因为MR运行可以说是只有cluster2、cluster和client这两个模式是yarn为其他框架提出的两种可供选择的兼容模式,运行时Hadoop只提供到applicationmaster这一级,至于任务的具体执行等是由不同框架自己的Driver决定的,不是用Hadoop的Yarn-cluster模式提交作业后,applicationmaster和相应的D原创 2020-12-24 13:33:34 · 646 阅读 · 0 评论 -
yarn的调度队列
yarn的调度器有三种分别是默认的、容量、公平默认的调度器,我忘了名字了,有兴趣的可以在看看其他的资料,但是默认的调度器我们生产环境中一般不用,它的原理是单队列同一时间只有一个任务在运行容量调度器,原理是多队列同一时间每个队列有一个任务在运行,也是生产环境常用的公平调度器,原理是多队列且每一个队列都有多个任务在运行,这里注意是多个任务,这也是为什么他不常用,因为它有榨干集群资源的威胁,可能导致轻则有的任务运行不顺利,重则集群奔溃...原创 2020-12-24 10:14:05 · 369 阅读 · 0 评论 -
Hadoop的MapReduce原理
MapReduce说的其实是applicationmaster把任务交给datanode之后,datanode中任务就执行过程,有兴趣的话可以看一下我之前发的yarn的东西https://blog.csdn.net/dudadudadd/article/details/111586667最好还是看一下,因为如果其他人问出来,我们还是要从数据的提交那一块说起的如上图,我以单个的datanode为例来说,在applicationmaster向yarn申请完资源之后,会把任务交给申请到的资源所在的datan原创 2020-12-23 18:10:16 · 179 阅读 · 0 评论 -
yarn的工作
如上图我简单的画了一个草图给大家用大白话解释一下yarn是干什么的,其实总结来说并没有大家常看的那么麻烦,那些都是最底层的,咱们虽然要知道,但是没有必要知道的那么详细,毕竟我们不是做yarn本身的研发先给大家介绍一下yarn其实是一个资源调度器,它是Hadoop2.0之后提出来的一个组件,同时发展至今已然是一个很成熟的调度框架了,可以脱离Hadoop单独对其他框架提供支持,如Spark、Flink等而Hadoop1.0的时候yarn的工作是一个叫做JobTracker的组件兼任的,但是这个组件随着Ha.原创 2020-12-23 16:31:25 · 596 阅读 · 0 评论