当前位置: 首页 > news >正文 如何学做网站优化wordpress判断登录用户为vip news 2025/10/22 12:30:56 如何学做网站优化,wordpress判断登录用户为vip,销售管理系统排名,wordpress ssl配置目录 介绍下Flume Flume架构 Flume有哪些Source 说下Flume事务机制 介绍下Flume采集数据的原理#xff1f;底层实现#xff1f; Flume如何保证数据的可靠性 Flume传输数据时如何保证数据一致性#xff08;可靠性#xff09; Flume拦截器 如何监控消费型Flu…目录 介绍下Flume Flume架构 Flume有哪些Source 说下Flume事务机制 介绍下Flume采集数据的原理底层实现 Flume如何保证数据的可靠性 Flume传输数据时如何保证数据一致性可靠性 Flume拦截器 如何监控消费型Flume的消费情况 Kafka和Flume是如何对接的 为什么要使用Flume进行数据采集 介绍下Flume Apache Flume是一个分布式的、可靠的、高可用的系统专门设计用于收集、聚合并传输大量日志数据。Flume最初是由Cloudera开发 并于2009年贡献给Apache软件基金会成为Hadoop生态系统的一部分。它特别适用于大数据环境下的日志数据采集能够从多个来源高效地 收集数据并将其传输到集中式存储或处理系统中如Hadoop的HDFS、数据库、消息队列等。Flume的特点 1、分布式架构 Flume支持在分布式环境中部署能够从多个节点收集数据非常适合大规模的日志采集场景。 2、可靠性 Flume具有内置的容错机制能够处理数据传输中的故障并在失败情况下重试确保数据的完整性。 3、灵活性 Flume提供了高度的配置灵活性支持多种数据源sources、数据通道channels和数据接收端sinks可以根据具体需求定制数 据流。 4、可扩展性 Flume的架构设计使得添加新的数据源、通道和接收端相对简单便于系统根据需求进行扩展。 5、简单数据模型 Flume使用简单且可扩展的数据模型数据以事件events的形式传输事件包含一个头部header和一个主体body头部可以携 带元数据信息。 6、批处理与流处理 Flume支持批处理和流处理模式能够适应不同的数据处理需求。Flume的架构组件Flume的核心架构由三个主要组件构成 1、Source数据源 Source负责从数据产生点收集数据。数据源可以是本地文件系统、网络流、系统日志、JMS消息等。 2、Channel通道 Channel作为缓冲区存储从Source接收到的数据直到数据被Sink处理。通道可以是内存中的、文件系统的或者 JDBC数据库中的。 3、Sink接收端 Sink将数据从Channel中取出并发送到最终目的地如HDFS、HBase、Solr、数据库或其他Flume Agent。除了这三个主要组件Flume还支持Interceptors拦截器用于过滤和修改事件Selectors选择器用于在多Sink配置中决定数据 流向哪个Sink以及Processors处理器用于实现更复杂的事件处理逻辑。Flume广泛应用于日志管理和监控系统中特别是在大数据处理领域是构建实时数据管道和日志基础设施的重要工具。 Flume架构 Apache Flume 的架构围绕着几个关键组件设计这些组件协同工作来实现数据的收集、聚合和传输。Flume 的核心架构组件包括1、Agent Agent 是 Flume 的基本运行单元它是一个 Java 进程负责从数据源收集数据处理数据并将数据传送到目的地。每个 Agent 包含 一个或多个 Source、Channel 和 Sink 组件。 2、Source Source 是数据的入口点负责监听或主动从数据产生点拉取数据。数据源可以是多种类型如文件系统、网络流、消息队列、JMS、Avro、 Thrift 等。Source 接收到数据后将其转换为 Flume 事件并将事件推送到 Channel。 3、Channel Channel 是一个临时存储区域用于在 Source 和 Sink 之间缓冲数据。Channel 可以是内存中的也可以是基于磁盘的甚至可以是 事务性的以确保数据的持久性和可靠性。Channel 在数据传输过程中起到中介作用确保数据在从 Source 到 Sink 的移动过程中不会 丢失。 4、Sink Sink 是数据的出口点负责将数据从 Channel 中取出并发送到目的地如 HDFS、HBase、Solr、数据库或其他 Flume Agent。Sink 可以是多种类型以适应不同的数据存储或处理需求。 5、Interceptor Interceptor 是可选的组件用于在数据流经 Channel 之前对事件进行过滤或修改。它可以添加、删除或修改事件头或事件体以实现数 据的预处理。 6、Selector Selector 是用于在多 Sink 配置中决定数据流向哪个 Sink 的组件。这允许数据根据不同的条件被路由到不同的目的地。 7、Processor Processor 是一个可选组件用于在数据从 Channel 到 Sink 的过程中执行更复杂的逻辑。它能够对事件进行过滤、修改或重新路由。 8、Master 在一些较新的 Flume 架构中提到了 Master 的概念它负责管理协调 Agent 和 Collector 的配置和状态但这个组件并非 Flume 的核心组成部分而是特定实现或配置中可能存在的。Flume 的架构设计允许组件之间的松耦合使得系统高度可配置和可扩展。通过不同的 Source、Channel 和 Sink 的组合Flume 可 以适应各种数据收集和传输的场景从而满足大规模数据处理的需求。 Flume有哪些Source Flume提供了多种Source类型以支持各种数据源的接入这些Source类型包括但不限于1、AvroSourceFlume中使用较多的一种数据源类型它能够将消息数据在不同节点之间进行安全可靠地传输可以从另一个AvroSource或AvroSink中接收消息。 2、ExecSource可以调用外部程序并将其输出作为消息体进行采集。这种Source类型可以启动一个用户所指定的Linux shell命令 并采集该命令的标准输出作为数据。 3、SpoolingDirectorySource监控特定目录下的新文件读取这些新文件中的信息并将其数据转换成消息体传输到指定的sink。 4、NetcatSource能够接受TCP/UDP协议的流量并将其内容转换为消息体进行采集。它启动一个socket服务监听一个端口将端口上 收到的数据转成event写入channel。 5、SyslogTcpSource专门用于接收syslog方式协议的日志流量并将其内容转换为消息体进行采集。 6、JMS Source专门用于接收JMSJava Messaging Service方式协议的消息流量并将其内容转换为消息体进行采集用于数据中 心之间的数据传输。 7、Sequence Generator Source它可以生成多个消息流每个消息体中都包含当前的有序索引。 8、Kafka Source专门用于接收Kafka协议的消息并将其内容转换为消息体进行采集。Kafka是一种分布式发布-订阅消息系统能够很 好地解决大规模消息传输的需求。 9、TwitterSourceAlpha版本专门用于从Twitter流中提取消息。需要注意的是Flume的早期版本中可能没有直接处理Twitter API消息的源。 10、Morphline Source可以对任何数据源进行抽取并将其内容转换为消息体进行采集不仅能够处理结构化的数据还能处理未结构 化的数据。 11、IRC Source专门用于接收Internet Relay Chat (IRC)协议的消息并将其内容转换为消息体进行采集用于建立即时聊天系 统。除了上述列举的Source类型外Flume还支持自定义Source的实现以满足特定的数据接入需求。在自定义Source时可以根据具体的数 据源特点编写相应的代码来接收数据并将其转换为Flume的Event进行传输。 说下Flume事务机制 Flume的事务机制是其核心功能之一确保了数据可靠地从源到目的地传输并且在失败时能够进行恢复。以下是Flume事务机制的详细说 明1、事务概念 Flume中的事务是一个逻辑单位表示一次数据传输操作。每个事务包含一组事件events这些事件通常代表了需要从源到目的地传输的 数据。 2、事件和通道 事件是Flume中的基本数据单元通常代表一个日志条目或其他数据项。Flume通过通道Channel来缓冲事件通道充当了事务的存储区 域。 3、事务处理流程 当Flume接收到数据事件时它会将这些数据写入一个事务中并将事务存储在通道中。每个事务都有一个唯一的事务ID用于标识和跟 踪事务。 4、事务提交 当一个事务达到一定的大小或者一定的时间间隔时Flume可以选择提交事务。提交事务意味着将其中的事件发送到下游例如到目的地或 者另一个Flume agent。 5、事务回滚 如果在提交之前发生故障例如目的地不可用Flume可以选择回滚事务。事务回滚将撤销该事务事件将保留在通道中等待下一次提交。 6、事务保证 Flume提供了事务保证确保了事件在传输过程中不会丢失。即使在提交前发生失败事件也不会丢失因为它们仍然保留在通道中。 7、事务恢复 当Flume Agent重新启动或者恢复后它会检查通道中的未提交事务并尝试重新提交它们。这确保了即使在Agent故障后数据也能够最终到 达目的地。 8、可配置性 Flume允许用户配置事务的大小、提交间隔、事务的最大尝试次数等参数以满足不同应用场景的需求。 9、具体处理过程 Source读取数据并将其封装成事件然后将事务主动推入Channel中。Sink从Channel中拉取事务并进行处理。在Put事务流程中如果 Channel内存队列空间不足Flume会执行回滚操作。在Take事务流程中如果数据发送过程中出现异常Flume会执行回滚操作将数据归 还给Channel内存队列。综上所述Flume的事务机制是为了确保数据在传输过程中的可靠性和可恢复性而设计的。通过将事件存储在通道中并在提交和回滚时进行 控制Flume能够有效地处理大规模日志数据并保证即使在出现故障情况下也不会丢失重要的数据。这种事务机制使得Flume成为了数据收 集和传输领域的重要工具之一。 介绍下Flume采集数据的原理底层实现 Apache Flume 的数据采集原理和底层实现围绕其核心组件展开即 Agent、Source、Channel 和 Sink。下面是对 Flume 如何采集 数据的详细解释以及其底层实现的一些细节。Flume 数据采集原理 1、Agent Flume的基础单位是Agent它是一个独立的 Java 进程负责执行数据的收集、处理和传输任务。Agent 可以在多个主机上分布部署形 成一个数据采集网络。 2、Source Source是数据进入Flume Agent的入口点它负责监听或主动从数据产生源拉取数据。数据源可以是多种类型的例如日志文件、网络流、 消息队列等。Source将数据转化为Flume Event并将Event发送到 Channel。 3、Channel Channel 是一个临时的存储层用于在 Source 和 Sink 之间传递数据。Channel 提供了一个缓冲区域确保数据在从 Source 到 Sink 的传输过程中不会丢失。Channel 可以是内存中的也可以是基于磁盘的支持事务性操作以确保数据的可靠传输。 4、Sink Sink是数据离开Flume Agent的出口点负责将数据从Channel中取出并发送到目的地如HDFS、HBase、Kafka或者其他Flume Agent。Sink的选择取决于数据的最终存储位置或处理需求。 5、Event Flume中的数据以Event形式存在每个Event包含一个Body和一个Header。Body存储实际的数据内容Header 存储元数据信息如事件 的时间戳、源地址等。底层实现 Flume 的底层实现涉及以下几个关键点1、插件化架构 Flume 的 Source、Channel 和 Sink 都是插件化的这意味着用户可以根据需要选择或编写自己的组件。这种设计提供了极高的灵活性 和可扩展性。 2、数据传输的事务性 Flume 的数据传输过程使用事务机制来保证数据的一致性和完整性。在数据从 Source 到 Channel 的传输过程中以及从 Channel 到 Sink 的传输过程中都实现了事务性操作。如果数据传输失败事务会回滚数据保留在 Channel 中直到成功传输。 3、线程模型 Flume 使用多线程模型来处理数据的输入和输出。Source 和 Sink 通常在一个单独的线程中运行而 Channel 则可能使用多个线程来 处理数据的入队和出队操作。 4、配置文件 Flume Agent 的配置通过一个配置文件来定义该文件指定了 Source、Channel 和 Sink 的类型和参数。配置文件的格式通常是简单 的键值对易于阅读和修改。 5、监控和管理 Flume 提供了监控和管理功能允许用户查看 Agent 的状态监控数据传输速率以及管理配置变更。Flume 的设计和实现旨在处理大规模数据流的采集和传输其灵活的架构和强大的功能使其成为构建实时数据管道和日志基础设施的理想选 择。 Flume如何保证数据的可靠性 Apache Flume 设计了一系列机制来保证数据采集、传输和存储过程中的可靠性。以下是 Flume 保证数据可靠性的主要方式1、事务机制 Flume 使用事务机制来确保数据从 Source 到 Channel再到 Sink 的传输过程中数据的完整性和一致性。事务确保了数据至少被送达 一次但可能在某些情况下多次送达at-least-once delivery。如果数据发送失败Flume 会自动重试直到数据成功发送或达到配 置的最大重试次数。 2、Channel 存储 Flume 的 Channel 可以配置为持久化的存储如基于文件系统的 Channel 或 JDBC Channel。这意味着如果 Channel 中的数据未能 及时被 Sink 处理数据将被持久化存储在磁盘上从而防止数据丢失。 3、故障恢复 Flume 支持故障恢复机制当主节点或组件发生故障时数据处理可以从故障点恢复。例如如果 Sink 发生故障数据会保留在 Channel 中直到 Sink 恢复或数据被转发到备用的 Sink。 4、数据校验和 Flume 支持数据校验和的生成和验证以确保数据在传输过程中的完整性和正确性。如果数据在传输过程中被损坏校验和可以帮助检测错 误。 5、异常处理 Flume 提供了异常处理机制可以捕获和处理在数据处理过程中遇到的任何异常。这有助于防止故障扩散并允许系统在遇到问题时采取补救 措施。 6、多点冗余 Flume 支持主从模式和多点冗余配置这意味着如果主节点发生故障可以自动切换到备用节点继续工作确保数据传输的连续性。 7、Sink 多路复用 Flume 允许配置多个 Sink这样即使其中一个 Sink 出现问题数据也可以被发送到其他的 Sink从而提高数据传输的可靠性。 8、数据流重定向 如果某个数据处理路径失败Flume 可以配置为将数据流重定向到另一个路径确保数据不会丢失。 9、配置和监控 Flume 提供了详细的配置选项和监控工具允许管理员调整和监控数据处理流程以便在问题出现时迅速响应。通过上述机制Flume 能够在复杂的分布式环境下保证数据的可靠传输是大数据平台中日志数据收集和传输的可靠解决方案。 Flume传输数据时如何保证数据一致性可靠性 在Apache Flume中数据一致性可靠性主要通过其事务机制和一些关键组件的设计来保证。下面是一些核心概念和步骤解释了Flume 是如何确保数据在传输过程中的可靠性和一致性的1、事务机制 Flume采用了一个双阶段的事务机制来处理数据的流动。这意味着数据从Source到Channel的传输和从Channel到Sink的传输都是原子操 作即要么完全成功要么完全失败。 当Source向Channel写入数据时它会启动一个事务将数据写入Channel。如果事务成功数据被提交如果失败事务将回滚数据会 被再次尝试写入直到成功。 同样当Sink从Channel读取数据时它也启动一个事务。如果数据成功被Sink处理Channel中的数据将被删除如果失败数据会保留 在Channel中直到下一次读取尝试。 2、Channel持久化 Flume的Channel可以配置为持久化存储如File Channel或JDBC Channel。这意味着如果系统崩溃或重启Channel中的数据不会丢 失可以继续传输到Sink。 这种持久化机制保证了即使在系统故障的情况下数据也不会丢失从而保证了数据的一致性。 3、容错与恢复 Flume设计有容错机制当组件如Source、Channel或Sink出现故障时Flume可以自动恢复并重试数据传输。 如果Sink不可用数据将继续保留在Channel中直到Sink恢复或数据被转发到其他可用的Sink。 4、数据校验 Flume可以配置数据校验功能如计算和验证校验和以确保数据在传输过程中的完整性和正确性。 5、多Sink配置 Flume允许配置多个Sink如果主Sink失败数据可以被路由到备份Sink这提高了数据传输的可靠性。 6、监控与报警 Flume提供了监控工具和接口可以实时查看数据流的状态如果检测到异常或故障可以触发报警以便快速响应。通过这些机制Flume能够确保在复杂的大数据环境中数据的传输是可靠和一致的。这使得Flume成为日志聚合、数据流处理等场景下的一个 强大工具。 Flume拦截器 Flume拦截器Interceptor是Flume中的一个重要组件它位于Source与Channel之间可以在事件events传输过程中进行拦 截、处理和修改。以下是关于Flume拦截器的详细解释1、定义与位置 拦截器是一种可配置的组件位于Source与Channel之间。在事件写入Channel之前拦截器可以对事件进行转换、提取或删除操作以满 足特定的数据处理需求。2、作用 数据处理和转换拦截器可以对事件数据进行各种处理和转换例如数据清洗、格式转换、数据重构等。 过滤通过配置拦截器可以实现对数据流的过滤操作确保只有符合要求的数据流被传递到下一个组件。3、配置与使用 Flume支持多种类型的拦截器例如TimestampInterceptor、Host Interceptor、StaticInterceptor等。每个拦截器只处理同一 个Source接收到的事件也可以同时配置多个拦截器它们会按照配置的顺序执行。拦截器的配置包括指定拦截器的类型、设置相关参数 等。4、常见拦截器 TimestampInterceptor为事件添加或更新时间戳信息。 Host Interceptor为事件添加或更新主机名或IP地址信息。 StaticInterceptor为事件添加静态的头部信息或内容。 UUID Interceptor为事件生成唯一的UUID。 Morphline Interceptor使用Morphline库对事件进行复杂的转换和处理。 Search and Replace Interceptor在事件内容中进行搜索和替换操作。 Regex Filtering Interceptor使用正则表达式对事件进行过滤。 Regex Extractor Interceptor使用正则表达式从事件中提取信息。5、示例配置以Host Interceptor和Timestamp Interceptor为例 agent_lxw1234.sources.sources1.interceptors i1 i2 agent_lxw1234.sources.sources1.interceptors.i1.type host agent_lxw1234.sources.sources1.interceptors.i1.useIP false agent_lxw1234.sources.sources1.interceptors.i1.hostHeader agentHost agent_lxw1234.sources.sources1.interceptors.i2.type timestamp 在上述配置中i1是Host Interceptor它将为主机名添加或更新一个名为agentHost的头部信息而不使用IP地址。i2是Timestamp Interceptor它将为事件添加或更新时间戳信息。总结 Flume拦截器是Flume中用于在事件传输过程中进行数据处理和转换的重要组件。通过配置和使用不同类型的拦截器可以满足各种数据处理 需求提高数据处理的效率和准确性。 如何监控消费型Flume的消费情况 监控消费型Flume Agent的消费情况通常涉及到监控数据的吞吐量、延迟、错误率以及资源使用情况等。Flume提供了多种监控方法可以让 你了解Agent的运行状态和性能。以下是一些常见的监控方法1、JMX (Java Management Extensions) 监控 Flume利用JMX来暴露其内部状态和性能指标。你可以在flume-env.sh配置文件中启用JMX监控通过设置JAVA_OPTS环境变量来开启JMX 远程访问。 一旦启用了JMX你可以使用如JConsole或VisualVM这样的工具来远程监控Flume Agent的运行状态包括内存使用、CPU使用率、线程 信息等。 2、HTTP监控 Flume支持通过HTTP协议来暴露监控信息。在启动Agent时可以通过参数-Dflume.monitoring.typehttp和- Dflume.monitoring.portport来开启HTTP监控服务。 这个HTTP服务会提供关于Agent、Source、Channel和Sink的统计信息包括事件的数量、速率、延迟和错误等。 3、Ganglia监控 如果你的环境已经部署了Ganglia监控系统Flume可以配置成将监控数据报告给Ganglia的metanode。这需要在启动Agent时指定相应的 参数。 Ganglia能够提供图形化的监控界面展示Flume Agent的实时和历史性能指标。 4、Log4j监控 Flume使用Log4j作为日志框架你可以配置Log4j来记录详细的运行日志包括错误、警告和调试信息。这有助于诊断问题和监控Agent的 行为。 5、自定义监控 Flume允许开发自定义的监控插件如果你有特定的监控需求可以编写自己的插件来收集和报告数据。为了监控消费型Flume的消费情况你应当关注以下指标事件的吞吐量每秒处理的事件数量。 事件延迟事件从Source到达Sink的时间。 错误和失败事件数由于各种原因未成功处理的事件数量。 资源使用情况CPU、内存、磁盘I/O和网络I/O的使用情况。通过这些监控方法和指标你可以深入了解Flume Agent的运行状况确保数据流的健康和性能。在配置监控时记得根据实际的网络环境和 安全策略来适当配置远程访问权限。 Kafka和Flume是如何对接的 Kafka和Flume的对接主要通过Flume的KafkaSink组件实现以下是详细的对接步骤和要点1. 准备工作 安装与配置Kafka安装Kafka服务器配置server.properties文件并启动Kafka Broker。创建Topic在Kafka中创建用于接收 Flume数据的Topic例如命名为flume_logs的Topic。2. 配置Flume Agent 安装Flume安装Flume服务并确保其与Kafka版本兼容。 编写Flume配置文件如flume-kafka.conf 定义Flume Agent每个Agent包含Source、Channel和Sink组件。 配置Source根据数据源类型选择合适的Source如exec从命令行输出收集日志spooling-directory监听指定目录的文件变动 http通过HTTP接口接收日志等。 配置Channel选择合适的Channel类型如memory内存队列适用于短时、低延迟场景或file文件队列适用于持久化、高吞吐场 景。配置KafkaSink 使用kafka类型的Sink。 指定Kafka服务器地址如a1.sinks.k1.kafka.bootstrap.servers node2:9092,node3:9092,node4:9092。 指定Topic名称如a1.sinks.k1.kafka.topic flumetopic。 配置生产者参数如a1.sinks.k1.kafka.producer.acks -1。3. 配置文件示例 以下是一个简单的配置文件示例展示了Flume如何配置以将数据发送到Kafka# Named a1.sources r1 a1.channels c1 a1.sinks k1# Source a1.sources.r1.type netcat a1.sources.r1.bind 0.0.0.0 a1.sources.r1.port 6666# Channel a1.channels.c1.type memory a1.channels.c1.capacity 10000 a1.channels.c1.transactionCapacity 100# Sink a1.sinks.k1.type org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.bootstrap.servers node2:9092,node3:9092,node4:9092 a1.sinks.k1.kafka.topic flumetopic a1.sinks.k1.kafka.flumeBatchSize 100 a1.sinks.k1.useFlumeEventFormat true a1.sinks.k1.kafka.producer.acks -1# Bind the source and sink to the channel a1.sources.r1.channels c1 a1.sinks.k1.channel c14. 启动与验证 启动Flume Agent并观察其日志输出确保没有错误发生。 发送数据到Flume的Source如通过telnet连接到配置的netcat端口并检查Kafka中的Topic是否接收到了这些数据。通过以上步骤 Kafka和Flume就可以成功对接实现数据的实时收集与传输。 为什么要使用Flume进行数据采集 Apache Flume 成为数据采集的首选工具之一主要是因为它在处理大规模、分布式日志数据和其他数据流时所具有的优势。以下是一些使 用 Flume 进行数据采集的主要原因1、高可用性与可靠性 Flume 设计为高可用和高可靠性的系统它能够处理数据传输中的故障并提供数据持久性确保数据不会因为系统故障而丢失。 2、分布式架构 Flume 支持分布式部署可以轻松地在多台服务器上部署 Agent以处理大规模的数据流这非常适合处理来自多个源的日志数据。 3、灵活的数据流模型 Flume 提供了基于流的数据流模型允许数据从多个源采集并通过复杂的路由和过滤规则传输到多个目的地如 HDFS、HBase、Kafka 等。 4、可插拔的组件 Flume 的 Source、Channel 和 Sink 都是可插拔的这意味着你可以根据需要选择不同的组件甚至可以开发自定义组件来适应特定的 数据源或目标。 5、数据预处理能力 Flume 支持 Interceptor 和 Processor可以对数据进行预处理如过滤、格式转换、数据增强等这在数据进入下游系统前是非常有 用的。 6、低延迟 Flume 能够以较低的延迟处理数据这对于实时数据分析和监控系统非常重要。 7、可配置性 Flume 非常容易配置和管理可以通过简单的配置文件来定义数据流和处理逻辑无需编程即可实现复杂的数据流处理。 8、容错机制 Flume 提供了丰富的容错和数据恢复机制即使在组件故障的情况下也能确保数据的完整性和一致性。 9、监控与管理 Flume 提供了监控工具可以查看数据流的状态这对于运维人员来说是非常重要的他们可以监控数据处理的性能和故障。 10、成熟稳定 Flume 是一个成熟的技术由 Apache 软件基金会维护有大量的社区支持和文档可以确保长期的稳定性和技术支持。综上所述Flume 是一个强大且灵活的工具特别适合用于大数据环境中的日志数据采集和传输以及需要高可用性和可靠性的数据流处理场 景。 引用https://www.nowcoder.com/discuss/353159520220291072 通义千问、文心一言 文章转载自: http://www.morning.bytgy.com.gov.cn.bytgy.com http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn http://www.morning.cltrx.cn.gov.cn.cltrx.cn http://www.morning.tjmfz.cn.gov.cn.tjmfz.cn http://www.morning.hmxb.cn.gov.cn.hmxb.cn http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn http://www.morning.jpdbj.cn.gov.cn.jpdbj.cn http://www.morning.byjwl.cn.gov.cn.byjwl.cn http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn http://www.morning.jpydf.cn.gov.cn.jpydf.cn http://www.morning.dfffm.cn.gov.cn.dfffm.cn http://www.morning.smdkk.cn.gov.cn.smdkk.cn http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn http://www.morning.cctgww.cn.gov.cn.cctgww.cn http://www.morning.rmrcc.cn.gov.cn.rmrcc.cn http://www.morning.btypn.cn.gov.cn.btypn.cn http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn http://www.morning.dyght.cn.gov.cn.dyght.cn http://www.morning.mymz.cn.gov.cn.mymz.cn http://www.morning.jzklb.cn.gov.cn.jzklb.cn http://www.morning.yrfxb.cn.gov.cn.yrfxb.cn http://www.morning.trjdr.cn.gov.cn.trjdr.cn http://www.morning.npmcf.cn.gov.cn.npmcf.cn http://www.morning.fbpyd.cn.gov.cn.fbpyd.cn http://www.morning.symgk.cn.gov.cn.symgk.cn http://www.morning.pmsl.cn.gov.cn.pmsl.cn http://www.morning.ttfh.cn.gov.cn.ttfh.cn http://www.morning.pqbkk.cn.gov.cn.pqbkk.cn http://www.morning.bmncq.cn.gov.cn.bmncq.cn http://www.morning.jkzq.cn.gov.cn.jkzq.cn http://www.morning.c7513.cn.gov.cn.c7513.cn http://www.morning.smrkf.cn.gov.cn.smrkf.cn http://www.morning.ljcf.cn.gov.cn.ljcf.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.tfqfm.cn.gov.cn.tfqfm.cn http://www.morning.hnrdtz.com.gov.cn.hnrdtz.com http://www.morning.lynkz.cn.gov.cn.lynkz.cn http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn http://www.morning.jcjgh.cn.gov.cn.jcjgh.cn http://www.morning.fhntj.cn.gov.cn.fhntj.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.qypjk.cn.gov.cn.qypjk.cn http://www.morning.tmbfz.cn.gov.cn.tmbfz.cn http://www.morning.kcypc.cn.gov.cn.kcypc.cn http://www.morning.dhdzz.cn.gov.cn.dhdzz.cn http://www.morning.rlpmy.cn.gov.cn.rlpmy.cn http://www.morning.huihuangwh.cn.gov.cn.huihuangwh.cn http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn http://www.morning.syrzl.cn.gov.cn.syrzl.cn http://www.morning.srbfz.cn.gov.cn.srbfz.cn http://www.morning.ampingdu.com.gov.cn.ampingdu.com http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn http://www.morning.hpjpy.cn.gov.cn.hpjpy.cn http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn http://www.morning.kyzxh.cn.gov.cn.kyzxh.cn http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn http://www.morning.jypqx.cn.gov.cn.jypqx.cn http://www.morning.trjp.cn.gov.cn.trjp.cn http://www.morning.jwwfk.cn.gov.cn.jwwfk.cn http://www.morning.swwpl.cn.gov.cn.swwpl.cn http://www.morning.cgstn.cn.gov.cn.cgstn.cn http://www.morning.rgmd.cn.gov.cn.rgmd.cn http://www.morning.kflzy.cn.gov.cn.kflzy.cn http://www.morning.qddtd.cn.gov.cn.qddtd.cn http://www.morning.c7622.cn.gov.cn.c7622.cn http://www.morning.sggzr.cn.gov.cn.sggzr.cn http://www.morning.pjftk.cn.gov.cn.pjftk.cn http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn http://www.morning.lpppg.cn.gov.cn.lpppg.cn http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn http://www.morning.dyrzm.cn.gov.cn.dyrzm.cn http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.fhqdb.cn.gov.cn.fhqdb.cn http://www.morning.pszw.cn.gov.cn.pszw.cn 查看全文 http://www.tj-hxxt.cn/news/239670.html 相关文章: 哪个公司做网站好苏州网站群建设 实现了 视频网站自己怎么做网络营销的网站建设报告 个人怎么做网站施工合同 织梦电子行业网站模板龙岗网站建设报价 百度网站是怎么做的wordpress 手机 登陆不了 低价自适应网站建设优化建站一个成功的网站必须具备哪几个要素 网站建站管理青岛网络推广方案服务 制作一个自适应网站跟犀牛云一样做网站的 免费做婚礼邀请函的网站电商怎么入门 福建建设监理网站如何做网站关键字优化 副业做网站软件沈阳建设企业网站 开发工程师网站开发工程师vi设计公司网站 宣讲家网站生态文明建设深圳宝安做网站的公司 无锡网站建设机构怎样做网站不花钱 淘宝网站是怎么做的自媒体采集网站建设 网站管理后台源码合肥seo排名收费 卡盟网站顶图怎么做微信小程序可以做视频网站吗 教育网站案例( )是网站可以提供给用户的价值 php网站模板开源网站克隆好后该怎么做 建立英文网站在哪里学做网站 网站建设开发哪个好学wordpress 登录页面变了 网站空间商是什么意思专业app开发 吉林网站开发设计师在线设计平台 北京做建筑信息的网站建设网站要不要工商执照 珠海网站建设平台工艺品网站模版 如何管理公司网站后台北京公司注册查询 大连电子学校网站建设建设网站建设多少钱 电力建设监理招聘网站哈尔滨网站设计培训班 网页导航视频网站在线制作教程济南物流行业网站建设工具 中山建设企业网站个人备案网站做企业网可以吗