Hadoop是一种开源的分布式计算框架,主要用于存储和处理大规模数据集。
Hadoop最初是由Apache软件基金会开发的,其名称来源于Doug Cutting、Mike Cafarella、Adam Shook和Jun Rao等人的姓氏。
Hadoop的核心组件包括分布式文件系统HDFS和分布式计算框架MapReduce。HDFS是一种分布式文件系统,可以将数据分布式地存储在不同的计算节点上,从而实现数据的高可靠性和高可扩展性。
MapReduce是一种分布式计算框架,可以将大规模数据集划分成小块,然后并行地进行处理,最终将结果汇总返回给用户。
除了HDFS和MapReduce,Hadoop还包括许多其他的组件和工具,例如YARN资源管理器、HBase分布式数据库、Hive数据仓库等。这些组件和工具可以与Hadoop一起使用,提供更多的数据处理和分析功能。
Hadoop的应用场景非常广泛,例如在大数据存储、数据挖掘、机器学习、日志分析、实时数据处理等领域都有着广泛的应用。同时,Hadoop也是一个开源的技术,可以自由地使用、修改和分发。
Hadoop 是一个能够对大量数据进行分布式处理的软件框架,用户可以轻松在 Hadoop 上开发和运行处理海量数据的应用程序,充分利用集群的威力进行高速运算和存储。
怎么使用 Hadoop:
Hadoop 集群的搭建
简单点说就是把 Hadoop 的安装包放在每一台服务器上,改改配置再启动,就完成了 Hadoop 集群的搭建。
上传文件到 Hadoop 集群
Hadoop 集群搭建好以后,可以通过 web 页面查看集群的情况,还可以通过 Hadoop 命令上传文件到 hdfs 集群,通过 Hadoop 命令在 hdfs 集群上建立目录,通过 Hadoop 命令删除集群上的文件等等。
编写 map/reduce 程序
通过集成开发工具(例如 eclipse)导入 Hadoop 相关的 jar 包,编写 map/reduce 程序,将程序打成 jar 包扔在集群上执行,运行后出计算结果。
hadoop 生态圈中各个组件的作用描述:
① hdfs:一个文件系统,可以存储海量数据。
② mapreduce:从海量数据中,通过一定的算法,计算出有用信息。
③ hive:就是sql语句解释器,接收用户输入的sql语句,然后将该sql语句翻译成复杂的mapreduce程序,并发布到mr集群中进行运算,计算出有用的信息。
④ hbase:是基于hdfs文件系统的数据库。
⑤ flume:就是将数据从一个文件中抽取到另一个文件中。
⑥ sqoop:将hdfs文件系统的文件,导出到linux文件系统的文件中。
⑦ ooize/azkaban:该组件是负责协调各个任务的执行顺序。