Hadoop】【大数据基础】hadoop的三大组件及其作用是什么

2020-12-27 15:27发布

7条回答
天天
2楼 · 2020-12-27 15:42

Hadoop的三大核心组件分别是:

1、HDFS(Hadoop Distribute File System):hadoop的数据存储工具。

2、YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。

3、Hadoop MapReduce:分布式计算框架。

HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。通过YARN,不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度。

Hadoop的MapReduce是对google三大论文的MapReduce的开源实现,实际上是一种编程模型,是一个分布式的计算框架,用于处理海量数据的运算。


不吃鱼的猫
3楼 · 2020-12-27 16:30

HDFS、YARN、Hadoop MapReduce


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

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

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

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

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

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

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


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

  在HADOOPhdfsMAPREDUCEyarn)大数据处理技术框架,擅长离线数据分析.

   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{    //map方法的生命周期:  框架每传一行数据就被调用一次    //key :  偏移量    //value: 这一行的内容    @Override    protected void map(LongWritable key, Text value, Context context) throws Exception {        //拿到一行数据转换为string
        String 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中。

复制代码

    @Override    protected void reduce(Text key, Iterable 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的数据,会进行切片处理,我们可以将片写入一个文件之后,数据就会比比变为上传之前的文件。


flame
6楼 · 2020-12-28 11:12

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

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

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

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

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

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

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


大冬瓜
7楼 · 2020-12-29 17:12

(1)HDFS集群:负责海量数据的存储,集群中的角色主要有 NameNode / DataNode/SecondaryNameNode。

(2)YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

(3)MapReduce:它其实是一个应用程序开发包。


yunfeng
8楼 · 2021-01-04 08:51

1、HDFS(Hadoop Distribute File System):hadoop的数据存储工具。

2、YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。

3、Hadoop MapReduce:分布式计算框架。


相关问题推荐

  • 回答 1

    /data/hadoop-2.7.0/logsgedit hadoop-neworigin-datanode-s100.log查看clusterID发现datanode和namenode之间的ID不一致进入hdfs-site.xml 配置文件查看:[hdfs-site.xml]dfs.namenode.name.dir/home/neworigin/hadoop/hdfs/namedfs.data......

  • 回答 1

    Kafka是一个高吞吐量分布式消息系统。linkedin开源的kafka。 Kafka就跟这个名字一样,设计非常独特。首先,kafka的开发者们认为不需要在内存里缓存什么数据,操作系统的文件缓存已经足够完善和强大,只要你不搞随机写,顺序读写的性能是非常高效的。kafka的数...

  • 回答 3

    将 hadoop执行job命令写到shell脚本中。类似 hadoop jar  x.jar  ×××.MainClassName inputPath outputPath这种命令。hadoop客户机在本地,使用 Process执行shell脚本,java执行本地shell脚本的代码  1234Process process =null;String command1 ...

  • 回答 1

    1

  • 回答 1

    public static void test1(String user, String keytab, String dir) throws Exception {         Configuration conf = new Configuration();        // conf.set(fs.defaultFS, hdfs://hadoop01:8020);         c...

  • 回答 1

          Hello, world! ]]>  

  • 回答 2

    Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。       HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布...

  • 回答 2

    Hadoop的三大核心组件 分别是 :HDFS(Hadoop Distribute File System):hadoop的数据存储 工具。YARN(Yet Another Resource Negotiator,另一种 资源协调者):Hadoop 的资源管理 器。Hadoop MapReduce:分布式计算 框架...

  • 回答 8

    选择开始菜单中→程序→【managementsqlserver2008】→【sqlservermanagementstudio】命令,打开【sqlservermanagementstudio】窗口,并使用windows或sqlserver身份验证建立连接。在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点右键单击【数...

  • 回答 1

  • 回答 11

    Hadoop的三大核心组件分别是:1、HDFS(Hadoop Distribute File System):hadoop的数据存储工具。2、YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。3、Hadoop MapReduce:分布式计算框架。...

  • 回答 4

    hadoop有三个主要的核心组件:HDFS(分布式文件存储)、MAPREDUCE(分布式的计算)、YARN(资源调度)。

  • 回答 5

    Hadoop主要是分布式计算和存储的框架,所以Hadoop工作过程主要依赖于HDFS(Hadoop Distributed File System)分布式存储系统和Mapreduce分布式计算框架。

  • 回答 7

    1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖;2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理...

  • 回答 6

    1.Hbase即 HadoopDatabase 的简称,也就是基于Hadoop数据库,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如交易清单、日志明细、轨迹行为等。2. Hive是Hadoop的数据仓库,严格地讲并非数据库,主要是让开发人员能够通过SQL来计...

没有解决我的问题,去提问