Hadoop架构原理简介

一、概念

Hadoop诞生于2006年,是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。

Hadoop与Google一样,都是小孩命名的,是一个虚构的名字,没有特别的含义。从计算机专业的角度看,Hadoop是一个分布式系统基础架构,由Apache基金会开发。Hadoop的主要目标是对分布式环境下的“大数据”以一种可靠、高效、可伸缩的方式处理。

Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。

Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

二、组成

1.Hadoop的核心组件

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

分析:Hadoop的核心组件分为:HDFS(分布式文件系统)、MapRuduce(分布式运算编程框架)、YARN(运算资源调度系统)

2.HDFS的文件系统

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

HDFS

1.定义

整个Hadoop的体系结构主要是通过HDFS(Hadoop分布式文件系统)来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持。

HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

2.组成

HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。NameNode作为主服务器,管理文件系统命名空间和客户端对文件的访问操作。DataNode管理存储的数据。HDFS支持文件形式的数据。

从内部来看,文件被分成若干个数据块,这若干个数据块存放在一组DataNode上。NameNode执行文件系统的命名空间,如打开、关闭、重命名文件或目录等,也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写,并在NameNode的统一调度下进行数据库的创建、删除和复制工作。NameNode是所有HDFS元数据的管理者,用户数据永远不会经过NameNode。

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

分析:NameNode是管理者,DataNode是文件存储者、Client是需要获取分布式文件系统的应用程序。

MapReduce

1.定义

Hadoop MapReduce是google MapReduce 克隆版。

MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。

2.组成

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

分析:

(1)JobTracker

JobTracker叫作业跟踪器,运行到主节点(Namenode)上的一个很重要的进程,是MapReduce体系的调度器。用于处理作业(用户提交的代码)的后台程序,决定有哪些文件参与作业的处理,然后把作业切割成为一个个的小task,并把它们分配到所需要的数据所在的子节点。

Hadoop的原则就是就近运行,数据和程序要在同一个物理节点里,数据在哪里,程序就跑去哪里运行。这个工作是JobTracker做的,监控task,还会重启失败的task(于不同的节点),每个集群只有唯一一个JobTracker,类似单点的NameNode,位于Master节点

(2)TaskTracker

TaskTracker叫任务跟踪器,MapReduce体系的最后一个后台进程,位于每个slave节点上,与datanode结合(代码与数据一起的原则),管理各自节点上的task(由jobtracker分配),

每个节点只有一个tasktracker,但一个tasktracker可以启动多个JVM,运行Map Task和Reduce Task;并与JobTracker交互,汇报任务状态,

Map Task:解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。

Reducer Task:从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行。

Hive

1.定义

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。

Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

2.组成

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

分析:Hive架构包括:CLI(Command Line Interface)、JDBC/ODBC、Thrift Server、WEB GUI、Metastore和Driver(Complier、Optimizer和Executor),这些组件分为两大类:服务端组件和客户端组件

3.客户端与服务端组件

(1)客户端组件:

CLI:Command Line Interface,命令行接口。

Thrift客户端:上面的架构图里没有写上Thrift客户端,但是Hive架构的许多客户端接口是建立在Thrift客户端之上,包括JDBC和ODBC接口。

WEBGUI:Hive客户端提供了一种通过网页的方式访问Hive所提供的服务。这个接口对应Hive的HWI组件(Hive Web Interface),使用前要启动HWI服务。

(2)服务端组件:

Driver组件:该组件包括Complier、Optimizer和Executor,它的作用是将HiveQL(类SQL)语句进行解析、编译优化,生成执行计划,然后调用底层的MapReduce计算框架

Metastore组件:元数据服务组件,这个组件存储Hive的元数据,Hive的元数据存储在关系数据库里,Hive支持的关系数据库有Derby和Mysql。元数据对于Hive十分重要,因此Hive支持把Metastore服务独立出来,安装到远程的服务器集群里,从而解耦Hive服务和Metastore服务,保证Hive运行的健壮性;

Thrift服务:Thrift是Facebook开发的一个软件框架,它用来进行可扩展且跨语言的服务的开发,Hive集成了该服务,能让不同的编程语言调用Hive的接口。

4.Hive与传统数据库的异同

(1)查询语言

由于 SQL 被广泛的应用在数据仓库中,因此专门针对Hive的特性设计了类SQL的查询语言HQL。熟悉SQL开发的开发者可以很方便的使用Hive进行开发。

(2)数据存储位置

Hive是建立在Hadoop之上的,所有Hive的数据都是存储在HDFS中的。而数据库则可以将数据保存在块设备或者本地文件系统中。

(3)数据格式

Hive中没有定义专门的数据格式,数据格式可以由用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格、”\t”、”\\x001″)、行分隔符(”\n”)以及读取文件数据的方法(Hive中默认有三个文件格式TextFile,SequenceFile以及RCFile)。

(4)数据更新

由于Hive是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。因此,Hive中不支持

对数据的改写和添加,所有的数据都是在加载的时候中确定好的。而数据库中的数据通常是需要经常进行修改的,因此可以使用INSERT INTO … VALUES添加数据,使用UPDATE … SET修改数据。

(5)索引

Hive在加载数据的过程中不会对数据进行任何处理,甚至不会对数据进行扫描,因此也没有对数据中的某些Key建立索引。Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。由于MapReduce的引入, Hive可以并行访问数据,因此即使没有索引,对于大数据量的访问,Hive仍然可以体现出优势。数据库中,通常会针对一个或者几个列建立索引,因此对于少量的特定条件的数据的访问,数据库可以有很高的效率,较低的延迟。由于数据的访问延迟较高,决定了Hive不适合在线数据查询。

(6)执行

Hive中大多数查询的执行是通过Hadoop提供的MapReduce来实现的(类似select * from tbl的查询不需要MapReduce)。而数据库通常有自己的执行引擎。

(7)执行延迟

Hive在查询数据的时候,由于没有索引,需要扫描整个表,因此延迟较高。另外一个导致Hive执行延迟高的因素是MapReduce框架。由于MapReduce本身具有较高的延迟,因此在利用MapReduce执行Hive查询时,也会有较高的延迟。相对的,数据库的执行延迟较低。当然,这个低是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算显然能体现出优势。

(8)可扩展性

由于Hive是建立在Hadoop之上的,因此Hive的可扩展性是和Hadoop的可扩展性是一致的(世界上最大的Hadoop集群在Yahoo!,2009年的规模在4000台节点左右)。而数据库由于ACID语义的严格限制,扩展行非常有限。目前最先进的并行数据库Oracle在理论上的扩展能力也只有100台左右。

(9)数据规模

由于Hive建立在集群上并可以利用MapReduce进行并行计算,因此可以支持很大规模的数据;对应的,数据库可以支持的数据规模较小。

Hbase

1.定义

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;

Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;

Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为协同服务。

2.组成

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

分析:从上图可以看出:Hbase主要由Client、Zookeeper、HMaster和HRegionServer组成,由Hstore作存储系统。

  • Client

HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与 HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC

  • Zookeeper

Zookeeper Quorum 中除了存储了 -ROOT- 表的地址和 HMaster 的地址,HRegionServer 也会把自己以 Ephemeral 方式注册到 Zookeeper 中,使得 HMaster 可以随时感知到各个HRegionServer 的健康状态。

  • HMaster

HMaster 没有单点问题,HBase 中可以启动多个 HMaster ,通过 Zookeeper 的 Master Election 机制保证总有一个 Master 运行,HMaster 在功能上主要负责 Table和Region的管理工作:

  • 管理用户对 Table 的增、删、改、查操作
  • 管理 HRegionServer 的负载均衡,调整 Region 分布
  • 在 Region Split 后,负责新 Region 的分配
  • 在 HRegionServer 停机后,负责失效 HRegionServer 上的 Regions 迁移

HStore存储是HBase存储的核心了,其中由两部分组成,一部分是MemStore,一部分是StoreFiles。

MemStore是Sorted Memory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile), 当StoreFile文件数量增长到一定阈值,会触发Compact合并操作,将多个 StoreFiles 合并成一个 StoreFile,合并过程中会进行版本合并和数据删除。

因此可以看出HBase其实只有增加数据,所有的更新和删除操作都是在后续的 compact 过程中进行的,这使得用户的写操作只要进入内存中就可以立即返回,保证了 HBase I/O 的高性能。

当StoreFiles Compact后,会逐步形成越来越大的StoreFile,当单个 StoreFile 大小超过一定阈值后,会触发Split操作,同时把当前 Region Split成2个Region,父 Region会下线,新Split出的2个孩子Region会被HMaster分配到相应的HRegionServer 上,使得原先1个Region的压力得以分流到2个Region上。

三、Hadoop的应用实例

1.回顾Hadoop的整体架构

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

2.Hadoop的应用——流量查询系统

(1)流量查询系统总体框架

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

(2)流量查询系统总体流程

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

(3)流量查询系统数据预处理功能框架

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

(4)流量查询系统数据预处理流程

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

(5)流量查询NoSQL数据库功能框架

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

(6)流量查询服务功能框架

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

 

(7)实时流计算数据处理流程图

10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解

刘元涛
关注 关注
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
hadoop架构原理
01-22
讲述大数据工具-Hadoop运行架构原理,全局掌握Hadoop
hadoop基本原理架构讲解(HDFS部分)
mocas_wang的博客
08-15 2408
目录 1 简介 2HDFS 2.1架构原理 2.2HDFS的概念 namenode Seconday NameNode(辅助NameNode) datanode(工作节点) 数据块 2.3工作原理 写操作: 读操作: HDFS数据备份 2.3 HDFS中常用到的命令 1 简介 Hadoop 是Apache基金会下一个开源的分布式计算平台,它以分布式文件系统HDFS和MapReduce算法为核心,为用户提供了系统底层细节透明的分布式基础架构。用户可以在不了解分布式底层细...
一篇讲明白 Hadoop 生态的三大部件
最新发布
2401_84183628的博客
04-12 587
随着大数据时代的来临,处理和分析海量数据成为了一项重要的挑战。为了应对这一挑战,Hadoop生态系统应运而生。Hadoop生态系统是一个开源的、可扩展的解决方案,它由三大核心部件组成,分别是Hadoop分布式文件系统(HDFS)、Hadoop分布式计算框架(MapReduce)和Hadoop分布式存储和计算平台(YARN)。这三个部件共同协作,提供了一个高效和可靠的大数据处理平台。本文将对Hadoop生态系统的这三大部件进行详细解析,以帮助读者更好地理解Hadoop生态系统的工作原理和优势。
hadoop三个核心框架底层原理--小林月
qq_53953480的博客
03-27 404
HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。5.1.1) Resource Manager (RM) :整个集群资源(内存、CPu等)的老大A)处理来自客户端的请求B)监控NodeManager。
Hadoop(一) 原理简介、基本构建
Jelly
08-26 4214
了解Hadoop的基本架构和工作原理,在linux上实现三种运行模式
Hadoop安装和使用详解
Sharkkkie的博客
05-16 3605
本文希望通过部署Hadoop为主线,对Hadoop的框架组成、各部分协同工作的原理、技术细节形成一个初步的认知和了解。
分布式计算框架Hadoop原理架构全解
02-25
本文来自于csdn,这篇文章讲解了分布式计算框架的核心内容、架构图详解,运用流程等Hadoop是Apache软件基金会所...HDFS架构原理HDFS采用master/slave架构。一个HDFS集群包含一个单独的NameNode和多个DataNode。NameN
Hadoop MapReduce原理
07-14
本文分别对传统MapReduce和YARN的体系结构、工作流程及故障处理等三个方面进行讲解,让你深入理解MapReduce的工作原理
Hadoop MapReduce架构
01-07
Hadoop MapReduce 是 Hadoop 平台根据 MapReduce 原理实现的计算框架,目前已经实现了两个版本,MapReduce 1.0 和基于 YARN 结构的 MapReduce 2.0。 尽管 MapReduce 1.0 中存在一些问题,但是整体架构比较清晰,更...
Hadoop 原理架构
lllong33的博客
03-12 1229
04 | 移动计算比移动数据更划算 那么如何解决 PB 级数据进行计算的问题呢? 这个问题的解决思路其实跟大型网站的分布式架构思路是一样的,采用分布式集群的解决方案,用数千台甚至上万台计算机构建一个大数据计算处理集群,利用更多的网络带宽、内存空间、磁盘容量、CPU 核心数去进行计算处理。 既然数据是庞大的,而程序要比数据小得多,将数据输入给程序是不划算的,那么就反其道而行之,将程序分发到数据所在的...
ureport2图表使用,当无数据时自定义显示
limmt2020的博客
04-08 1839
ureport2图表使用,当无数据时自定义显示 1、目的:如下图,当无数据时显示“暂无数据”,总资源数为0 2、方法 1、选择要类型框下显示数据的框 2、点击配置条件 3、左侧自定义名称,中间写条件,右边选择要改变的属性 设置值等于 4、同理,总资源数改成0,保存即可 ...
Hadoop架构设计、运行原理详解
何哲江的专栏
04-28 3811
1、Map-Reduce的逻辑过程 假设我们需要处理一批有关天气的数据,其格式如下: 按照ASCII码存储,每行一条记录每一行字符从0开始计数,第15个到第18个字符为年第25个到第29个字符为温度,其中第25位是符号+/- 0067011990999991950051507+0000+ 0043011990999991950051512+0022+ 00430119
ureport2报表详细使用(二)-报表基础配置
龙傲天的博客
06-04 9038
五、报表基础配置 5.1 工具栏 1)顶栏:针对报表:报表预览、保存报表、打开报表、导入excel、报表配置、查询表单设计器; 针对单元格:重做(下一步)、撤销(上一步)、合并/拆分单元格、上下对齐、表格有无边框、斜线表头; 针对数据:字体样式、字体大小、是否加粗、斜体、下划线、背景色、字体颜色、图片、二维码、图表 图片: 选择左侧单元格,在右侧对应属性区域,输入图片路径,默认支持以classpath:开头位于classpath下的图片文件,或以/开头位于WEB应用根目录下或某目录下的图片文件;
【Python】详解 Pandas 中的 read_csv()
Fanjufei的博客
05-26 4227
函数返回一个 DataFrame,其中包含了从 CSV 文件中读取到的数据。如果只需要读取文件中的一部分数据,可以使用参数。是 Pandas 中用于从 CSV 文件中读取数据的函数。,它表示要读取的 CSV 文件的路径或打开的文件对象。读取大型 CSV 文件时,可以使用参数。如果文件中有多个表格,则可以使用参数。其中,最常用的参数是。
看懂Hadoop集群原理与实现方式
ggy101600的专栏
12-09 2031
想要了解更多,加QQ群72132378  这篇文章将会逐步介绍 Hadoop 集群的实现原理以及Hadoop集群的拓扑结构。并让大家通过拓扑图的形式直观的了解 Hadoop 集群是如何搭建、运行以及各个节点之间如何相互调用、每个节点是如何工作以及各个节点的作用是什么。明白这一点将会对学习 Hadoop 有很大的帮助。首先,我们开始了解 Hadoop 的基础知识,以及 Hadoop
用大白话告诉你小白都能看懂的Hadoop架构原理
程序员之家
11-18 927
微信又改版了,为了方便第一时间看到我们的推送,请按照下列操作,设置“置顶”:点击上方蓝色字体“程序员之家”-点击右上角“…”-点击“设为星标”。可以啦,让我们继续相互陪伴...
Spring boot 集成 ureport (三) 报表存储至数据库
热门推荐
无需有太多~
05-12 1万+
声明:代码为核心代码,为了简洁!完整代码请移步我的github -->【带我传送到github】UReport2默认提供的名为“服务器文件系统”的报表存储机制,实际上是实现了UReport2提供的com.bstek.ureport.provider.report.ReportProvider接口;如果我们定义了自己的报表存储器,只需要实现了ReportProvider接口后,并将实现类配置到...
UReport2介绍
我们不生产任何代码 只做代码的搬运工
10-24 7001
UReport2介绍 ​ UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 ​ 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE浏览器除外)。使用UReport2,打开浏览器即可完成各种复杂报表的设计制作。 ​ UR...
java+hadoop 架构
12-27
Java Hadoop 架构图展现了Hadoop在Java环境中的工作方式和组件结构。...通过深入了解Java Hadoop 架构图,我们可以更好地理解Hadoop的工作原理和应用场景,为大规模数据处理提供了可靠而强大的技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 开源公司黄页 关于/ 阿里巴巴的50款开源软件[大部分为Java语言] 139142
  • Open edX数据结构Mysql edxapp 61265
  • 修改mysql数据库的用户名和密码 38957
  • WebMagic-使用入门 30424
  • CSS3:background-size背景图片尺寸属性 26056

分类专栏

  • Java 48篇
  • Python 14篇
  • J2SE 16篇
  • J2EE 43篇
  • Spring 12篇
  • ORM 5篇
  • Django 14篇
  • Android 62篇
  • Web前端 34篇
  • HTML5 10篇
  • Javascript 82篇
  • CSS 7篇
  • 版本控制 17篇
  • Unity3D 6篇
  • 软件工程 2篇
  • 算法 3篇
  • Linux基础 8篇
  • 架构设计 13篇
  • 服务器运维 12篇
  • 数据库技术 13篇
  • 大数据与数据挖掘
  • Elasticsearch 5篇
  • 分布式架构 1篇
  • Open edX 27篇
  • 爬虫与搜索引擎 10篇
  • 开发工具 6篇
  • 考试与面试 7篇
  • 心路历程 5篇

最新评论

  • CentOS7安装和使用DNF

    wyx6666: centos7安装dnf后使用dnf命令显示段错误(吐核)怎么办

  • 阿里云存储图片x-oss-process常用方法处理

    lyweb32: 能保证设置宽高之后图片不变形吗

  • Python模板库Mako的语法

    杰少爷非少爷: 感谢博主,请教一个问题,我使用mako 生成的文件,每一行代码后面都会多一行空白行,是哪些参数没配置对吗?

  • error: RPC failed; result=22, HTTP code = 413 MiB错误解决

    南星叨叨: 就您这个管用!

大家在看

  • 目标检测——大白菜病害数据集 234
  • 揭秘《庆余年算法番外篇》续集:范闲通过最大似然法推理找到火烧史家镇的凶手 1849
  • 功效系数法 810
  • 【c语言】指针就该这么学(3) 663
  • Feign是如何发送http请求的 324

最新文章

  • js如何实现一个通用的“划词高亮”在线笔记功能
  • linux安装neo4j5
  • linux yum安装mysq8
2023年1篇
2022年7篇
2021年63篇
2020年22篇
2019年51篇
2018年69篇
2017年180篇
2016年574篇
2015年74篇
2014年65篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘元涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网韩四当官山东工程网站建设大彻大悟的拼音4月5日重庆网站优化推广cz325航班网站和推广优化精灵宝可梦游戏内购破解版众筹网站制作的三字网名女生唯美简单大牙掉了不种会怎么样查单词高起专什么时间报名龙凤胎宝宝起名大全大全河南商丘几个火车站五年级数学下册王姓起名字大全集春季适合喝什么养生饮品解梦牙垢教育营销策划推广百度 网站搜索优化黑豹延时喷剂莆田外贸网站建设姓肖男孩起什么名字好听沫字取名起名女孩名字japanhdhd山东综艺seo研究协会夏氏起名男孩名字大全qq徽章淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化