华为云用户手册
-
查看HttpClient监控 接口维度汇总 针对HttpClient监控系统会采集每个URL的指标,具体指标以及说明,参见表1。您可以单击列表右上角的自定义列表项,使界面上显示您需要查看的指标数据。 图3 接口维度汇总HttpClient监控 表1 HttpClient监控接口维度汇总指标说明列表 指标集 指标 说明 接口维度汇总 url 被调用url。 method url的httpmethod。 下游组件 被调用url的组件名称。 调用次数 被调用url的调用次数。 平均响应时间(ms) 被调用url的平均响应时间。 错误次数 被调用url的错误次数。 最大并发 被调用url的最大并发。 最慢调用(ms) 被调用url的最大响应时间。 0-10ms 响应时间在0-10ms范围请求数。 10-100ms 响应时间在10-100ms范围请求数。 100-500ms 响应时间在100-500ms范围请求数。 500-1000ms 响应时间在500-1000ms范围请求。 1-10s 响应时间在1-10s范围请求数。 10s以上 响应时间在10s以上请求数。 错误调用链 采集周期内发生错误的调用链对应的traceid。 最慢调用链 采集周期内最慢的调用链对应的traceid。 单击“调用次数”、“平均响应时间”等列蓝色字体数值,会以图表的形式显示对应的数值详情。 单击“下游组件”的地址,会以列表形式展示被调用方组件的详情。 单击“最慢调用链”列或“错误调用链”列的,蓝色字体,系统会跳转到该调用链详情或历史信息页面,查看该调用链的调用情况以及历史信息。 集群维度汇总 APM 支持以集群的维度汇总外部调用的指标,具体指标以及说明,参见表2。 图4 集群维度汇总HttpClient监控 表2 HttpClient监控集群维度汇总指标说明列表 指标集 指标 说明 集群维度汇总 envId 被调用方的集群id。 下游地址 被调用方的url地址。 调用次数 调用该集群url的调用次数。 平均响应时间(ms) 调用该集群url的平均响应时间。 错误次数 被调用url的错误次数。 最慢调用(ms) 调用该集群url的最大响应时间。 0-10ms 响应时间在0-10ms范围请求数。 10-100ms 响应时间在10-100ms范围请求数。 100-500ms 响应时间在100-500ms范围请求数。 500-1000ms 响应时间在500-1000ms范围请求。 1-10s 响应时间在1-10s范围请求数。 10s-n 响应时间在10s以上请求数。 单击“调用次数”、“平均响应时间”等列的蓝色字体数值,会以图表的形式显示对应的数值详情。 单击“下游地址”,会以列表形式展示被调用方的地址详情。 状态码维度汇总 APM支持以状态码的维度汇总外部调用的指标,具体指标以及说明,参见表3。 图5 状态码维度汇总HttpClient监控 表3 HttpClient监控状态码维度汇总指标说明列表 指标集 指标 说明 状态码维度汇总 code 状态码。 数量 对应状态码的发生次数。 最近URL 产生对应状态码的url。 单击“code”列的某个状态码,系统会跳转到调用链页面,显示默认20分钟内所在环境,所选实例该状态码的调用情况。 单击“数量”列的数值,可以查看所选时间段内该状态码的趋势图。 单击最近url,可以查看对应状态码下的调用详情。 异常 可以在异常页签下查看对HttpClient调用的异常信息统计的指标,具体指标以及说明,参见表4。 图6 HttpClient监控异常 表4 HttpClient监控异常指标说明列表 指标集 指标 说明 异常 causeType 发生异常的类。 exceptionType 异常类型。 数量 该异常的发生次数。 异常消息 该异常产生的异常消息。 错误堆栈 该异常产生的堆栈信息。 单击“数量”列的蓝色数值,可以查看所选时间段内该线程的趋势图。 单击“异常消息”列的蓝色文字,可以查看异常消息的详细内容。 单击“错误堆栈”列的“查看详情”可以查看异常的详细信息。 单击“错误堆栈”列的“历史信息”可以查看该类名的历史异常堆栈列表。 总览 可以在总览页签下查看所选实例的的指标,具体指标以及说明,参见表5。 选中某一个时间节点时,图表支持联动。展示该时间节点下各个指标的实际数值。 图7 HttpClient监控总览 表5 HttpClient监控总览指标说明列表 指标集 指标 说明 总览 调用次数 总的调用次数。 平均响应时间(ms) 平均响应时间。 错误次数 总的错误次数。
-
SDK使能 引入依赖模块。 import { APMSDK } from "apm_harmony_sdk"; 启动及自定义参数设置。 // 启动SDK,在onCreate函数中添加以下代码: APMSDK.start(this.context.getApplicationContext()); // 设置自定义ID APMSDK.setUid(自定义ID); // 设置自定义标签 APMSDK.addTag(自定义标签);
-
版本更新说明 sdk如何处理个人信息请参考 应用性能管理 服务数据采集SDK隐私声明。 您集成和使用华为的sdk时需要遵从个人信息保护基本要求,详情请参考应用性能管理服务数据采集SDK开发者合规指南。 表1 版本更新说明 版本号 SDK下载地址 更新说明 系统 2.0.6 SDK下载 1.解决用户在初始化之后setUid和setTag不生效的问题 2.解决用户ID在特殊场景下自动刷新的问题 3.封装HTTP请求方法,监听HTTP请求下的API数据 API 12 及以上 2.0.5 SDK下载 1.解决setUid和setTag方法被混淆的问题 API 12 及以上 2.0.3 SDK下载 添加参数校验; 添加调试日志。 API 12 及以上 2.0.2 SDK下载 解除SDK中对其他包的依赖。 API 12 及以上 2.0.1 SDK下载 提供采集上报App启动性能、崩溃、卡顿、错误、网络请求、终端设备、自定义上报等应用监控能力。 API 12 及以上
-
查看KafkaProducer监控 topic监控 可以在topic监控页签下查看所选实例的信息,具体指标以及说明,参见表1。 图2 查看KafkaProducer监控 表1 topic监控参数说明列表 指标集 指标 说明 topic监控 id 消息组id,是由消费组 consumer + topic+ {sequenceId} +kakfa ips组成。 topic kafka的topic名称。 sequencelds 消息序列id。 总消费次数 总消费次数。 总消费字节数 总消费字节数。 每秒消费字节 每秒消费字节。 请求获取平均字节 请求获取平均字节。 请求获取最大字节 请求获取最大字节。 每秒消费消息数 每秒消费消息数。 单次请求平均消息数 单次请求平均消息数。 在搜索框中输入“id”、“topic”内容后单击,展示包含搜索内容的所有信息。 单击“总消费次数”、“总消费字节数”等列的蓝色字体数值,可以查看所选时间段内“总消费次数”、“总消费字节数”等列的趋势图。 fetch监控 可以在fetch监控页签下查看所选实例的信息,具体指标以及说明,参见表2。 表2 fetch监控参数说明列表 指标集 指标 说明 fetch监控 id 消息组id,是由消费组 consumer + topic+ {sequenceId} +kakfa ips组成。 topic kafka的topic名称。 sequencelds 消息序列id。 总消费次数 总消费次数。 总消费字节数 总消费字节数。 每秒消费字节 每秒消费字节。 请求平均延时 请求平均延时。 请求最大延时 请求最大延时。 每秒请求数 每秒请求数。 请求获取平均字节 请求获取平均字节。 请求获取最大字节 请求获取最大字节。 每秒消费消息数 每秒消费消息数。 最大堆积消息数 最大堆积消息数。 单次请求平均消息数 单次请求平均消息数。 在搜索框中输入“id”、“topic”内容后单击,展示包含搜索内容的所有信息。 单击“总消费次数”、“总消费字节数”等列的蓝色字体数值,可以查看所选时间段内“总消费次数”、“总消费字节数”等列的趋势图。 partition监控 可以在partition监控页签下查看所选实例的信息,具体指标以及说明,参见表3。 表3 partition监控参数说明列表 指标集 指标 说明 partition监控 id 消息组id,是由消费组 consumer + topic+ {sequenceId} +kakfa ips组成。 topic kafka的topic名称。 sequencelds 消息序列id。 堆积消息数 堆积消息数。 平均堆积消息数 平均堆积消息数。 最大堆积消息数 最大堆积消息数。 在搜索框中输入“id”、“topic”内容后单击,展示包含搜索内容的所有信息。 单击“堆积消息数”、“平均堆积消息数”等列的蓝色字体数值,可以查看所选时间段内“堆积消息数”、“平均堆积消息数”等列的的趋势图。 消费方法监控 可以在消费方法监控监控页签下查看所选实例的信息,具体指标以及说明,参见表4。 表4 消费方法监控监控参数说明列表 指标集 指标 说明 消费方法监控 topic kafka的topic名称。 调用次数 调用次数。 平均响应时间 平均响应时间。 错误数 错误数。 最大并发 最大并发。 最慢调用 最大响应时间。 0-10ms 时延在0-10ms范围请求数。 10-100ms 时延在10-100ms范围请求数。 100-200ms 时延在100-200ms范围请求数。 200-1000ms 时延在200-1000ms范围请求数。 1-10s 时延在1-10s范围请求数。 10s-n 时延在10s以上请求数。 单击“topic”、“调用次数”、“平均响应时间(ms)”等列的蓝色字体数值,可以查看所选时间段内“topic”、“调用次数”、“平均响应时间(ms)”等列的趋势图。 异常 可以在异常页签下查看KafkaProducer监控的异常统计信息,具体指标以及说明,参见表5。 表5 异常参数说明列表 指标集 指标 说明 异常 causeType 异常发生类。 exceptionType 异常类。 次数 异常次数。 消息 异常消息。 错误堆栈 错误堆栈。 单击“异常数量”、“次数”等列的蓝色数值,可以查看所选时间段内该线程的趋势图。 单击“异常消息”列的蓝色文字,可以查看异常消息的详细内容。 单击“错误堆栈”列的“查看详情”可以查看异常的详细信息。 单击“错误堆栈”列的“历史信息”可以查看该类名的历史异常堆栈列表。 总览 可以在总览页签下查看所选实例的调用趋势图,具体指标以及说明,参见表6。选中某一个时间节点时,图表支持联动。展示该时间节点下各个指标的实际数值。 表6 总览参数说明列表 指标集 指标 说明 总览 总发送次数 总发送次数。 总发送字节数 总发送字节数。
-
运营商统计表 运营商统计表展示某个应用终端设备的运营商信息,指标包括:运营商、使用量、设备数量以及操作。 图17 运营商统计表 表11 运营商统计表相关参数说明 参数名称 说明 运营商 运营商名称。 使用量 使用该运营商的设备数量。 设备数量 设备的数量。 单击“运营商”列的某一行对应的“操作”列的“分析”按钮,展示运营商的详细信息。包括:设备型号/ID、App、版本、系统、系统版本、UA、地域、用户标识、发生时间以及操作。 图18 运营商统计表-分析 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”,展示运营商统计表的基本信息。 图19 运营商统计表-查看详情 表12 运营商统计表-基本信息参数说明 参数名称 说明 设备型号 设备的型号。 用户标识 用户的唯一标识。 App App名称。 App版本 App版本号。 AppId App的Id。 设备标识 设备的唯一标识。 系统 系统类型。 系统版本 系统版本号。 CPU架构 CPU的架构。 UA 用户探针。 IP 设备的IP地址。 平台 平台类型。 运营商 设备使用的运营商名称。 是否越狱 设备是否越狱,例如:iOS越狱为“是”,Android root刷机为“是”,其他为“否”。 SDKSoftware development kit SDK版本号。 接入方式 终端设备接入方式。 最大内存 支持的最大内存容量。 最大磁盘 支持的最大磁盘容量。 地域 设备所在地域。 uuid 每次上报的唯一标识。 发生时间 设备接入的时间。
-
地域统计表 地域统计表展示某个应用终端设备的地域信息,指标包括:地域、使用量、设备数量以及操作。 图11 地域统计表 表7 地域统计表相关参数说明 参数名称 说明 地域 地 域名 称。 使用量 某地域的使用量。 设备数量 某地域设备的总数量。 单击“地域”列的某一行对应的“操作”列的“分析”按钮,展示地域的详细信息。包括:设备型号/ID、App、版本、系统、系统版本、UA、地域、用户标识、发生时间以及操作。 图12 地域统计表-分析 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”,展示地域统计的基本信息。 图13 地域统计表-查看详情 表8 地域统计表-基本信息参数说明 参数名称 说明 设备型号 设备的型号。 用户标识 用户的唯一标识。 App App名称。 App版本 App版本号。 AppId App的Id。 设备标识 设备的唯一标识。 系统 系统类型。 系统版本 系统版本号。 CPU架构 CPU的架构。 UA 用户探针。 IP 设备的IP地址。 运营商 设备使用的运营商名称。 平台 平台类型。 是否越狱 设备是否越狱,例如:iOS越狱为“是”,Android root刷机为“是”,其他为“否”。 SDKSoftware development kit SDK版本号。 接入方式 终端设备接入方式。 最大内存 支持的最大内存容量。 最大磁盘 支持的最大磁盘容量。 地域 设备所在地域。 uuid 每次上报的唯一标识。 发生时间 设备接入的时间。
-
上网方式统计表 上网方式统计表展示某个应用终端设备的上网方式信息,指标包括:上网方式、使用量、设备数量以及操作。 图14 上网方式统计表 表9 上网方式统计表相关参数说明 参数名称 说明 上网方式 上网的方式。 使用量 使用该上网方式的接入数量。 设备数量 设备的数量。 单击“上网方式”某一行对应的“操作”列的“分析”按钮,展示上网方式的详细信息。包括:设备型号/ID、App、版本、系统、系统版本、UA、地域、用户标识、发生时间以及操作。 图15 上网方式统计表-分析 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”,展示上网方式统计表的基本信息。 图16 上网方式统计表-查看详情 表10 上网方式统计表-基本信息参数说明 参数名称 说明 设备型号 设备的型号。 用户标识 用户的唯一标识。 App App名称。 App版本 App版本号。 AppId App的Id。 设备标识 设备的唯一标识。 系统 系统类型。 系统版本 系统版本号。 CPU架构 CPU的架构。 UA 用户探针。 IP 设备的IP地址。 平台 平台类型。 运营商 设备使用的运营商名称。 是否越狱 设备是否越狱,例如:iOS越狱为“是”,Android root刷机为“是”,其他为“否”。 SDKSoftware development kit SDK版本号。 接入方式 终端设备接入方式。 最大内存 支持的最大内存容量。 最大磁盘 支持的最大磁盘容量。 地域 设备所在地域。 uuid 每次上报的唯一标识。 发生时间 设备接入的时间。
-
设备型号统计表 设备型号统计表展示某个应用终端设备的设备型号信息,指标包括:设备名称、使用量、 总设备数以及操作。 图8 设备型号统计表 表5 设备型号统计表相关参数说明 参数名称 说明 设备名称 设备的名称。 使用量 某设备的使用量。 总设备数 某设备名称的设备数量。 单击“设备名称”列的某一行对应的“操作”列的“分析”按钮,展示设备型号的详细信息。包括:设备型号/ID、App、版本、系统、系统版本、UA、地域、用户标识、发生时间以及操作。 图9 设备型号统计表-分析 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”,展示设备型号统计的基本信息。 图10 设备型号统计表-查看详情 表6 设备型号统计表-基本信息参数说明 参数名称 说明 设备型号 设备的型号。 用户标识 用户的唯一标识。 App App名称。 App版本 App版本号。 AppId App的Id。 设备标识 设备的唯一标识。 系统 系统类型。 系统版本 系统版本号。 CPU架构 CPU的架构。 UA 用户探针。 IP 设备的IP地址。 运营商 设备使用的运营商名称。 平台 平台类型。 是否越狱 设备是否越狱,例如:iOS越狱为“是”,Android root刷机为“是”,其他为“否”。 SDKSoftware development kit SDK版本号。 接入方式 终端设备接入方式。 最大内存 支持的最大内存容量。 最大磁盘 支持的最大磁盘容量。 地域 设备所在地域。 uuid 每次上报的唯一标识。 发生时间 设备接入的时间。
-
系统版本统计表 系统版本统计表展示某个应用终端设备的系统版本版本信息,指标包括:系统版本、使用量、设备数量以及操作。 图5 系统版本统计表 表3 系统版本统计表相关参数说明 参数名称 说明 系统版本 系统版本号。 使用量 系统版本的使用量。 设备数量 使用该系统版本的设备数量。 单击“系统版本”列的某一行对应的“操作”列的“分析”按钮,展示系统版本的详细信息。包括:设备型号/ID、App、版本、系统、系统版本、UA、地域、用户标识、发生时间以及操作。 图6 App系统版本统计表-分析 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”,展示系统版本统计的基本信息。 图7 App系统版本统计-查看详情 表4 系统版本统计-基本信息参数说明 参数名称 说明 设备型号 设备的型号。 用户标识 用户的唯一标识。 App App名称。 App版本 App版本号。 AppId App的Id。 设备标识 设备的唯一标识。 系统 系统类型。 系统版本 系统版本号。 CPU架构 CPU的架构。 UA 用户探针。 IP 设备的IP地址。 运营商 设备使用的运营商名称。 平台 平台类型。 是否越狱 设备是否越狱,例如:iOS越狱为“是”,Android root刷机为“是”,其他为“否”。 SDKSoftware development kit SDK版本号。 接入方式 终端设备接入方式。 最大内存 支持的最大内存容量。 最大磁盘 支持的最大磁盘容量。 地域 设备所在地域。 uuid 每次上报的唯一标识。 发生时间 设备接入的时间。
-
App版本统计表 App版本统计表展示某个应用终端设备的App版本信息,指标包括:App版本、使用量、设备数量以及操作。 图2 App版本统计表 表1 App版本统计表相关参数说明 参数名称 说明 App版本 App版本号。 使用量 App版本的使用量。 设备数量 使用该App版本的设备数量。 单击“App版本”某一行对应的“操作”列的“分析”按钮,展示App版本的详细信息。包括:设备型号/ID、App、版本、系统、系统版本、UA、地域、用户标识、发生时间以及操作。 图3 App版本统计表-分析 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”,展示App版本统计的基本信息。 图4 App版本统计-查看详情 表2 App版本统计-基本信息说明 参数名称 说明 设备型号 设备的型号。 用户标识 用户的唯一标识。 App App名称。 App版本 App版本号。 AppId App的Id。 设备标识 设备的唯一标识。 系统 系统类型。 系统版本 系统版本号。 CPU架构 CPU的架构。 UA 用户探针。 IP 设备的IP地址。 运营商 设备使用的运营商名称。 平台 平台类型。 是否越狱 设备是否越狱,例如:iOS越狱为“是”,Android root刷机为“是”,其他为“否”。 SDKSoftware development kit SDK版本号。 接入方式 终端设备接入方式。 最大内存 支持的最大内存容量。 最大磁盘 支持的最大磁盘容量。 地域 设备所在地域。 uuid 每次上报的唯一标识。 发生时间 设备接入的时间。
-
错误列表 错误列表展示错误信息的错误摘要、错误类型、错误次数、影响设备数、影响版本数、首次发生时间、最后发生时间以及操作。 图5 错误列表 表5 错误列表相关参数说明 参数名称 说明 错误摘要 错误信息的摘要。 错误类型 错误的类型。 错误次数 错误的次数。 影响设备数 错误影响设备的数量。 影响版本数 错误影响版本的次数。 首次发生时间 错误首次发生的时间。 最后发生时间 错误最后发生的时间。 单击“错误摘要”列的某一行对应的“操作”列的“分析”按钮,展示某条错误记录的详细信息。包括:错误总览趋势图、TOP5版本错误、TOP5设备错误以及错误列表。 图6 错误摘要详细信息 单击“设备型号/ID”列的某一行对应的“操作”列的“查看详情”。展示该错误记录的基本信息以及错误堆栈。请注意,仅iOS应用支持堆栈分析功能。 图7 错误-查看详情 表6 错误-查看详情相关参数说明 参数名称 说明 发生时间 发生错误的时间。 用户标识 用户的唯一标识。 设备型号 设备的型号。 摘要 错误信息摘要。 接入方式 App接入方式。 系统版本 系统版本号。 App版本 App版本号。 内存占用 内存占用大小。 内存空闲 内存空闲大小。 CPU使用 CPU已经使用率。 CPU架构 CPU的架构。 可用磁盘 磁盘可使用大小。 已用磁盘 磁盘已使用大小。 应用包名 应用包名称。 错误堆栈 错误堆栈。 在崩溃堆栈框中输入符号表的OBS桶地址,如何通过OBS客户端上传符号表文件,上传操作请查看 通过控制台快速使用OBS。 单击“堆栈分析”,分析结果展示在框中。 图8 堆栈分析
-
混淆配置 如App对代码进行乱序混淆,则在混淆配置文件中添加代码段: -keep class com.cloud.apm.**{*;} # 如果使用gradle 8.x 请自行选择使用下面的配置 -keep classeswithmembers class okhttp3.**{*;} # 使用okhttp3&okhttp4 -dontwarn okhttp3.** # 未使用okhttp3&okhttp4 -keep classeswithmembers class com.squareup.okhttp.**{*;} # 使用 okhttp2 -dontwarn com.squareup.okhttp.** # 未使用 okhttp2
-
版本更新说明 sdk如何处理个人信息请参考应用性能管理服务数据采集SDK隐私声明。 您集成和使用华为的sdk时需要遵从个人信息保护基本要求,详情请参考应用性能管理服务数据采集SDK开发者合规指南。 表1 版本更新说明 版本号 SDK下载地址 检验信息下载地址 更新说明 系统 2.0.13 SDK下载 插件下载 SDK下载 插件下载 1.解决AGP8.0+兼容性问题。 2.minSDK支持到21。 Android 5 及以上 2.0.12 SDK下载 插件下载 SDK下载 插件下载 兼容Gradle 6.7.1、AGP 4.2.0、JDK 11、Android 30(compileSdk)。 Android 7 及以上 2.0.11 SDK下载 插件下载 SDK下载 插件下载 优化数据上传逻辑。 Android 7 及以上 2.0.10 SDK下载 插件下载 SDK下载 插件下载 修复网络错误时上报有null的问题。 修复插件加载时会出现未完成配置的问题。 修复插件插桩异常后复制文件失败的问题。 Android 7 及以上 2.0.9 SDK下载 插件下载 SDK下载 插件下载 插件添加功能开关配置,帮助调试定位问题。 修复了链路追踪开关的远程配置生效时机错误的问题。 修复了anr错误栈日志显示重复的问题。 Android 7 及以上 2.0.8 SDK下载 插件下载 SDK下载 插件下载 修复工程配置导致的冲突问题。 Android 7 及以上 2.0.7 SDK下载 插件下载 SDK下载 插件下载 支持远程配置功能。 Android 7 及以上 2.0.6 SDK下载 插件下载 SDK下载 插件下载 修复了配置导致SDK启动失败的问题。 Android 7 及以上 2.0.5 SDK下载 插件下载 SDK下载 插件下载 适配了 Gradle8.0及以上版本的 transform API。 Android 7 及以上 2.0.4 SDK下载 插件下载 SDK下载 插件下载 适配配置文件字段,修复插件无法响应日志字段的问题。 网络拦截升级,修复了使用 URLConnection 时,特殊情况无法上报的问题 Android 7 及以上 2.0.1 SDK下载 插件下载 SDK下载 插件下载 提供采集上报App启动性能、崩溃、卡顿、错误、网络请求、终端设备、自定义上报等应用监控能力。 Android 7 及以上
-
版本更新说明 表1 版本更新说明 版本号 更新说明 1.0.61 过滤掉性能加载数据中LCP为0的数据 1.0.59 新增采样率设置。 1.0.58 新增对furion探针的支持。 1.0.57 新增CLS LCP指标 1.0.48 新增绘制延迟指标采集,默认关闭,通过enableInp参数开关控制。 1.0.47 新增pvid和ssid字段上报,用于会话追踪和流量分析。 1.0.46 新增自定义标签uid和tag,新增__rum.setUid和__rum.setTag方法。
-
组件WebUI便捷访问 大数据组件都有自己的WebUI页面管理自身系统,但是由于网络隔离的原因,用户并不能很简便地访问到该页面。 例如访问HDFS的WebUI页面,传统的操作方法是需要用户创建E CS ,使用ECS远程登录组件的UI,这使得组件的页面UI访问很是繁琐,对于很多初次接触大数据的用户很不友好。 MRS 提供了基于弹性公网IP来便捷访问组件WebUI的安全通道,并且比用户自己绑定弹性公网IP更便捷,只需界面鼠标操作,即可简化原先用户需要自己登录虚拟私有云添加安全组规则,获取公网IP等步骤,减少了用户操作步骤。 分析集群Hadoop、Spark、HBase、Hue及流式集群等相关组件,都可以在Manager上找到组件页面入口,快速访问。 更多关于MRS集群内托管的开源组件WebUI界面登录操作指导,请参考访问MRS集群上托管的开源组件Web页面。 父主题: 产品功能
-
HDFS可靠性 MRS使用HDFS的副本机制来保证数据的可靠性,HDFS中每保存一个文件则自动生成1个备份文件,即共2个副本。HDFS副本数可通过“dfs.replication”参数查询。 当MRS集群中Core节点规格选择为非本地盘(hdd)时,若集群中只有一个Core节点,则HDFS默认副本数为1。若集群中Core节点数大于等于2,则HDFS默认副本数为2。 当MRS集群中Core节点规格选择为本地盘(hdd)时,若集群中只有一个Core节点,则HDFS默认副本数为1。若集群中有两个Core节点,则HDFS默认副本数为2。若集群中Core节点数大于等于3,则HDFS默认副本数为3。 图3 HDFS架构 MRS支持HDFS组件上节点均衡调度和单节点内的磁盘均衡调度,有助于扩容节点或扩容磁盘后的HDFS存储性能提升。
-
HDFS结构 HDFS包含主、备NameNode和多个DataNode,如图1所示。 HDFS是一个Master/Slave的架构,在Master上运行NameNode,而在每一个Slave上运行DataNode,ZKFC需要和NameNode一起运行。 NameNode和DataNode之间的通信都是建立在TCP/IP的基础之上的。NameNode、DataNode、ZKFC和JournalNode能部署在运行Linux的服务器上。 图1 HA HDFS结构 图1中各模块的功能说明如表1所示。 表1 模块说明 名称 描述 NameNode 用于管理文件系统的命名空间、目录结构、元数据信息以及提供备份机制等,分为: Active NameNode:管理文件系统的命名空间、维护文件系统的目录结构树以及元数据信息;记录写入的每个“数据块”与其归属文件的对应关系。 Standby NameNode:与Active NameNode中的数据保持同步;随时准备在Active NameNode出现异常时接管其服务。 Observer NameNode:与Active NameNode中的数据保持同步,处理来自客户端的读请求。 DataNode 用于存储每个文件的“数据块”数据,并且会周期性地向NameNode报告该DataNode的数据存放情况。 JournalNode HA集群下,用于同步主备NameNode之间的元数据信息。 ZKFC ZKFC是需要和NameNode一一对应的服务,即每个NameNode都需要部署ZKFC。它负责监控NameNode的状态,并及时把状态写入ZooKeeper。ZKFC也有选择谁作为Active NameNode的权利。 ZK Cluster ZooKeeper是一个协调服务,帮助ZKFC执行主NameNode的选举。 HttpFS gateway HttpFS是个单独无状态的gateway进程,对外提供webHDFS接口,对HDFS使用FileSystem接口对接。可用于不同Hadoop版本间的数据传输,及用于访问在防火墙后的HDFS(HttpFS用作gateway)。 HDFS HA架构 HA即为High Availability,用于解决NameNode单点故障问题,该特性通过主备的方式为主NameNode提供一个备用者,一旦主NameNode出现故障,可以迅速切换至备NameNode,从而不间断对外提供服务。 在一个典型HDFS HA场景中,通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。 为了能实现Active和Standby两个NameNode的元数据信息同步,需提供一个共享存储系统。本版本提供基于QJM(Quorum Journal Manager)的HA解决方案,如图2所示。主备NameNode之间通过一组JournalNode同步元数据信息。 通常配置奇数个(2N+1个)JournalNode,且最少要运行3个JournalNode。这样,一条元数据更新消息只要有N+1个JournalNode写入成功就认为数据写入成功,此时最多容忍N个JournalNode写入失败。比如,3个JournalNode时,最多允许1个JournalNode写入失败,5个JournalNode时,最多允许2个JournalNode写入失败。 由于JournalNode是一个轻量级的守护进程,可以与Hadoop其它服务共用机器。建议将JournalNode部署在控制节点上,以避免数据节点在进行大数据量传输时引起JournalNode写入失败。 图2 基于QJM的HDFS架构
-
特性简介 大数据集群运行过程中经常会进行如下操作: 大数据集群变更,比如扩容、缩容集群。 业务数据量突然变化,集群触发弹性伸缩。 相关业务结束,需要终止大数据集群等。 用户想要及时得知这些操作是否执行成功,以及当集群出现大数据服务不可用,或节点故障时,用户希望不用频繁登录集群查看,就可以及时地收到告警通知。MRS联合消息通知服务(SMN),可以将以上信息主动地通知到用户的手机及邮箱,让维护更加省心省力。
-
HetuEngine结构 HetuEngine包含不同模块,整体结构如图1所示。 图1 HetuEngine结构图 表1 各模块说明 模块名称 常见概念名称 描述 云服务层 HetuEngine CLI/JDBC HetuEngine的客户端,使用者通过客户端向服务端提交查询请求,然后将执行结果取回并展示。 HSBroker HetuEngine的服务管理,用作计算实例的资源管理校验,健康监控与自动维护等。 HSConsole 对外提供数据源信息管理,计算实例管理,自动化任务的查看等功能的可视化操作界面和RESTful接口。 HSFabric 提供跨域(DC)高性能安全数据传输。 引擎层 Coordinator HetuEngine计算实例的管理节点,提供SQL接收、SQL解析、生成执行计划、执行计划优化、分派任务和资源调度等能力。 Worker HetuEngine计算实例的工作节点,提供数据源数据并行拉取,分布式SQL计算等能力。
-
节点隔离 当用户发现某个主机出现异常或故障,无法提供服务或影响集群整体性能时,可以临时将主机从集群可用节点排除,使客户端访问其他可用的正常节点。 在为MRS集群安装补丁的场景中,也支持排除指定节点不安装补丁。 隔离主机仅支持隔离MRS集群内的非管理节点。 主机隔离后该主机上的所有角色实例将被停止,且不能对主机及主机上的所有实例进行启动、停止和配置等操作。 主机隔离后无法统计并显示该主机硬件和主机上实例的监控状态及指标数据。 更多关于MRS集群节点隔离操作,请参考隔离MRS集群节点。 父主题: 集群管理
-
Hudi支持三种视图,针对不同场景提供相应的读能力 Snapshot View 实时视图:该视图提供当前hudi表最新的快照数据,即一旦有最新的数据写入hudi表,通过该视图就可以查出刚写入的新数据。 cow表和mor均支持这种视图能力。 Incremental View 增量视图:该视图提供增量查询的能力,可以查询指定COMMIT之后的增量数据,可用于快速拉取增量数据。 cow表支持该种视图能力, mor表也可以支持该视图,但是一旦mor表完成compact操作其增量视图能力消失。 Read Optimized View 读优化视图:该视图只会提供最新版本的parquet文件中存储的数据。 该视图在cow表和mor表上表现不同: 对于cow表,该视图能力和实时视图能力是一样的(cow表只用parquet文件存数据)。 对于mor表,仅访问基本文件,提供给定文件片自上次执行compact操作以来的数据, 可简单理解为该视图只会提供mor表parquet文件存储的数据,log文件里面的数据将被忽略。 该视图数据并不一定是最新的,但是mor表一旦完成compact操作,增量log数据被合入到了base数据里面,这个时候该视图和实时视图能力一样。
-
Hudi支持两种表类型 Copy On Write 写时复制表也简称cow表,使用parquet文件存储数据,内部的更新操作需要通过重写原始parquet文件完成。 优点:读取时,只读取对应分区的一个数据文件即可,较为高效。 缺点:数据写入的时候,需要复制一个先前的副本再在其基础上生成新的数据文件,这个过程比较耗时。且由于耗时,读请求读取到的数据相对就会滞后。 Merge On Read 读时合并表也简称mor表,使用列格式parquet和行格式Avro两种方式混合存储数据。其中parquet格式文件用于存储基础数据,Avro格式文件(也可叫做log文件)用于存储增量数据。 优点:由于写入数据先写delta log,且delta log较小,所以写入成本较低。 缺点:需要定期合并整理compact,否则碎片文件较多。读取性能较差,因为需要将delta log和老数据文件合并。
-
特性简介 随着企业的数据越来越多,越来越多的企业选择使用Spark/Hive等技术来进行分析,由于数据量大,任务处理繁重,资源消耗较高,因此使用成本也越来越高。当前并不是每个企业在每时每刻在进行分析,而一般是在一天的一个时间段内进行分析汇总,因此MRS提供了弹性伸缩能力,可以自动在业务在繁忙时申请额外资源,业务不繁忙时释放闲置资源,让用户按需使用,尽可能的帮助客户降低使用成本,聚焦核心业务。 在大数据应用,尤其是周期性的数据分析处理场景中,需要根据业务数据的周期变化,动态调整集群计算资源以满足业务需要。MRS的弹性伸缩规则功能支持根据集群负载对集群进行弹性伸缩。此外,如果数据量为周期有规律的变化,并且希望在数据量变化前提前完成集群的扩缩容,可以使用MRS的资源计划特性。 MRS服务支持规则和时间计划两种弹性伸缩的策略: 弹性伸缩规则:根据集群实时负载对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。 资源计划:若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。 弹性伸缩规则与资源计划均可触发弹性伸缩,两者既可同时配置也可单独配置。资源计划与基于负载的弹性伸缩规则叠加使用可以使得集群节点的弹性更好,足以应对偶尔超出预期的数据峰值出现。 当某些业务场景要求在集群扩缩容之后,根据节点数量的变化对资源分配或业务逻辑进行更改时,手动扩缩容的场景需要用户登录集群节点进行操作。对于弹性伸缩场景,MRS支持通过自定义弹性伸缩自动化脚本来解决。自动化脚本可以在弹性伸缩前后执行相应操作,自动适应业务负载的变化,免去了人工操作。同时,自动化脚本给用户实现个性需求提供了途径,完全自定义的脚本与多个可选的执行时机基本可以满足用户的各项需求,使弹性伸缩更具灵活性。
-
客户价值 MRS的自动弹性伸缩可以帮助用户实现以下价值。 降低使用成本 部分企业并不是时刻都在进行批量分析,例如一般情况下数据持续接入,而到了特定时间段(例如凌晨3点)进行批量分析,可能仅需要消耗2小时。 MRS提供的弹性伸缩能力,可以帮助用户在进行批量分析操作时,将分析节点扩容到指定规模,而计算完毕后,则自动释放计算节点,尽可能的降低使用成本。 平衡突发查询 大数据集群上,由于有大量的数据,企业会经常面临临时的分析任务,例如支撑企业决策的临时数据报表等,都会导致对于资源的消耗在极短时间内剧增。MRS提供的弹性伸缩能力,可以在突发大数据分析时,及时补充计算节点,避免因为计算能力不足,导致业务宕机。用户无需手动购买额外资源,当突发事件结束后,MRS会自动判断缩容时机,自动完成缩容。 聚焦核心业务 大数据作为二次开发平台,开发人员时常难以判断具体的资源消耗,由于查询分析的条件复杂性(例如全局排序,过滤,合并等)以及数据的复杂性(例如增量数据的不确定性等),都会导致预估计算量难以进行,而使用弹性伸缩能力,可以让业务人员专注于业务开发,无需分心再做各种资源评估。 更多关于MRS集群Task节点弹性伸缩配置,请参考MRS集群Task节点弹性伸缩。
-
HBase结构 HBase集群由主备Master进程和多个RegionServer进程组成。如图1所示。 图1 HBase结构 表1 模块说明 名称 描述 Master 又叫HMaster,在HA模式下,包含主用Master和备用Master。 主用Master:负责HBase中RegionServer的管理,包括表的增、删、改、查;RegionServer的负载均衡,Region分布调整;Region分裂以及分裂后的Region分配;RegionServer失效后的Region迁移等。 备用Master:当主用Master故障时,备用Master将取代主用Master对外提供服务。故障恢复后,原主用Master降为备用。 Client Client使用HBase的RPC机制与Master、RegionServer进行通信。Client与Master进行管理类通信,与RegionServer进行数据操作类通信。 RegionServer RegionServer负责提供表数据读写等服务,是HBase的数据处理和计算单元。 RegionServer一般与HDFS集群的DataNode部署在一起,实现数据的存储功能。 ZooKeeper集群 ZooKeeper为HBase集群中各进程提供分布式协作服务。各RegionServer将信息注册到ZooKeeper中,主用Master据此感知各个RegionServer的健康状态。 HDFS集群 HDFS为HBase提供高可靠的文件存储服务,HBase的数据全部存储在HDFS中。
-
HBase原理 HBase数据模型 HBase以表的形式存储数据,数据模型如图 HBase数据模型所示。表中的数据划分为多个Region,并由Master分配给对应的RegionServer进行管理。 每个Region包含了表中一段RowKey区间范围内的数据,HBase的一张数据表开始只包含一个Region,随着表中数据的增多,当一个Region的大小达到容量上限后会分裂成两个Region。可以在创建表时定义Region的RowKey区间,或者在配置文件中定义Region的大小。 图2 HBase数据模型 表2 概念介绍 名称 描述 RowKey 行键,相当于关系表的主键,每一行数据的唯一标识。字符串、整数、二进制串都可以作为RowKey。所有记录按照RowKey排序后存储。 Timestamp 每次数据操作对应的时间戳,数据按时间戳区分版本,每个Cell的多个版本的数据按时间倒序存储。 Cell HBase最小的存储单元,由Key和Value组成。Key由row、column family、column qualifier、timestamp、type、MVCC version这6个字段组成。Value就是对应存储的二进制数据对象。 Column Family 列族,一个表在水平方向上由一个或多个Column Family组成。一个CF(Column Family)可以由任意多个Column组成。Column是CF下的一个标签,可以在写入数据时任意添加,因此CF支持动态扩展,无需预先定义Column的数量和类型。HBase中表的列非常稀疏,不同行的列的个数和类型都可以不同。此外,每个CF都有独立的生存周期(TTL)。可以只对行上锁,对行的操作始终是原始的。 Column 与传统的数据库类似,HBase的表中也有列的概念,列用于表示相同类型的数据。 RegionServer数据存储 RegionServer主要负责管理由HMaster分配的Region,RegionServer的数据存储结构如图 RegionServer的数据存储结构所示。 图3 RegionServer的数据存储结构 图 RegionServer的数据存储结构中Region的各部分的说明如表 Region结构说明所示。 表3 Region结构说明 名称 描述 Store 一个Region由一个或多个Store组成,每个Store对应图 HBase数据模型中的一个Column Family。 MemStore 一个Store包含一个MemStore,MemStore缓存客户端向Region插入的数据,当RegionServer中的MemStore大小达到配置的容量上限时,RegionServer会将MemStore中的数据flush到HDFS中。 StoreFile MemStore的数据flush到HDFS后成为StoreFile,随着数据的插入,一个Store会产生多个StoreFile,当StoreFile的个数达到配置的最大值时,RegionServer会将多个StoreFile合并为一个大的StoreFile。 HFile HFile定义了StoreFile在文件系统中的存储格式,它是当前HBase系统中StoreFile的具体实现。 HLog HLog日志保证了当RegionServer故障的情况下用户写入的数据不丢失,RegionServer的多个Region共享一个相同的HLog。 元数据表 元数据表是HBase中一种特殊的表,用来帮助Client定位到具体的Region。元数据表包括“hbase:meta”表,用于记录用户表的Region信息,例如,Region位置、起始RowKey及结束RowKey等信息。 元数据表和用户表的映射关系如图 元数据表和用户表的映射关系所示。 图4 元数据表和用户表的映射关系 数据操作流程 HBase数据操作流程如图 数据操作流程所示。 图5 数据操作流程 对HBase进行增、删、改、查数据操作时,HBase Client首先连接ZooKeeper获得“hbase:meta”表所在的RegionServer的信息(涉及NameSpace级别修改的,比如创建表、删除表需要访问HMaster更新meta信息)。 HBase Client连接到包含对应的“hbase:meta”表的Region所在的RegionServer,并获得相应的用户表的Region所在的RegionServer位置信息。 HBase Client连接到对应的用户表Region所在的RegionServer,并将数据操作命令发送给该RegionServer,RegionServer接收并执行该命令从而完成本次数据操作。 为了提升数据操作的效率,HBase Client会在内存中缓存“hbase:meta”和用户表Region的信息,当应用程序发起下一次数据操作时,HBase Client会首先从内存中获取这些信息;当未在内存缓存中找到对应数据信息时,HBase Client会重复上述操作。
-
Oozie原理 Oozie是一个工作流引擎服务器,用于运行MapReduce任务工作流。同时Oozie还是一个Java Web程序,运行在Tomcat容器中。 Oozie工作流通过HPDL(一种通过XML自定义处理的语言,类似JBOSS JBPM的JPDL)来构造。包含“Control Node”(可控制的工作流节点)、“Action Node”。 “Control Node”用于控制工作流的编排,如“start”(开始)、“end”(关闭)、“error”(异常场景)、“decision”(选择)、“fork”(并行)、“join”(合并)等。 Oozie工作流中拥有多个“Action Node”,如MapReduce、Java等。 所有的“Action Node”以有向无环图DAG(Direct Acyclic Graph)的模式部署运行。所以在“Action Node”的运行步骤上是有方向的,当上一个“Action Node”运行完成后才能运行下一个“Action Node”。一旦当前“Action Node”完成,远程服务器将回调Oozie的接口,这时Oozie又会以同样的方式执行工作流中的下一个“Action Node”,直到工作流中所有“Action Node”都完成(完成包括失败)。 Oozie工作流提供各种类型的“Action Node”用于支持不同的业务需要,如MapReduce,HDFS,SSH,Java以及Oozie子流程。
-
Oozie结构 Oozie引擎是一个Web App应用,默认集成到Tomcat中,采用pg数据库。 基于Ext提供WEB Console,该Console仅提供对Oozie工作流的查看和监控功能。通过Oozie对外提REST方式的WS接口,Oozie client通过该接口控制(启动、停止等操作)Workflow流程,从而编排、运行Hadoop MapReduce任务,如图1所示。 图1 Oozie框架 图1中各部分的功能说明如表1所示。 表1 结构图说明 名称 描述 Console 提供对Oozie流程的查看和监控功能。 Client 通过接口控制Workflow流程:可以执行提交流程,启动流程,运行流程,终止流程,恢复流程等操作。 SDK 软件开发工具包SDK(SoftwareDevelopmentKit)是被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。 Database pg数据库。 WebApp(Oozie) WebApp(Oozie)即Oozie server,可以用内置的Tomcat容器,也可以用外部的,记录的信息比如日志等放在pg数据库中。 Tomcat Tomcat服务器是免费的开放源代码的Web应用服务器。 Hadoop组件 底层执行Oozie编排流程的各个组件,包括MapReduce、Hive等。
-
特性简介 MRS提供标准的云上弹性大数据集群,目前可安装部署包括Hadoop、Spark等大数据组件。当前标准的云上大数据集群不能满足所有用户需求,例如如下几种场景: 通用的操作系统配置不能满足实际数据处理需求,例如需调大系统最大连接数。 需要安装自身业务所需的软件工具或运行环境,例如需安装Gradle、业务需要依赖R语言包。 根据自身业务对大数据组件包做修改,例如对Hadoop或Spark安装包做修改。 需要安装其他MRS还未支持的大数据组件。 对于上述定制化的场景,可以选择登录到每个节点上手动操作,之后每扩容一个新节点,再执行一次同样的操作,操作相对繁琐,也容易出错。同时手动执行记录不便追溯,不能实现“按需创建、创建成功后即处理数据”的目标。 因此,MRS提供了自定义引导操作,在启动集群组件前(或后)可以在指定的节点上执行脚本。用户可以通过引导操作来完成安装MRS还没支持的第三方软件,修改集群运行环境等自定义操作。如果集群扩容,选择执行引导操作,则引导操作也会以相同方式在新增节点上执行。MRS会使用root用户执行用户指定的脚本,脚本内部可以通过su - xxx命令切换用户。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- ...
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333