Java大数据
文章平均质量分 90
求学旅途
一名求学者
展开
-
HDFS的 DataNode 工作机制
1DataNode 工作机制1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。4)集群.原创 2021-04-22 23:24:01 · 354 阅读 · 0 评论 -
HDFS的NameNode和SecondaryNameNode
一、NN 和 2NN 工作机制NameNode中的元数据是存储在哪里的? 首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生了磁盘中备份元数据的FsImage。 这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦Nam...原创 2021-04-22 22:43:44 · 275 阅读 · 0 评论 -
HDFS HA高可用
1 HA 概述1)所谓HA(High Available),即高可用(7*24小时不中断服务)。2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。4)NameNode主要在以下两个方面影响HDFS集群 NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 NameNode机器需要升级,包括软件、硬...转载 2021-03-20 11:38:13 · 315 阅读 · 0 评论 -
大数据技术之Flume
1 概述1.1 Flume 定义Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。1.2 Flume 的优点可以和任意存储进程集成。 输入的的数据速率大于写入目的存储的速率,flume会进行缓冲,减小hdfs的压力。 flume中的事务基于channel,使用了两个事务模型(sender + receiver),确保消息被可靠发送。 Flume使用两个独立的事务分别负责从soucrc...原创 2021-03-11 18:27:49 · 306 阅读 · 0 评论 -
Hive企业级调优
目录1 Fetch 抓取2 本地模式3 表的优化3.1 小表、大表Join3.2 大表Join大表3.3 Map Join(小表join大表)3.4 Group by3.5 Count(Distinct)去重统计3.6 笛卡尔积3.7 行列过滤3.8 动态分区调整3.9 分桶3.10 分区4 合理设置 Map 及 Reduce 数4.1 复杂文件增加Map数4.2 小文件进行合并4.3 合理设置 Reduce 数5 并行执行6 严格原创 2021-03-11 15:51:26 · 525 阅读 · 0 评论 -
大数据技术之Hive数据类型
3 Hive 数据类型3.1 基本数据类型 Hive数据类型 Java数据类型 长度 例子 TINYINT byte 1byte有符号整数 20 SMALINT short 2byte有符号整数 20 INT int原创 2021-03-10 14:53:57 · 156 阅读 · 0 评论 -
大数据技术之Hive安装
2 Hive 安装2.1 Hive 安装地址1.Hive官网地址http://hive.apache.org/2.文档查看地址https://cwiki.apache.org/confluence/display/Hive/GettingStarted3.下载地址http://archive.apache.org/dist/hive/4.github地址https://github.com/apache/hive2.2 Hive 安装部署1.Hive安装及配置原创 2021-03-10 14:38:49 · 211 阅读 · 0 评论 -
大数据技术之Hive基本概念及与数据库的比较
1 Hive 基本概念1.1 什么是HiveHive:由Facebook开源用于解决海量结构化日志的数据统计。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。本质是:将HQL转化成MapReduce程序1)Hive处理的数据存储在HDFS2)Hive分析数据底层的默认实现是MapReduce3)执行程序运行在Yarn上1.2 Hive 的优缺点1.2.1 优点1)操作接口采用类SQL语法,提供快速开发.原创 2021-03-10 14:08:43 · 187 阅读 · 0 评论 -
大数据技术之Zookeeper
1 Zookeeper 入门1.1 概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper工作机制1.2 特点1.3 数据结构1.4 应用场景提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。统一命名服务:统一配置管理:统一集群管理:服务器节点动态上下线:软负载均衡:1.5 下载地址官网首页:https://zookeeper原创 2021-03-10 11:32:28 · 138 阅读 · 1 评论 -
Hadoop性能优化的一些思考
目录1 MapReduce 跑的慢的原因2 MapReduce 优化方法2.1 数据输入2.2 Map阶段2.3 Reduce阶段2.4 I/O 传输2.5 数据倾斜问题3 HDFS 小文件优化方法3.1 HDFS 小文件弊端3.2 HDFS 小文件解决方案1 MapReduce 跑的慢的原因MapReduce 程序效率的瓶颈在于两点:1、计算机性能 CPU、内存、磁盘健康、网络2、I/O 操作优化 (1)数据倾斜 (2)Map...原创 2021-03-09 21:52:44 · 344 阅读 · 0 评论 -
Hive执行查询报错:Caused by: java.lang.RuntimeException: Hive Runtime Error while closing operators
1、问题描述2、解决办法:在查询前加上: set hive.vectorized.execution.enabled=false; -- 控制是否启用查询执行的向量模式原创 2020-12-01 13:41:47 · 3455 阅读 · 0 评论 -
HiveSQL两表join时报Map operator initialization failed异常解决方法
1、报错信息诊断2、上面是报错的具体信息,当我们看到第一条报错的时候很苦恼,不知道怎么办。这种情况不要被吓到!继续往下看看,寻找自己懂的!看到了后面的Java内存溢出,是不是大家就恍然大悟,这种情况我们还是很常见的,由于我的hive默认使用tez,tez是运行于内存的,所以两个表join的时候表过大是会出现内存溢出的,那么怎么解决呢?1)加内存2)设置执行引擎为mr,在hiveSQL语句前设置:set hive.execution.engine=mr;3、那么第一个报错具体是什么原创 2020-11-30 20:20:01 · 2046 阅读 · 0 评论 -
Hive调优之count(*)产生缓存,明明表名中有数据,返回就是0!气不气???一条语句解决!
表元数据里有数据量级的记录,count(*)不加任何where条件,那么直接读取表元数据,不走MR,修改hive的参数,把count缓存关闭,问题解决!set hive.compute.query.using.stats=false;原创 2020-11-30 10:49:22 · 1001 阅读 · 1 评论 -
Hive调优之运行Tez时检查到用过多内存而被NodeManager杀死进程
运行Tez时检查到用过多内存而被NodeManager杀死进程问题其中解决方案三和方案四在实际项目测试中对问题的解决产生了效果Caused by: org.apache.tez.dag.api.SessionNotRunning: TezSession has already shutdown. Application application_1546781144082_0005 failed 2 times due to AM Container for appattempt_154678114原创 2020-11-29 19:18:50 · 862 阅读 · 1 评论