4

海量数据处理之Hadoop配置使用

 2 years ago
source link: https://yaoguais.github.io/article/hadoop/start.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

海量数据处理之Hadoop配置使用

现在很多大公司都有海量的数据,而有些数据是不需要改变的,所有诞生了HDFS这种"一次写入多次读取"的文件系统. 加上对这些海量数据的分析,MapReduce也就产生了. 今天我们要做的就是配置一个简单的Hadoop集群,并完成小小的计算.

  1. 海量数据知识体系
  2. 配置Hadoop

海量数据知识体系

今天主要做的事情是部署实践Hadoop,但是我们也要知道为什么要做这件事,它解决的是怎样的应用场景,什么样的应用场景它是直接解决不了的.

在回答前面的问题之前,我们先梳理一下当前关于海量数据火热的名词.

Hadoop官方介绍说,它是一个可靠的,可扩展的,分布式计算开源程序.

它主要包括4个组件:

  • Hadoop Common: 用作支持其他模块的公共工具.
  • Hadoop Distributed File System (HDFS): 高吞吐量的分布式文件系统.
  • Hadoop YARN: 任务安排及资源管理的框架.
  • Hadoop MapReduce: 基于YARN的并行数据处理系统.

跟hadoop相关的系统大概有以下这些:

Ambari: 管理Hadoop生态圈的系统,包括安装部署等,详细介绍.

Avro: 数据序列化与反序列化的工具,这里有说明为什么要为hadoop重新开发这样的序列化工具.

Cassandra: 支持BigTable(巨大的数据表)的数据库,特点是去中心化.简单介绍.

Chuwa: 数据采集系统,可以自动采集数据并存入hadoop中,系统介绍.

HBase: 支持BigTable的分布式数据库,简单介绍.

Hive: 基于Hadoop的数据仓库工具,用来查询和管理分布式存储系统上的大数据集,并提供类似与SQL的HiveQL的查询语句, 参见这里.

Mahout: 机器学习与数据挖掘的库,使用介绍.

Pig: 为Hadoop应用提供了一种更加接近SQL的接口,介绍.

Spark: 大数据处理框架,包括数据传输转化/机器学习/流式处理/图像处理等.参见.

Tez: 基于YARN的计算框架,可以将多个依赖的任务转换成一个任务,从而提高性能.参见.

ZooKeeper: 分布式应用的协调系统,参见.

然后我们对上面这些系统做个归类:

  • 文件系统: 大文件(HDFS, GFS, KFS), 小文件(TFS, Tencent FS, Haystack, BFS), 中小文件(FastDFS)
  • 数据库: 数据表型(Cassandra, HBase), 文档型(Mongodb, SequoiaDB)
  • 管理工具: Ambari, Cloudera
  • 协调工具: ZooKeeper, Consul
  • 序列化工具: Avro, Thrift
  • 任务分发: YARN
  • 处理采集: Chuwa
  • 数据处理: Hive, Pig, Spark, Tez

我们再了解下别人对海量数据的思考.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK