从零学习hadoop
文章平均质量分 91
小编学习过一段时间hadoop后却因种种原因没有从事hadoop的工作,现在准备重新学习,把知识‘捡起来’坚持每天学一点,更新一篇博文,学习好并找到大数据的工作。希望大家一起互相学习。
小爷欣欣
始于颜值,陷于才华,终于人品,合于性格...
展开
-
hadoop怎么分割写入的文件为多个块的,一个map对应一个split分片吗?split与block的关系
1,在介绍hadoop写文件的时候我们经常会说首先分割文件为多个块;那么是怎么分割的呢?这里其实不要有过的纠结,这里的块是block,是hdfs中切块的大小,属于物理划分,默认64M,在hadoop-default.xml配置中有体现:<property> <name>dfs.block.size</name> <value>6710...原创 2018-05-03 11:05:27 · 6106 阅读 · 2 评论 -
Hadoop切分纯文本时对某一行跨两个分片这种情况的处理
hdfs写入文件需要把大文件分割成多个块,那么有可能会把文件的某一个行分成在不同的块中;这是一个出现分块的时候。还有个就是我的上篇博文中说到的,在mapreduce处理时,当hdfs分块的block大小大于split设置的最大值时也会分割成多个split分片,相当于对块的进一步切割。但是这两种情况出现的概率都很小。下面转自:https://blog.csdn.net/appstore81/arti...转载 2018-05-03 11:14:14 · 1330 阅读 · 1 评论 -
hadoop namenode热备切换过程和secondarynamenode的作用
hadoop集群中一般有两个namenode,一个处于active激活状态,另一个处于StandBy状态,Active状态的NameNode负责集群中所有的客户端操作,这么设置的目的,其实HDFS底层的机制是有关系的,同一时刻一个文件,只允许一个写入方占用,如果出现多个,那么文件偏移量便会混乱,从而导致数据格式不可用,当然状态为Standby的NameNode这时候仅仅扮演一个Slave的角色,以...原创 2018-05-03 12:39:56 · 5648 阅读 · 0 评论 -
hadoop集群中zkfc的作用和工作过程
作用:(1)健康检测:zkfc会周期性的向它监控的namenode(只有namenode才有zkfc进程,并且每个namenode各一个)发生健康探测命令,从而鉴定某个namenode是否处于正常工作状态,如果机器宕机,心跳失败,那么zkfc就会标记它处于不健康的状态;(2)会话管理:如果namenode是健康的,zkfc机会保持在zookeeper中保持一个打开的会话,如果namenode是ac...原创 2018-05-03 14:08:26 · 8231 阅读 · 2 评论 -
hdfs的八大安全和可靠策略总结和设计基础与目标
hdfs 全称:Hadoop Distributed File System Hadoop分布式文件系统设计基础与目标:a: 硬件错误是常态。因此需要冗余 冗余对hadoop来说不是额外功能,而是本身就需要的一个功能,这个很好理解,就是因为各个节点容易断掉,为了数据的安全性和可维护性,故需要冗余。b:内存的不稳定,cpu过热,硬盘损坏等等,节点duan掉。 c:流式数据访问。即数据批量读取而非随机...原创 2018-05-03 15:50:03 · 1388 阅读 · 0 评论 -
hadoop namenode的功能
namenode节点非常的重要,它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata) a:管理文件系统的命名空间(最重要的工作)文件的名字,大小,元数据,文件在节点的情况 b:记录每个文件数据块在各个Datanode的位置和副本信息 当有节点要访问某个文件的时候,它会先访问namenode,获取文件的位置信息,...原创 2018-05-03 15:57:21 · 5552 阅读 · 0 评论 -
hadoop集群老的资源管理Mrv1与Yarn资源管理器的工作流程和对比
MRv1缺点1、JobTracker容易存在单点故障2、JobTracker负担重,既要负责资源管理,又要进行作业调度;当需处理太多任务时,会造成过多的资源消耗。3、当mapreduce job非常多的时候,会造成很大的内存开销,在 TaskTracker端,以mapreduce task的数目作为资源的表示过于简单,没有考虑到cpu以及内存的占用情况,如果两个大内存消耗的task被...原创 2018-05-04 10:06:24 · 769 阅读 · 0 评论 -
Hadoop mapreduce过程key 和value分别存什么值
转自:https://www.cnblogs.com/gaopeng527/p/5436820.html这里以wordCount为例,直接看图就懂了:(1)inputFormat将hdfs上要处理的文件一行一行的读入,将文件拆分成splits,由于测试用的文件较小,所以每个文件为一个split,并将文件按行分割形成<key,value>对,如图4-1所示。这一步由MapReduce框架...转载 2018-05-04 10:29:00 · 12530 阅读 · 5 评论 -
hdfs常用操作命令
先说一下"hadoop fs 和hadoop dfs的区别",看两本Hadoop书上各有用到,但效果一样,求证与网络发现下面一解释比较中肯。 粗略的讲,fs是个比较抽象的层面,在分布式环境中,fs就是dfs,但在本地环境中,fs是local file system,这个时候dfs就不能用。5.1 文件操作 1)列出HDFS文件 此处为你展示如何通过"-ls"命令列出HDFS下的文件:ha...原创 2018-05-04 10:42:56 · 12045 阅读 · 0 评论 -
Hadoop-Shuffle洗牌过程,与combine和partition的关系
Shuffle的正常意思是洗牌或弄乱,是MapReduce的核心。下图展示了Shuffle包含的步骤:phase:阶段partitions:分开,隔离marge/combine:合并上图包含了整个mapreduce过程,更准确的说shuffle包含partitions和sort、combine(merge)过程,对应map到reduce之间的过程,不包括map和redu...原创 2018-05-04 16:49:21 · 3318 阅读 · 0 评论 -
hadoop集群 secondary namenode 的作用,fsiamge和edit的关系
首先secondary namenode不是namenode的备份,而是辅助namenode管理的,分担namenode的压力。此外,fsimage镜像文件读取数据到内存速度远快于读取edit日志文件,因此不能让edit的日志过大,所以定期把edit的内容合并到镜像磁盘中,这个合并过程就要用到secondary namenode。 fsimage:filesystem image 的...原创 2018-05-05 13:04:36 · 484 阅读 · 0 评论 -
hdfs读写文件过程
文件参考:https://www.cnblogs.com/tgzhu/p/5788634.html以写入100M文件为例:Client将FileA按64M分块。分成两块,block1和Block2; Client向nameNode发送写数据请求,如图蓝色虚线①------> NameNode节点,记录block信息。并返回可用的DataNode (NameNode按什么规则返...转载 2018-05-05 17:12:25 · 1216 阅读 · 0 评论 -
hadoop集群启动步骤
(1)启动三个机器的日志节点:xiaoye@ubuntu:~$ hadoop/sbin/hadoop-daemons.sh start jorunalnode(2)单独启动ubuntu的namenode,注意命令的daemon不带s哦。xiaoye@ubuntu:~$ hadoop/sbin/hadoop-daemon.sh start namenode (3)ubuntu2节点执行命令:xiao...原创 2018-05-05 18:28:28 · 4979 阅读 · 0 评论 -
第十二章 结合flume+mapreduce+hive+sqoop+mysql的综合实战练习
简介:项目大致过程是:flume监控日志文件,定时把文件清洗后上传到hdfs上,上传清晰后的数据是格式化的,可被hive识别,然后hive创建表,写脚本,执行hql语句,把执行结果写到hdfs上,最后为了方便查看,把放在hdfs上的结果通过sqoop放在mysql中。 第一部分:项目分析 我们要做的小项目是关于黑马训练营的日志分析项目,用到的日志文件大家可以到:...原创 2018-05-06 11:36:55 · 2190 阅读 · 0 评论 -
第十一章 :日志采集工具flume使用
先我们来看一张图,如下所示,最上方代表三台设备,当然可以是更多的设备,每台设备运行过程都会产生一些log,这些log是我们需要的信息,我们不可能手动的一台一台的去收集这些log,那样的话太浪费人力了,这就需要一个自动化的采集工具,而我们今天要说的Flume便是自动化采集工具中的代表,flume可以自动从设备收集log然后将这些log上传到HDFS,HDFS会对这些log进行过滤,过滤后为了方便业务...原创 2018-04-07 20:40:51 · 1763 阅读 · 0 评论 -
第十章 :hbase集群搭建,测试
一,在ubuntu主机上安装hbase,在上一章中我们已经在ubuntu3主机上安装了hbase,这里为了省事,直接远程复制到ubuntu主机上。xiaoye@ubuntu3:~$ lsapache-activemq-5.15.3 hbase Publicclasses hive ...原创 2018-04-07 01:43:31 · 527 阅读 · 0 评论 -
第九章 hbase原理和搭建部署
接下来我们一块儿看一下HBase的几个概念,首先来看第一个概念:Row Key,如下图所示,Row Key顾名思义,就是把一行当做主键,由于HBase建立了索引,所以我们根据行号可以迅速定位的那一行,我们还可以通过Row Key的range来定位数据,也就是查询的时候一次查多行的数据,指定一个范围,同样可以根据索引快速为我们查询出我们想要的结果。当然,也可以通过全表扫描的方式来查询...原创 2018-04-06 21:05:48 · 635 阅读 · 0 评论 -
第八章:sqoop数据迁移工具
sqoop是专门用来迁移数据的,它可以把数据库中的数据迁移到HDFS文件系统,当然也可以从HDFS文件系统导回到数据库。 我来说一下Sqoop的使用场景,假如你们公司有个项目运行好长时间了,积累了大量的数据,现在想升级项目并换种数据库进行存储原来的数据,那么我们就需要先把数据都存放到另一个地方,然后再用新数据库的语句把这些数据插入到新的数据库。在没有Sqoop之前,我们要做到这一点是...原创 2018-04-06 16:29:22 · 3385 阅读 · 0 评论 -
第七章 :Hadoop+Zookeeper 3节点高可用集群搭建和原理解释
一,原理先说一下Zookeeper在Hadoop集群的作用,以前我们学习Hadoop伪分布式的时候没有用到Zookeeper是因为伪分布式只有一个NameNode,没有Active和Standby状态的两个NameNode之说,因此根本就不需要Zookeepr来帮我们自动切换。但是Hadoop真正的集群就不一样了,为了集群的高可靠性,Hadoop集群采用主备NameNode方式来工作,一个处于Ac...原创 2018-04-02 14:37:44 · 3719 阅读 · 0 评论 -
第六章 zookeeper 原理,安装步骤,数据同步演示
Zookeeper是主从模式的。一,zookeeper原理:Zookeeper是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameN...原创 2018-03-28 19:28:06 · 568 阅读 · 0 评论 -
第五章 更换cdh版本,hive的安装使用,原理讲解
学过简单的wordcount后就开始使用hive吧这里先介绍下,怎么设置hadoop的环境变量提示:始终记得我们是ubuntu操作系统。这里由于小编的这里在安装hive时,由于出现了启动hive时出现了和hadoop的版本不一致的原因,并且始终没有解决,所以就改变策略使用cdh版本的hadoop和hive.因为cdh版本的比较系统,兼容性好。因此要重新安装了。下载地址如下:http://archi...原创 2018-03-11 19:59:18 · 2776 阅读 · 0 评论 -
第四章:hadoop 启动wordcount实例,包括hadoop自带jar包和eclipsejar包。hdfs常用命令
1,首先介绍启动hadoop自带的wordcount的jar包实例1.1启动hadoophadoop安装目录下:./sbin/start-all.sh查看进程:jps1.2 ,进入到home目录下,创建一个文本,随便写点东西1.3 进入到hadoop安装目录下,模糊查找hadoop 案例jar包我们用hadoop-mapreduce-examples-3.0.0.jar1.4 ./bin/hado...原创 2018-03-07 13:30:27 · 4730 阅读 · 0 评论 -
第三章:hadoop安装配置,jps命令不能使用。apt-get命令不能下载jdk,缺少依赖包,设置静态ip后不能上网,ubuntu防火墙,ssh无密码登录
首先安装jdk使用apt-get命令安装jdk,因为缺少依赖所以先下载依赖包,执行命令:sudo apt-get -f install安装提示执行所需的操作,接着执行命令:sudo apt-get updatesudo apt-get install default-jresudo apt-get install default-jdk再执行java -version...原创 2018-03-05 12:53:42 · 1734 阅读 · 0 评论 -
第二章,ubuntu系统的查看防火墙,切换root用户,设置固定ip、系统时间等
第一次接触ubuntu系统,之前用的都是centos系统,因此也需要知道ubuntu的基本操作,跟centos的差别还是很大的。1,查看ip:ifconfig2,查看防火墙状态:sudo ufw status3,开启防火墙:sudo ufw enable4,关闭防火墙:sudo ufw disable5,安装好ubuntu后,我们一般要使用远程连接工具操作,这里使用的远程工具是原创 2017-12-26 15:29:25 · 2786 阅读 · 0 评论 -
第一章,安装Vmware和Ubuntu
因为hadoop运行的平台是在linux上,而我们平时使用的电脑是windows系统的,所以要先按个虚拟机,最好的虚拟机软件自然是Vmware,下载他直接百度即可,如下:点击普通下载就行。安装都是下一步,最好安装在非C盘(非系统盘)。安装好启动需要秘钥,小编用的是Vmware14版本,百度网上的秘钥可用的有:FF31K-AHZD1-H8ETZ-8WWEZ-WUUVACV原创 2017-12-24 19:29:47 · 403 阅读 · 0 评论