Fork me on GitHub

05 2019 档案

摘要:1. 概述 YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源; YARN 由ResourceManager,NodeManager, ApplicationMaster 和 Container 等组件构成; 2. YARN 工作机制 2.1 资源调度器 Hadoop 作业调度器主要有三 阅读全文
posted @ 2019-05-31 21:12 小a的软件思考 阅读(276) 评论(0) 推荐(0) 编辑
摘要:1. Reduce Join工作原理 Map端的主要工作:为来自不同表或文件的key/value对,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。 2. Map Join 使用场景:适用于一张表十分小,一张表很大的场景; 在 Map 端缓存多 阅读全文
posted @ 2019-05-31 20:53 小a的软件思考 阅读(374) 评论(0) 推荐(0) 编辑
摘要:1. 概述 Map 方法之后,Reduce 方法之前的数据处理过程称之为 Shuffle。 2. Partition 分区 需求:要求将统计结果按照条件输出到不同文件中(分区)。比如:将统计结果按照手机归属地,不同省份输出到不同文件中(分区)。 2.1 自定义 Partitioner 步骤 2.2 阅读全文
posted @ 2019-05-31 20:19 小a的软件思考 阅读(493) 评论(0) 推荐(0) 编辑
摘要:1. Map 阶段 ============================================= 2. Reduce 阶段 阅读全文
posted @ 2019-05-30 22:14 小a的软件思考 阅读(266) 评论(0) 推荐(0) 编辑
摘要:1. Hadoop 序列化 1.1 自定义Bean对象实现序列化接口 必须实现 Writable 接口; 反序列化时,需要反射调用空参构造函数,所以必须有空参构造; 重写序列化方法; 重写反序列化方法; 注意反序列化的顺序和序列化的顺序完全一致; 要想把结果显示在文件中,需要重写 toString( 阅读全文
posted @ 2019-05-30 22:03 小a的软件思考 阅读(388) 评论(0) 推荐(0) 编辑
摘要:1. MapReduce 定义 MapReduce 是一个 分布式运算程序 的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce 核心功能是将 用户编写的业务逻辑代码和自带默认组件 整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2. MapR 阅读全文
posted @ 2019-05-29 21:13 小a的软件思考 阅读(943) 评论(0) 推荐(0) 编辑
摘要:1. 工作机制 1. 一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 2. DataNode 启动后向 NameNode 注册,通过后,周期性(1小时)的向 NameNode 上报所有的块信息。 3. 阅读全文
posted @ 2019-05-29 12:14 小a的软件思考 阅读(409) 评论(0) 推荐(0) 编辑
摘要:1. NN 和 2NN 工作机制 NameNode 会产生在磁盘中备份元数据的FsImage; 每当元数据有更新或者添加数据时,修改内存中的元数据并追加到Edits中; SecondaryNameNode 专门用于合并 FsImage 和 Edits; 2. Fsimage 和 Edits 解析 查 阅读全文
posted @ 2019-05-29 00:10 小a的软件思考 阅读(1202) 评论(0) 推荐(0) 编辑
摘要:1. HDFS 写数据流程 1. 客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件, NameNode 检查目标文件是否已存在,父目录是否存在; 2. NameNode 返回是否可以上传; 3. 客户端请求NameNode,获取第一个 Block 上传 阅读全文
posted @ 2019-05-28 21:48 小a的软件思考 阅读(926) 评论(0) 推荐(0) 编辑
摘要:1. 文件上传 2. 操作过程中遇到的BUG "File /0526/noodles/testUpload.txt could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) 阅读全文
posted @ 2019-05-28 20:25 小a的软件思考 阅读(485) 评论(0) 推荐(0) 编辑
摘要:1. HDFS 客户端环境准备 1.1 "windows 平台搭建 hadoop 2.8.5" 2. 创建Maven工程 2.1 配置 2.2 创建HDFSClient类 2.2.1 异常处理 “Permission denied” 2.3 HDFSClient类(升级版) 参考资料: "Hadoo 阅读全文
posted @ 2019-05-26 20:56 小a的软件思考 阅读(2887) 评论(0) 推荐(0) 编辑
摘要:1. 源码编译原因 Apache Hadoop 官方提供的是32位源码,而Windows为64位; 2. 编译准备工作 Ubuntu(64位) jar 包准备(hadoop 源码, JDK8, maven, ant, protobuf) "hadoop 2.8.5 src.tar.gz" jdk 8 阅读全文
posted @ 2019-05-26 18:31 小a的软件思考 阅读(385) 评论(0) 推荐(0) 编辑
摘要:1. 概述 HDFS是一种分布式文件管理系统。 HDFS的使用场景: 适合一次写入,多次读出的场景,且不支持文件的修改; 适合用来做数据分析,并不适合用来做网盘应用; 1.2 优缺点 优点: 高容错性 适合处理大数据 缺点: 不适合 低延时 数据访问; 无法高效的对大量 小文件 进行存储; 不支持并 阅读全文
posted @ 2019-05-26 15:37 小a的软件思考 阅读(354) 评论(0) 推荐(0) 编辑
摘要:端口占用: netstat -lan | grep 8088 netstat -anp | grep 8088 测试端口是否可用 telnet 45.77.175.108 8089 查看环境变量: echo $JAVA_HOME 配置文件地址: /etc/profile source /etc/pr 阅读全文
posted @ 2019-05-26 10:54 小a的软件思考 编辑
摘要:1. 默认配置文件: 存放于Hadoop对应的jar包中 core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml 2. 自定义配置文件: $HADOOP_HOME/etc/hadoop core-site.xml h 阅读全文
posted @ 2019-05-25 20:34 小a的软件思考 阅读(1230) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示