随笔分类 - Hadoop
摘要:Hadoop HDFS-HA HA(High Availablity) 1.高可用:7*24小时不中断服务。 2.实现高可用最关键的策略是消除单点故障(一个节点故障,整个集群不可以使用),HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。 3.NameNode主要在以下两个方法
阅读全文
摘要:Hadoop综合调优 Hadoop小文件优化方式 Hadoop小文件缺点 1.占用大量NameNode的内存空间,元数据文件过多,导致寻址速度变慢。 HDFS每个文件都要在NameNode上创建对应的元数据,这个元数据的大小约为150byte,当小文件很多时,就会产生很多的元数据文件。 2.导致Ma
阅读全文
摘要:MapReduce生产经验(重要) MapRedecu跑的慢的原因 计算机本身的性能:CPU、内存是否够用、磁盘速度是否最优、网络带宽是否够用 I/O操作优化 数据倾斜:大量数据发送到某一个reduce,导致该reduce没有结束,而其他reduce快速结束。 Map运行时间太长,导致Reduce等
阅读全文
摘要:HDFS-集群迁移 Apache和Apach集群间数据拷贝 scp实现两个远程主机之间的文件复制 本机的文件push出去 scp -r hello.txt root@hadoop102:/user/ranan/hello.txt 把其他主机的文件pull进来 scp -r root@hadoop10
阅读全文
摘要:HDFS-故障排除 这里采用三台服务器即可,我们恢复到Yarn开始保存的服务器快照状态 NameNode故障处理 需求 NameNode 进程挂了并且存储的数据也丢失了,如何恢复 NameNode? 模拟故障 1.kill -9 NameNode进程 [ranan@hadoop102 ~]$ jps
阅读全文
摘要:HDFS-存储优化 环境准备 演示纠删码和异构存储需要一共 5 台虚拟机 首先我们需要把之前的演示的hadoop105从黑名单中放出来,然后根据hadoop105克隆一台hadoop106。 这里使用我们之前使用的5台虚拟机,所以有些地方需要修改 1 修改IP和主机名 网卡地址: /etc/sysc
阅读全文
摘要:HDFS-集群扩容及缩容 添加白名单 白名单:在白名单的主机IP地址可以访问集群,对集群进行数据的存储。不在白名单的主机可以访问集群,但是不会在主机上存储数据 企业中:配置白名单,可以尽量防止黑客恶意访问攻击。 配置白名单的步骤 1.在NameNode节点的主机(hadoop102)/opt/mod
阅读全文
摘要:HDFS-多目录配置 NameNode多目录配置 NameNode的本地目录可以配置多个,且每个目录存放内容相同,增加了可靠性 1.修改hdfs-site.xml <property> <name>dfs.namenode.name.dir</name> <value>file://${hadoop
阅读全文
摘要:2 HDFS-集群压测 在企业中非常关心每天从 Java 后台拉取过来的数据,需要多久能上传到集群?消费者关心多久能从 HDFS 上拉取需要的数据? 为了搞清楚 HDFS 的读写性能,生产环境上非常需要对集群进行压测。 HDFS的读写性能主要受网络和磁盘影响比较大。为了方便测试,将hadoop102
阅读全文
摘要:1 HFDS核心参数 搭建HFDS集群时必须要参考的参数 1.1 NameNode 内存生产配置 问题描述 1) NameNode 内存计算 每个文件块大概占用 150byte,一台服务器 128G 内存为例,能存储多少文件块呢? 128 * 1024 * 1024 * 1024 / 150Byte
阅读全文
摘要:Yarn的Tool接口案例 Tool接口环境准备 之前写wordcount里通过命令行传入的参数来获取输入路径与输出路径。执行命令 [ranan@hadoop102 hadoop-3.1.3]$ hadoop jar wc.jar com.ranan.mapreduce.wordcount2.Wor
阅读全文
摘要:公平调度器案例 公平调度器也有默认队列default 需求 新增两个队列test和ranan(以用户所属组命名)。 期望实现以下效果:若用户提交任务时指定队列,则任务提交到指定队列运行;若没有指定队列,test用户提交的任务到root.group.test,ranan提交的任务到 root.grou
阅读全文
摘要:Yarn 容量调度器多队列提交案例 默认只有一个default队列,不能满足生产要求。一般按照业务模块如登录注册、购物车等创建队列。 需求 需求1:default队列占总内存的40%,最大资源容量占总资源60%(本身占40%可以再借用20%),hive队列占总内存的60%,最大资源容量占总资源80%
阅读全文
摘要:Yarn 生产环境核心参数配置案例 调整下列参数之前要拍摄Linux快照(就是保留之前的状态),否则后续的案例,还需要重写集群 右键-拍摄快照 右键-恢复到快照 需求 从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 1G/128M=8个MapTask 1个Re
阅读全文
摘要:Yarn 生产环境核心配置参数 ResourceManager 配置调度器 yarn.resourcemanager.scheduler.class 默认是容量调度器 ResourceManager处理调度器请求的线程数量 ResourceManager处理client请求的线程数量 yarn.re
阅读全文
摘要:Yarn 常用命令(开发重点) Yarn状态的查询,除了可以在hadoop103:8088页面查看外,还可以通过命令操作 需求:执行WordCount案例,并用Yarn命令查看任务运行情况 //启动集群命令 [ranan@hadoop102 ~]$ myhadoop.sh start //执行命令,
阅读全文
摘要:1 Yarn资源调度器 问题: 1.如何管理集群资源? 2.如何给任务合理分配资源? Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行在操作系统上的应用程序。 1.1 Yarn基础架构 ResourceManag
阅读全文
摘要:数据清洗(ETL) ETL(Extract抽取-Transform转换-Load加载)用来描述数据从来源端经过抽取、转换、加载至目的端的过程。一般用于数据仓库,但其对象并不限于数据仓库 在运行核心业务MapReduce程序之前,往往需要对数据进行清洗,清理掉不符合用户要求的数据,清理的过程往往只需要
阅读全文
摘要:1 Join多种应用 1.1 Reduce Join Map 端的主要工作:不同表或文件的 key/value 对, 打标签以区别不同来源的记录。然后用连接字段作为 key,其余部分和新加的标志作为 value,最后进行输出。 Reduce 端的主要工作:在 Reduce 端以连接字段作为 key
阅读全文
摘要:5 MapReduce工作机制(重点) 5.1 MapTask工作机制 Read阶段 主要是Job的提交流程 1.切片划分 2.提交给Yarn Job.split 切片信息 wc.jar 集群模式会提交,本地模式不会提交 Job.xml 配置信息 3.Yarn开启NodeManager(单个节点服务
阅读全文