自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 问答 (1)
  • 收藏
  • 关注

原创 第八章 MapReduces和yarn的生成经验

目录8.1 MapReduce生产经验8.1.1 MapReduce跑的慢的原因8.1.2 MapReduce常用调优参数8.1.3 MapReduce数据倾斜问题8.2 Hadoop-Yarn生产经验8.2.1 常用的调优参数8.2.2 容量调度器的使用8.2.3 公平调度器的使用8.1 MapReduce生产经验8.1.1 MapReduce跑的慢的原因计算机性能:cpu、内存、硬盘、网络 I/O操作优化:数据倾斜、Map运行时间太长,导致Reduce等

2021-06-29 09:44:03 637 1

原创 第七章 HDFS—集群间的数据迁移

Apache和Apache集群间数据拷贝scp实现两个远程主机之间的文件复制 scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 push scp -r root@hadoop103:/user/atguigu/hello.txt hello.txt /...

2021-06-28 21:34:50 541 1

原创 第六章 HDFS—故障排除

说明:采用三台服务器即可,恢复到 Yarn 开始的服务器快照。6.1 NameNode故障处理需求:NameNode 进程挂了并且存储的数据也丢失了,如何恢复 NameNode 故障模拟 kill -9 NameNode 进程:kill -9 19886 删除 NameNode 存储的数据(/opt/module/hadoop-3.1.3/data/tmp/dfs/name):rm -rf /opt/module/hadoop-3.1.3/data/dfs/name...

2021-06-28 21:26:38 669 2

原创 第五章 HDFS—存储优化

说明:演示纠删码和异构存储需要一共 5 台虚拟机。尽量拿另外一套集群。提前准备 5 台 服务器的集群。5.1 纠删码 HDFS 默认情况下,一个文件有 3 个副本,这样提高了数据的可靠性,但也带来了 2 倍 的冗余开销。Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约 50%左右的存储空间。5.1.1 纠删码原理 纠删码操作相关的命令:hdfs ec 查看当前支持的纠删码策略:hdfs ec -listPolicies ...

2021-06-27 17:37:14 839 4

原创 第四章 HDFS—集群扩容及缩容

4.1 添加白名单 白名单:表示在白名单的主机 IP 地址可以,用来存储数据。 企业中:配置白名单,可以尽量防止黑客恶意访问攻击。 配置白名单步骤如下: 在 NameNode 节点的/opt/module/hadoop-3.1.3/etc/hadoop 目录下分别创建 whitelist 和 blacklist 文件 创建白名单,vim whitelist hadoop102hadoop103 创建黑名单...

2021-06-27 16:24:55 372 1

原创 第三章 HDFS—多目录

3.1 NameNode多目录配置 NameNode 的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性 具体配置如下: 在 hdfs-site.xml 文件中添加如下内容 <property> <name>dfs.namenode.name.dir</name> <value>file://${hadoop.tmp.dir}/dfs/name1,file://${hadoop.tmp.di

2021-06-27 13:19:57 142

原创 第二章 HDFS—集群压测

HDFS 的读写性能主要受网络和磁盘影响比较大。为了方便测试,将 hadoop102、hadoop103、hadoop104 虚拟机网络都设置为 100mbps。100Mbps 单位是 bit;10M/s 单位是 byte ; 1byte=8bit,100Mbps/8=12.5M/s。网速测试,在hadoop102机器上的/opt/module目录,创建一个:python -mSimpleHTTPServer 2.1 测试HDFS写性能测试内容:向HDFS集群写10...

2021-06-26 18:46:31 251 1

原创 第一章 HDFS-核心参数

1.1 NameNode内存生产配置 NameNode内存计算:每个文件块大概占用150byte,以一台128G内存为例,能存储9.1一文件块(128G=128*1024M=128*1024*1024KB=128*1024*1024*1024Byte,128*1024*1024*1024/150Byte=9.1亿); Hadoop2.x 系列,配置 NameNode 内存:NameNode 内存默认 2000M,如果服务器内存 4G,NameNode 内存可以配置 3G。在hadoop-en

2021-06-26 18:23:36 259

原创 第二章 Yarn案例实操

对于hadoop102、103、104进行拍摄Linux快照,后续可恢复快照。

2021-06-22 19:29:27 699

原创 第一章 Yarn资源调度器

1.1 Yarn基础架构1.2 Yarn工作机制1.3 作业提交全过程1.4 Yarn调度器和调度算法1.4.1 xian

2021-06-20 20:19:48 294 3

原创 第五章 Hadoop常见错误及解决方案

导包容易出错。尤其 Text 和 CombineTextInputFormat。2)Mapper 中第一个输入的参数必须是 LongWritable 或者 NullWritable,不可以是 IntWritable.报的错误是类型转换异常。3)java.lang.Exception: java.io.IOException: Illegal partition for 13926435656 (4),说明 Partition和 ReduceTask 个数没对上,调整 ReduceTask 个数。4

2021-06-20 00:07:54 447 3

原创 第四章 Hadoop数据压缩

4.1 概述4.2 MR支持的压缩编码4.3 压缩方式的选择4.4 压缩参数配置4.5 压缩案例实操

2021-06-19 23:55:01 195

原创 第三章 MapReduce框架原理

3.1 InputFormat数据输入3.1.1 切片与MapTask并行度决定机制3.2 MapReduce工作

2021-06-19 23:21:20 260

原创 第二章 Hadoop序列化

2.1 序列化概述什么是序列化 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。 反序列化就是将收到的字节序列(或者其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。为什么要序列化 一般来说,“活的”对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络是上的另一台计算机。然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。为什...

2021-06-06 17:23:08 459

原创 第一章 MapReduce概述

MapReduce的学习从以下几个方面展开1.1 MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能适将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。1.2 MapReduce优缺点1.2.1 优点易于编程。用户只关系业务逻辑,实现框架的接口; 良好的扩展性。可以动态的增加服务器,解决计算资源不够的问题; 高容错性。任

2021-06-01 22:18:24 761 15

原创 第六章 DataNode

6.1 DataNode工作机制一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳; DataNode启动后向NameNode注册,通过后,周期性(6小时)的向NameNode上报所有的块信息 心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或者删除某个块数据。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用; 集群运行中

2021-05-26 22:21:27 175

原创 第五章 NameNode和SecondaryNameNode

5.1 NN和2NN的工作机制元数据存储,如果存储在内存中,计算快,但是可靠性差;如果存储在磁盘上,计算慢,可靠性高;如果存储在内存+磁盘上,要去两个地方读取数据,效率低,所以,出现了fsImage存储数据,Edits追加数据。磁盘中备份元数据的是FsImage,Edits文件(只进行追加操作,效率高)。每当元数据有更新或者添加元数据时,修改内存中的元数据并追加到Edits中。一旦NameNode节点断电,可以通过FsImage和Edits的合并,合成元数据。但是,如果长时间添加数据到Edits中,会导

2021-05-25 23:33:08 233

原创 第四章 HDFS的读写流程

4.1 HDFS写数据流程4.1.1 剖析文件写入4.1.2 网络拓扑-节点距离计算在HDFS写数据的过程中,NameNode会选择离待上传数据最近距离的DataNode接收数据。节点距离:两个节点到达最近的共同祖先的距离总和。4.1.3 机架感知(副本存储节点选择)IDEA,搜索快捷键ctrl+n,源码在BlockPlacementPolicyDefault.java的chooseTargetInOrder方法中4.2 HDFS读数据流程...

2021-05-25 21:59:18 219 1

原创 第三章 HDFS的API操作

3.1 客户端环境准备参照:https://www.cnblogs.com/qiu-hua/p/13285628.html,注意pom.xml中的hadoop版本号一定要和集群上的版本号保持一致3.2 HDFS的API实操HDFS创建文件夹 HDFS文件上传 HDFS文件下载 HDFS文件更名和移动 HDFS删除文件和目录 HDFS文件详情查看 HDFS文件和文件夹判断public class HdfsClient{ private FileSystem fs;

2021-05-23 23:30:27 204

原创 第二章 HDFS的Shell操作

2.1 基本语法hadoop fs 具体命令 或者 hfds dfs 具体命令,二者完全相同。2.2 常用命令实操准备工作启动hadoop集群:sbin/start-dfs.sh、sbin/start-yarn.sh -help:输出这个命令参数:hadoop fs -help rm 创建/sanguo文件夹:hadoop fs -mkdir /sanguo上传-moveFromLocal:从本地剪切粘贴到HDFS:vim shuguo.txt,输入shuguo,保存;hadoop f

2021-05-23 18:03:39 157

原创 第一章 HDFS概述

HDFS的学习从以下几个方面展开1.1 HDFS产出背景及定义 HDFS产生背景: 随着数据量越来越大,在一个操作系统存不下所有的数据,那么久分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多态机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。 HDFS定义: HDFS(Hadoop Distribute File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合

2021-05-23 12:30:22 73

原创 第四章 Hadoop集群常见错误及解决方案

防火墙没关闭、或者没有启动YARN 主机名称配置错误 IP地址配置错误 ssh没有配置好 root用户和atguigu两个用户启动集群不统一,一般不用root用户启动集群 配置文件修改不细心 不识别主机名称,解决办法: 在/etc/hosts文件中添加主机名称映射:192.168.10.102 hadoop102 主机名称不要起hadoop hadoop000等特殊名称DataNode和NameNode进程同时只能工作一个 执行命令不生效,尽量不要粘贴word中的..

2021-05-22 19:23:54 576

原创 第三章 Hadoop运行模式

3.1 本地运行模式(官方wordCount)创建在hadoop-3.1.3文件下面创建一个wcinput文件夹 在wcinput文件下创建一个word.txt文件 编辑word.txt文件,输入一些单词 执行词频统计: 查看结果: cd wcoutput 3.2 完全分布式运行模式 分析:1)准备3台客户机(关闭防火墙,静态IP、主机名称);2)安装JDK;3)配置环境变量;4)安装hadoop;5)配置环境变量;6)配置集群;7)单点启动;8)配置ssh;9...

2021-05-22 18:43:00 380 1

原创 第二章 Hadoop运行环境搭建

一、模板虚拟机环境准备 安装虚拟机VMware、安装centos(配置VM和windows的网络,配置VM、Windows和centos的IP和主机名称,并配置linux克隆主机名称映射后reboot重启虚拟机,window主机映射hosts文件)。配置要求如下:使用yum安装,前提是可以正常上网,通过ping www.baidu.com进行测试 安装epel-release(可为操作系统提供额外的软件包,大多数rmp包在官方repository中找不到):yum install -...

2021-05-16 15:28:27 118

原创 第一章 Hadoop概念及入门

hadoop学习从以下几方面展开:Hadoop基础概念大数据:无法在一定的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,需要新处理模式才能具备更强大的决策力、洞察发现力、流程优化能力的海量、高增长率和多样化的信息资产。TB、PB、EB以上的数据量可称为大数据。大数据主要解决,海量数据的采集、存储和分析计算问题。 大数据的特点(4V):volume(大量)、Velocity(高速)、Variety(多样)、value(低价值密度),如何快速对有价值得的数据进行“提纯”,目前是大数据背景

2021-05-15 16:48:44 258 1

原创 hive学习第五章:查询

基本查询全表和特定列查询 //1.全表查询select * from emp//2.选择特点列查询select empno, ename from emp 注意: SQL语言大小写不敏感 SQL可以写在一行或者多行 关键字不能被缩写,也不能分行 各子句一般要分行写 使用缩进提高语句的可读性 列别名重命名一个列 便于计算...

2020-04-10 11:38:51 242 1

原创 hive学习第四章:DDL数据操作

数据导入向表中装在数据(Load)语法 load data [local] inpath '/opt/module/datas/student.txt' [overwrite] into table student [partition(partcoll=val1, ...)]/*1.load data:表示加载数据2.local:表示从本地加载数据到hive表,否则从hdfs...

2020-04-08 11:47:10 199

原创 hive学习第三章:DDL数据定义

创建数据库创建一个数据库,数据库在hdfs上的默认路径是/user/hive/warehouse/*.db 避免要创建的数据库已经存在错误,增加if not exist判断:create databaseif not exists db_hive 创建一个数据库,指定数据库在hdfs上存放的位置:create database db_hive2 location '/db_hive2....

2020-04-07 23:58:49 514

原创 hive学习第二章:数据类型

基本数据类型hive数据类型 java数据类型 长度 例子 INT int 4byte有符号整数 20 BIGINT long 8byte有符号整数 20 DOUBLE double 双精度浮点数 3.14159 STRING string 字符系列。可以指定字符集。可以使用单引号或者双引号...

2020-04-06 22:43:38 169

原创 hive安装、常用命令和属性配置

安装mysqlrpm -qa | grep mysql //查看是否存在mysqlrmp -e --nodeps mysql-libs-5.1.73-7.e16.x84_64 //卸载已有的的mysqlcd /opt/software/mysql-libs/ //进入mysql-libs文件夹,其中有三个文件client、connector、s...

2020-04-06 21:40:59 348

原创 Hive学习第一章:基本概念

1.1 什么是hive?hive由Facebook开源用于解决海量结构化日志的数据统计,是基于hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张表,并提供类SQL查询功能本质:将HQL转化成MapReduce程序hive的计算存储在hdfs上 hive底层分析数据的方式是mapreduce hive执行程序运行在yarn上1.2 hive的优缺点1....

2020-04-03 22:07:13 255

原创 java语法的理解

继承序列化:方便传输,传输的时候要拆分成二进制,传完后重组,保证重组的准确性

2020-03-27 21:54:31 131

原创 java开发常用语法【xml文件】

xml文件:#模糊查询匹配 <select id="getListTaskName" resultType="String"> SELECT TASK_NAME FROM TB_TASKID_HQL WHERE TASK_NAME LIKE '%${taskName}%' A...

2020-03-27 17:51:27 180

原创 hdfs操作之获取指定路径下的文件列表

添加pom.xml依赖 <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.1.0</ver...

2020-03-03 21:51:05 2158

原创 Java8新特性之streamAPI(四)

练习:1.给定一个数字列表,如何返回一个由每个数的平方构成的列表? 给定【1,2,3,4,5】,返回【1,4,9,16,25】2.用map和reduce方法数一数流中一共用多少个Employeepackage streamAPI;import lambda.Employee;import org.junit.Test;import java.util.Arrays...

2020-03-03 21:46:52 604

原创 Java8新特性之streamAPI(三)

stream操作的三个步骤之终止操作: 查找与匹配* allMatch——检查是否匹配所有元素* anyMatch——检查是否至少匹配一个元素* noneMatch——检查是否没有匹配所有元素* findFirst——返回当前第一个元素* findAny——返回当前流中的任意元素* count——返回流中元素的总个数* max——返回流中最大值* min——返回流中最小...

2020-03-03 21:44:30 217

原创 Java8新特性之streamAPI(二)

stream操作的三个步骤之中间操作: 筛选与切片​​​​​​filter——接收Lambda,从流中排除某些元素limit——截断流,使其元素不超过给定数量skip——跳过元素,返回一个扔掉了前n个元素的流。若留着元素不足n个,则返回一个空流。与limit(n)互补distinct——筛选,通过流所生成元素的hashCode()和equals()去除重复元素。 内...

2020-03-03 21:41:03 144

原创 Java8新特性之streamAPI(一)

stream操作的三个步骤之创建stream:可以通过Collection系列集合提供的stream()或parallelStream(),即串行流或并行流; 通过Arrays中的静态方法stream()获取数组流; 通过Stream类中的静态方法of(); 创建无限流 package streamAPI;import lambda.Employee;import org....

2020-03-03 21:29:25 126

原创 Java8新特性之Lambda表达式(五)

练习:调用Collections.sort()方法,通过制定排序比较两个Employee(先按年龄比,年龄相同按姓名比),使用Lambda作为参数传递; 声明函数式接口MyFunction,接口中声明抽象方法,public String getValue(String str) 声明类TestLambda,类中编写方法使用接口作为参数,将一个字符串转换成大写,并作为方法的返回值 再将一个字...

2020-03-03 21:22:37 292

原创 Java8新特性之Lambda表达式(四)

引用一、方法引用:若Lambda体中的内容有方法已经实现了,我们可以使用方法引用 方法引用是Lambda表达式的另外一种表现形式主要有三种语法格式:1.对象::实例方法名2.类::静态方法名3.类::实例方法名二、构造器引用:格式:ClassName::new三、数组引用:格式:Type::newpackage lambda;import...

2020-03-03 21:16:46 98

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除