1.hadoop有三个主要的核心组件:HDFS(分布式文件存储)、MAPREDUCE(分布式的计算)、YARN(资源调度),现在云计算包括大数据和虚拟化进行支撑。

  在HADOOP(hdfs、MAPREDUCE、yarn)大数据处理技术框架,擅长离线数据分析.

  Zookeeper 分布式协调服务基础组件,Hbase  分布式海量数据库,离线分析和在线业务处理。

  Hive sql 数据仓库工具,使用方便,功能丰富,基于MR延迟大,可以方便对数据的分析,并且数据的处理可以自定义方法进行操作,简单方便。  

  Sqoop数据导入导出工具,将数据从数据导入Hive,将Hive导入数据库等操作。

  Flume数据采集框架,可以从多种源读取数据。

  Azkaban对操作进行管理,比如定时脚本执行,有图形化界面,上传job简单,只需要将脚本打成bao,可直接上传。

2.hadoop的可以做离散日志分析,一般流程是:

  将web中的数据取过来【通过flume】,然后通过预处理【mapreduce,一般只是使用map就可以了】,就是将数据中没有用处的数据去除掉,将数据转换【比如说时间的格式,Agent的组合】,并将数据进行处理之后以固定格式输出,由Hive处理,Hive是作用是将数据转换出一个表,RTL就是写SQL的一个过程,将数据进行分析,然后将数据报表统计,这个时候使用的是pig数据分析【hive一般作为库,pig做分析,我没有使用pig,因为感觉还没有hive的HQL处理方便】,最后将含金量最大的数据放入到mysql中,然后将mysql中的数据变为可视图化的工具。

  推荐的使用:当我们浏览一各网页的时候,将数据的值值传递给后台保存到log中,后台将数据收集起来,hadoop中的fiume可以将数据拿到放入到HDFS中,原始的数据进行预处理,然后使用HIVE将数据变为表,进行数据的分析,将有价值的数据放入到mysql,作为推荐使用,这个一般是商城,数据的来源也是可以通过多种方式的,比如说隐形图片、js、日志等都可以作为采集数据的来源。

3.hadoop中的HDFS有两个重要的角色:NameNode、datanode,Yarn有两个主要的主角:ResourceManager和nodeManager.

4.分布式:使用多个节点协同完成一项或者多项业务功能的系统叫做分布式系统,分布式一般使用多个节点组成,包括主节点和从节点,进行分析

5.mapreduce:是使用较少的代码,完成对海量数据的处理,比如wordCount,统计单词的个数。

  实现思想:将单词一个一个的遍历,然后将单词加1处理,但是这是集群,那么就每个节点计算自己节点的数据,然后最后交给一个统计的程序完成就可以了,最后将单词和结果输出。

  代码实现:

  map阶段:

    从HDFS的数据文件中逐行读取数据

    将每一行数据切分出单词

    为每一个单词构造出键值对(单词,1)[这里的1不是java类型的]

    将键值对发送给reduce

public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{//map方法的生命周期:  框架每传一行数据就被调用一次//key :  偏移量//value: 这一行的内容
    @Overrideprotected void map(LongWritable key, Text value, Context context) throws Exception {//拿到一行数据转换为stringString line = value.toString();//将这一行切分出各个单词String[] words = line.split(" ");//遍历数组,输出<单词,1>for(String word:words){context.write(new Text(word), new IntWritable(1));}}
}

  reduce阶段:

    接收到map阶段的单词的key-value键值对。

    将相同的单词汇聚为一组。

    对每一组,遍历组中的所有的值,累加求和,并得到最后的结果

    将值保存到HDFS中。

    @Overrideprotected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {//定义一个计数器int count = 0;for(IntWritable value:values){count += value.get();}context.write(key, new IntWritable(count));}
}

map和reduce就实现完成了。

6.配置ssh免登陆

  #生成ssh免登陆密钥
  #进入到我的home目录
  cd ~/.ssh

  ssh-keygen -t rsa
  执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
  将公钥拷贝到要免密登陆的目标机器上
  ssh-copy-id hostname

7. 上传 hadoop fs -put 本地目录 /远程目录
  查看 hadoop fs -cat 本地目录 /远程目录
  大于128M的数据,会进行切片处理,我们可以将片写入一个文件之后,数据就会比比变为上传之前的文件。
  创建多级目录使用的是-p

转载于:https://www.cnblogs.com/kw28188151/p/8666957.html

hadoop组件及其作用相关推荐

  1. android四大组件的作用简书,Android四大组件是什么

    Android四大组件是:活动.服务.广播接收器.内容提供商.它们的英文名称是ACTIVITY.SERVICE.BroadcastReceiver.Content Provider.四个组件分别起到不 ...

  2. vue中组件的导出导入_5.2 vue中 keep-alive 组件的作用,详细解释keep-alive使用方法...

    问题:vue中 keep-alive 组件的作用 keep-alive:主要用于保留组件状态或避免重新渲染. 比如: 有一个列表页面和一个 详情页面,那么用户就会经常执行打开详情=>返回列表=& ...

  3. ssis组件_使用SSIS Hadoop组件连接到Apache Hive和Apache Pig

    ssis组件 In our previously published articles in this series, we talked about many SSIS Hadoop compone ...

  4. ssis导出数据性能_使用SSIS Hadoop组件导入和导出数据

    ssis导出数据性能 In the previously published article, we talked briefly about Hadoop, and we gave an overv ...

  5. hadoop组件---面向列的开源数据库(九)--python--python使用thrift连接hbase

    Python使用thrift操作HBase thrift支持多种语言进行连接使用,但是没找到linux中的cli操作命令行的形式.所以如果服务器有python环境的话,可以使用python进行连接,快 ...

  6. Android四大组件及其作用

    Andriod 的四大组件及其作用 Android 开发的四大组件分别是:活动(activity),用于表现功能:服务(service),后台运行服务,不提供界面呈现:广播接受者(Broadcast ...

  7. hadoop组件---spark理论----spark on k8s模式的三种方式全面了解

    我们在之前的文章中 已经了解了 spark支持的模式,其中一种就是 使用k8s进行管理. hadoop组件-spark----全面了解spark以及与hadoop的区别 是时候考虑让你的 Spark ...

  8. Hadoop组件搭建-Hadoop伪分布式

    该文章仅用于记录个人笔记,如果您觉得不专业或者有误导,打扰到您,请谅解. Hadoop组件搭建-前置要求 Hadoop组件搭建-jdk Hadoop组件搭建-Hadoop伪分布式 Hadoop组件搭建 ...

  9. Hadoop集群搭建之Hadoop组件安装

    兵马未动,粮草先行 --汉语成语 系列文章目录 Hadoop集群搭建之Linux系统安装 Hadoop集群搭建之Hadoop组件安装 文章目录 系列文章目录 前言 一.IP和主机名称配置 (一)Had ...

  10. vue中keepAlive组件的作用及使用方式

    在面试的时候,很多面试官再问vue的时候可能就会提一嘴,你知道keep-alive有什么作用吗? keep-alive是vue内置的一个组件,而这个组件的作用就是能够缓存不活动的组件,我们能够知道,一 ...

最新文章

  1. 力扣--扁平化嵌套列表迭代器
  2. git压测出现访问500
  3. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 85
  4. jmeter web服务器协议,【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter测试SOAP协议性能测试脚本开发(示例代码)...
  5. 浏览器从输入URL到页面渲染过程 ——页面渲染流程
  6. IDEA安装JRebel插件教程
  7. mybatis从0到1--学mybatis看这一篇就足够
  8. 手把手教你做一个Excel 2007数据透视表(有图有真相)
  9. Arcgis(三)——重分类
  10. 通达信最新 行情服务器,【图】我是如何打造普通行情比l2还快速的通达信行情服务器_股票公式,股票软件,股票论坛,炒股公式,股票_股票软件技术交流论坛_理想论坛 - 股票论坛...
  11. jq UI中的dialog属性设置
  12. 常用三种正态检验方法
  13. 电子信息业取得长足发展 效益与质量同步提升
  14. VMware虚拟机安装Linux教程(超详细)
  15. selenium对Alert弹框的多种处理
  16. 计算机硬盘数据清零,彻底清除Windows电脑磁盘数据
  17. ffmpeg 多个音频合并 截取 拆分
  18. 【C语言】打印图案总结
  19. 优惠券和让利哪种营销方式更好?
  20. 重磅发布!GitHub App 正式上架

热门文章

  1. 【工具使用】Modsim32软件使用详解
  2. 使用 python 在多个word文件中提取关键字
  3. web前端、个人简历模板、个人简历_优秀个人简历模板
  4. 计算机软件工程师报名条件,中级软件工程师证书报考条件有哪些要求?
  5. Python爬虫下载网易云音乐歌曲
  6. 【转载】斐讯K2P B1刷入金梅林固件,加koolproxy、S-S R等【V1.0尝鲜版】
  7. RayData学习总结
  8. SRS:软件需求规格说明书
  9. 全套思源黑体合集(含ttf/ttc版/行高修正版)
  10. 大数据技术原理与应用学习笔记(一)