hadoop
文章平均质量分 87
hadoop
綮地
这个作者很懒,什么都没留下…
展开
-
Hadoop HA部署(阿里云)
1.阿里云添加实例(3台)点击控制台进入云服务器ECS点击创建实例选择按量付费,区域以及资源大小,完成之后点击下一步默认点下一步点击下一步,其它的参照下图配置默认点下一步检查箭头所指几项,创建实例2.前置环境配置在web界面中的运维管理里边开放相关(也可以是所有)端口关闭防火墙3台全做[root@ruozedata001 ~]# systemctl stop firewalld[root@ruozedata001 ~]# [root@ruozedata001 ~原创 2021-01-21 09:59:48 · 10344 阅读 · 0 评论 -
Hadoop HA架构
命名空间当001是active,那么读写没问题;但是当001挂了,002变为active,那么是不是还要去修改 代码 脚本为ruozedata002 ?是要修改的,但是想一想 是不是很麻烦?所以引入一个概念:命名空间注意:命名空间是配置参数 不是进程dfs.nameservices - the logical name for this new nameservice从而实现不需要去修改脚本代码,由命名空间路由到active节点。HDFS HA的架构以上是最小版的集群,集群角色如下:原创 2021-01-20 16:08:20 · 7368 阅读 · 1 评论 -
hadoop常用的命令
1.hadoop常用命令hadoop常用命令就是以下三个:1.hadoop fshadoop fs和hdfs等价:如下图的脚本可知:2.hadoop checknative检查原生hadoop和压缩库是否可用,如下图:3.hadoop classpath打印对象的类路径,如下图的执行结果:具体的应用参考:http://cn.voidcc.com/question/p-tenieuea-bex.html2.hdfs常用命令如下图:1.dfs命令:生产上注意不建议使用mv移动原创 2020-12-10 10:37:07 · 2778 阅读 · 0 评论 -
wordcount案例的过程分析和map、shuffle、reduce过程解析
如上图,假设此文件大小为300MB,我们要对这个文件中的单词出现的频次进行统计,这个过程称之为wordcount,下面描述一下这个wordcount的过程:1.InputInput阶段是对这个文件原封不动的读取进来。2.SplittingSplitting阶段是对这个文件进行拆分,正常的block块默认大小是128M,而这个文件是300M,300/128=2…4,那么这个文件如上图会被拆分成3个块,对应的三个块大小是:128M、128M、44M。3.MappingMapping阶段是对上一步分.原创 2020-12-09 17:42:24 · 1017 阅读 · 0 评论 -
YARN的三种调度器
YARN的三种调度器理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairScheduler。原创 2020-12-09 17:12:00 · 612 阅读 · 0 评论 -
JVM内存的坑
事实上jvm在内存小于32G的时候会采用一个内存对象指针压缩技术。在java中,所有的对象都分配在堆上,然后有一个指针引用它。指向这些对象的指针大小通常是CPU的字长的大小,不是32bit就是64bit,这取决于你的处理器,指针指向了你的值的精确位置。对于32位系统,你的内存最大可使用4G。对于64系统可以使用更大的内存。但是64位的指针意味着更大的浪费,因为你的指针本身大了。浪费内存不算,更糟糕的是,更大的指针在主内存和缓存器(例如LLC, L1等)之间移动数据的时候,会占用更多的带宽。Java 使原创 2020-12-09 17:02:40 · 164 阅读 · 0 评论 -
MR ON YARN流程
MR ON YARN流程1.Client向RM提交应用程序,其中包含Application Master主程序和启动命令。2.Applications Manager会为应用程序分配第一个container容器,来运行Application Master主程序。3.Application Master主程序就会向Applicaitons Manager注册,就可以做yarn的web界面上看到job的运行状况。4.Application Master主程序采用轮询的方式通过RPC协议向Resourc原创 2020-12-09 16:10:08 · 407 阅读 · 0 评论 -
生产上hadoop回收站的坑
生产上hadoop回收站的坑1.模拟往HDFS上上传数据后删除是直接delete的,没有经过回收站,如下图:查过官网发现:无论是Apache版本的hadoop还是CDH版本的hadoop默认都是禁用回收站的,fs.trash.interval参数都是设置为0,如下图:1)Apache版本:https://hadoop.apache.org/docs/r2.10.1/hadoop-project-dist/hadoop-common/core-default.xml2)CDH版本:https://原创 2020-12-09 15:22:14 · 183 阅读 · 0 评论 -
SNN合并流程
SNN工作流程1.SNN执行checkpoint动作的时候,NN会停止使用当前的edit文件515-516,NN会暂时将读写操作记录到一个新的edit文件中5172.SNN将NN的fsimage514和edits文件515-516远程下载到本地。3.SNN将fsimage 514加载到内存中,将edits文件515-516内容在内存中从头到尾的执行一次,创建一个新的fsimage文件516。4.SNN将新的fsimage 516推送给NN。5.NN接收到fsimage 516.ckpt以后,滚动原创 2020-12-09 14:44:24 · 397 阅读 · 0 评论 -
HDFS的副本放置策略
第一个副本:放置在上传的DN节点上,就近原则节省网络IO。假如是在非DN节点上,就挑选一个磁盘不太快,CPU不太忙的节点。第二个副本:放置在第一个副本的不同机架的某个节点第三个副本:与第二个副本放置在同一个机架的不同节点上。如果设置的副本更多,剩下的随机放。总结:在生产上,尽量选择DN的节点进行相关的操作,因为可以节省大量的网络IO。...原创 2020-12-09 14:23:26 · 1524 阅读 · 0 评论 -
HDFS读写流程
HDFS读写流程HDFS写流程1.HDFS Client调用FileSystem.create(filePath)方法,去和NN进行(RPC)通信。NN先会检查这个文件是否存在以及是否有权限创建这个文件。如果都可以的话就创建这个新文件,但是这时没有数据,是不关联任何block块的。2.NN根据文件的大小,根据块大小、副本数,计算要上传多少的块和要上传到哪些DN节点上。最终这个信息返回给HDFS Client(FSDataOutputStream)对象。3.HDFS Client调用上一步返回FSD原创 2020-12-09 14:17:42 · 173 阅读 · 0 评论 -
HDFS架构
HDFS主从架构贴上一张官网的图:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.htmlNamenodeNamenode称为名称节点 里边存放的是:1.文件的名称2.文件的目录结构3.文件的属性(文件的权限、文件的副本数、文件的创建时间)如下图:4.一个文件被对应切割成那些数据块(包括副本的块),以及这些块被分布到哪些datanode上,这个映射关系叫blockmap(块映射原创 2020-12-09 11:38:49 · 210 阅读 · 0 评论 -
记一次生产上单点DataNode其中一块磁盘空间不足的处理
1.如下图,此节点的datanode为两块磁盘,两块磁盘的数据放置不均衡导致hdfs、yarn、hive等服务均呈挂起状态,CDH上一片红2.参考CDH的官网,说明如下图,支持单点磁盘级别的平衡,另外,贴出Apache hadoop 2.x和Apache hadoop3.x的官网对此参数的说明:上图是hadoop2.6-cdh5.16.1截图上图是Apache hadoop 3.2.1版本截图,而Apache hadoop 2.x暂不支持此参数,如下图所示:3.生产上操作步骤1)如第2步的原创 2020-12-04 18:31:28 · 724 阅读 · 0 评论 -
生产HDFS Block损坏恢复最佳实践
1.上传文件至hdfs-bash-4.2$ hdfs dfs -mkdir /blockrecover-bash-4.2$ echo "www.ruozedata.com" > ruozedata.md-bash-4.2$ hdfs dfs -put ruozedata.md /blockrecover-bash-4.2$ hdfs dfs -ls /blockrecoverFound 1 items-rw-r--r-- 3 hdfs supergroup 18 201原创 2020-12-04 07:45:43 · 443 阅读 · 0 评论 -
hadoop中pid文件的坑
1.pid文件的位置先说说pid文件的默认位置为什么必须修改,原因在我的hadoop部署那节也提到过是因为/tmp目录下的文件有30天不访问的话就会自动清理。它的作用是进程的启动和停止都需要依赖此对应的pid文件pid文件默认是存储在/tmp下的,如下图:2.测试修改pid文件3.结果经过第二步的测试,修改pid文件的话会影响hadoop的重启,究其原因查看它启动的shell脚本:start echo $! > $pidstop TARGET_PID=`cat $pi原创 2020-12-03 20:17:36 · 416 阅读 · 0 评论 -
jps命令的坑
1.jps所在的位置[hadoop@hadoop ~]$ which jps/usr/java/jdk1.8.0_144/bin/jps2.对应的进程号标识文件存储在哪里?如下图,会存储在/tmp/hsperfdata_用户名(在这里用户是hadoop)现在用其他用户随便kill掉一个进程,再jps就会看到如下的效果(在此的效果不是很明显,在CDH上会很直观)总结:当看见 process information unavailable不能代表进程是存在 或者不存在,要当心,尤其使用jps原创 2020-12-03 17:46:47 · 506 阅读 · 0 评论 -
修改yarn默认端口
1.改yarn默认端口的原因为什么要修改yarn默认的端口的愿意是因为想yarn、redis这种8088和6379端口是近年来挖矿病毒的热门踩点端口,具体的可参考这篇文章:https://segmentfault.com/a/11900000152641702.修改端口1)在~/app/hadoop/etc/hadoop/yarn-site.xml 文件中增加以下配置:图上为什么配置的是这个参数呢? 参数在官网https://hadoop.apache.org/docs/r2.10.1/hado原创 2020-12-03 16:15:28 · 12835 阅读 · 0 评论 -
hadoop部署(hadoop-2.6.0-cdh5.16.2)
1.部署前准备1.创建用户和文件夹,建立好host映射 useradd hadoop su - hadoop mkdir sourcecode software app log lib data tmp shell echo "192.168.63.130 hadoop" >> /etc/hosts2.jdk部署 jdk部署之前参考此网站hadoop对应支持的jdk版本: https://cwiki.apache.org/confluence/display/HADOOP2原创 2020-12-02 23:29:18 · 784 阅读 · 0 评论