任务管理器

任务管理器,第1张

如果您定期运行跟踪并且保留所有结果以便进行历史趋势分析 那么通过跟踪捕获的数据的价值将大大增加 但是 存储空间很快会成为约束 我们的主要生产服务器每小时执行 百万个事务 而持续时间为 分钟的跟踪会创建 GB 大小的跟踪文件 我们的系统致力于整理所有数据并且只保存其精华 您可以安排任何服务器的特定跟踪(或者设置循环跟踪) 并且自动加载和处理跟踪文件 正如您上个月所看到的那样 我们的系统从 T SQL 中剔除了不重要的详细信息 从而将事务类型减少到可管理的数量 并且生成和保存了开销最大的事务的报表 在经过几个周的积累之后 这样的报表可以提供对整个服务器或任何特定事务类型进行性能趋势分析的数据 安装 您可以将我们的系统安装在任何已经将服务器连接链接到您希望运行跟踪的所有 SQL Server 的网络 SQL Server 上 因此 为了保存跟踪文件 必须可以从被跟踪的服务器通过网络对该中心服务器的硬盘驱动器进行访问 中心跟踪服务器充当所有跟踪的计划程序 数据处理器 循环报表的发布者 历史数据的储存库以及 DBA 可以生成即席报表和进行性能调查的分析服务器 该设计将对被跟踪的服务器的影响降低至最低程度 并且最大限度降低了由于造成磁盘空间不足或引起处理开销而破坏这些服务器的工作的可能性 您还可以直接在每个被跟踪的服务器上安装和使用该系统 — 只要该服务器具有足够的磁盘空间和处理能力 出于本文的目的 让我们将我们的中心跟踪服务器称为 TRACESQL 并且将我们的被跟踪的服务器称为 PRODSQL 如果您计划使用同一服务器来跟踪其本身 则请用同一名称来替换 TRACESQL 和 PRODSQL 下面介绍如何安装 OpenSQLTrace 如果您打算只跟踪已经安装 OpenSQLTrace 的同一服务器(换句话说 TRACESQL 和 PRODSQL 是同一服务器) 则请跳过步骤 和 配置从 TRACESQL 到 PRODSQL 的链接服务器连接 它必须允许具有启动用来管理服务器端跟踪的系统存储过程的权限 最容易的方法是使用在 PRODSQL 上具有 System Administrator 角色的帐户 但是您显然需要考虑您的特定环境中的安全要求 查明哪个帐户被用来在 PRODSQL 上运行 MSSQLServer 服务 它必须是网络帐户 在 TRACESQL 上选择一个硬盘驱动器分区以用来存储跟踪文件 它必须具有足够的空间 以容纳来自 PRODSQL 的跟踪文件 — 大小很可能为几个 GB 但是 正如别人所说的那样 每个人需要的空间可能有所不同 跟踪文件大小取决于服务器活动 事务混合和跟踪的持续时间 如果 TRACESQL 和 PRODSQL 是不同的服务器 则请在 TRACESQL 上 在您所选的驱动器上创建一个名为 TRACE 的共享文件夹 并且将该共享上的所有权限授予在 PRODSQL 上运行 MSSQLServer 服务的网络帐户 在 TRACESQL 上创建一个名为 Trace 的数据库 分配足够空间以存储多个完整的跟踪文件 另外 还要分配一点儿额外的空间 以存放所保存的报表 将存储在数据库中的跟踪文件的过期时间是可配置的 在我们的环境中 我们只将它们保留一个周 但是我们无限期地保留已编译的摘要报表 以便进行历史趋势分析 下载本文随附的 OpenSQLTrace sql 脚本 并且从 TRACESQL 服务器上的查询分析器中执行它 这会在 Trace 数据库中创建所有需要的对象 并且创建一个每天安排一次的作业以清除过期的跟踪表 (如果您先前已经在同一数据库中安装了该系统 则请注意 该脚本删除并重新创建了所有对象 包括已保存的数据 但未过期的跟踪表除外 ) 如果 TRACESQL 和 PRODSQL 是同一服务器 则改变在上一步中创建的用户定义函数 ufn_Trace_File_Name 更改以下行 return( \\ + rtrim( @@servername ) + \TRACE\ +以使用您在步骤 中创建的 TRACE 文件夹的硬编码路径 确切的路径取决于您的环境 例如 如果您在驱动器 D: 上创建了 TRACE 文件夹 则请按如下方式更改代码 return( D:\TRACE\ + 用法示例 上个月的文章提供了有关提炼跟踪文件和生成摘要报表的存储过程的用法示例 请注意 可下载的新脚本具有 Calculate_Most_Expensive_Transactions 过程的重命名版本 新的名称为 Calculate_Hit_Parade 本月的脚本公开了由以下示例说明的新功能 设置带有摘要处理的一次性无人参与跟踪 为了测试该系统 让我们设置一次性跟踪 从 TRACESQL 上的查询分析器中执行以下过程 Schedule_Trace PRODSQL default 这会在 TRACESQL 上安排一个在两分钟内运行的作业 在 PRODSQL 上启动一个运行一分钟的跟踪 并且将文件保存到 TRACESQL 上的 TRACE 共享中 它还将在 TRACESQL 上安排另一个作业以便在跟踪的估计结束时间之后运行 分钟 将文件加载到 Trace 数据库中的表中 提炼已记录的 T SQL 语句(有关详细信息 请参阅上个月的文章) 生成开销最大的事务的摘要 并且将其保存到 Trace 数据库中的表中 (提示 您可以使用 fn_trace_getinfo() 来监视跟踪进度 )这两个作业在成功完成后都将自动删除它们自身 如果您迫不及待地希望更快地运行该测试 则可以手动启动安排的第一个作业 等待一分钟(跟踪持续时间) 然后手动启动第二个作业 在第二个作业完成后 您便能够在 Trace 数据库的 Hit_Parade_Archive 表中找到已保存的开销最大的事务的报表 并且使用存储过程 Retrieve_Report 来检索它 默认情况下 系统会记录 T SQL 批处理和远程过程调用的完成 如果您希望记录其他跟踪事件 或者更进一步并分别记录在存储过程内部执行的每个查询 则需要通过 @Event_Class_Filter 参数向 Schedule_Trace 提供事件列表 安排每日跟踪 如果您需要每天运行跟踪 则可以如前所述安排一个跟踪(只须指定预期跟踪启动时间而不是默认时间 并且指定预期持续时间而不是一分钟) 然后 手动更改所安排的两个作业(运行跟踪和处理跟踪)的属性 以设置每天执行而不是一次性执行的计划 同时 在 EM 的已安排作业对话框中取消选中 Notifications 选项卡上的 Automatically delete job 选项 以防止作业在完成后删除它们自身(通过 Schedule_Trace 设置的默认行为) 检索和分析摘要报表 要检索任何跟踪的摘要报表 需要知道用来加载数据的跟踪表名称 跟踪表在过期(该参数可配置)时被自动从 TRACE 数据库中删除 但是从它们中提取的报表总是 与原来的表名称相关联 (Trace_Directory 表包含所有已处理的跟踪表的目录 )可以按照服务器名称和跟踪时间查找跟踪表名称 执行以下存储过程以检索一个摘要报表 Retrieve_Report <Trace_Table_Name> 您可以在上个月的文章中查看示例摘要报表 我们通常将这些报表复制并粘贴到 Excel 中(在本月的下载中包含其中一个报表) 在那里可以容易地对数据进行排序和分析 在我们的环境中 我们还创建了一个 DTS 软件包 以便将开销最大的事务的日常报表以电子表格格式自动发布到网络共享 开发人员可以访问该报表 以查看他们的存储过程是如何执行的并且识别瓶颈 [我为作者为开发人员反馈所做的准备以及负责任的态度而喝采 — 编者 ]按聚合类型获得事务的实际源代码 在您识别开销最大的事务类型之后 您就可能希望查看在一个类型下聚合的所有事务的未经提炼的实际 T SQL 代码 为了完成该 下钻 工作 请执行以下存储过程 Report_TSQL_by_ID <Trace_Table_Name> <SQL_Type_ID>其中 <SQL_Type_ID>是从指定为<Trace_Table_Name> 的跟踪表派生的摘要报表中的事务类型的数字 ID 比较两个报表 最有效的分析方法之一是并排比较两个不同的摘要报表 您可能希望比较同一服务器的两个不同跟踪的性能 或者比较具有相同事务混合的两个不同服务器的性能 存储过程 Compare_Reports 采用两个跟踪表(来自 Trace_Directory 表)的名称作为参数 并且比较它们的已保存的报表 对于每个事务类型 它都会显示来自第一个跟踪和第二个跟踪的统计信息以及绝对和相对差异 只有当您在两个报表中跟踪相同的事件类型时 对这两个报表进行比较才会有意义 在我们的环境中 我们在同一时间 同一服务器上使跟踪运行相同的分钟数 从而使逐日比较显得合理 但是 我们可以想到很多分析任务会要求比较两个不同服务器中的跟踪 或者比较在每天的不同时间执行的跟踪 我们将跟踪比较报表复制并保存到 Excel 中 以便进行进一步的分析 它们可以帮助我们回答如下问题 事务混合中发生了哪些可能导致性能下降的更改?哪些事务的处理开销变得更大?同一服务器上的特定存储过程的执行频率或平均持续时间在两个日期之间是如何更改的?摘要报表中出现了哪些新的事务类型?在两个跟踪之间如何比较特定事务类型的 I/O 和 CPU 开销?从所有已保存的报表中检索特定事务类型的历史记录 有时 您可能希望查看特定事务的性能是如何随着时间的推移而变化的(例如 当您调查瓶颈事务 需要分析并且可能需要以图形方式表示响应速度随着时间的推移而发生的下降或提高时) 我们还使用它来验证应用于存储过程的修改是否的确已经改善了它们的性能 我们每天为我们的主要生产服务器运行跟踪并且保存所有报表 经过几个月的收集 该信息使我们可以为我们希望调查的任何 lishixinzhi/Article/program/SQLServer/201311/22044

首先,盒子翻转法线后,还需要配合灯光照明,才能让场景亮起来,你可以在Top(俯视)视图中在盒子的左上方和右下方各加一盏Omini(泛光灯),在Front(前视图)中,也将其对角放置,这样场景就亮起来了。点击Rendering Scene(渲染场景)面板,在d出的面板中Render net(网络渲染)选项勾选掉,即可。

Microsoft SQL Server 2000 的内存管理组件消除了对 SQL Server 可用的内存进行手工管理的需要。SQL Server 在启动时根据 *** 作系统和其它应用程序当前正在使用的内存量,动态确定应分配的内存量。当计算机和SQL Server 上的负荷更改时,分配的内存也随之更改。有关更多信息,请参见内存构架。
下列服务器配置选项可用于配置内存使用并影响服务器性能:
min server memory
max server memory
max worker threads
index create memory
min memory per query

min server memory 服务器配置选项可用于确保 SQL Server 至少以最小的分配内存量启动,并且内存低于该值时不会释放内存。可以基于 SQL Server 的大小及活动将该配置选项设置为特定的值。始终将 min server memory 服务器配置选项设置为某个合理的值,以确保 *** 作系统不向 SQL Server 请求太多内存而影响 SQL Server 性能。
max server memory 服务器配置选项可用于:在 SQL Server 启动及运行时,指定 SQL Server 可以分配的最大内存量。如果知道有多个应用程序与 SQL Server 同时运行,而且想保障这些应用程序有足够的内存运行,可以将该配置选项设置为特定的值。如果这些其它应用程序(如 Web 服务器或电子邮件服务器)只根据需要请求内存,则 SQL Server 将根据需要给它们释放内存,因此不要设置 max server memory 服务器配置选项。然而,应用程序通常在启动时不假选择地使用可用内存,而如果需要更多内存也不请求。如果有这种行为方式的应用程序与 SQL Server 同时运行在相同的计算机上,则将 max server memory 服务器配置选项设置为特定的值,以保障应用程序所需的内存不由 SQL Server 分配出。
不要将 min server memory 和 max server memory 服务器配置选项设置为相同的值,这样做会使分配给 SQL Server 的内存量固定。动态内存分配可以随时间提供最佳的总体性能。有关更多信息,请参见服务器内存选项。
max worker threads 服务器配置选项可用于指定为用户连接到 SQL Server 提供支持的线程数。255 这一默认设置对一些配置可能稍微偏高,这要具体取决于并发用户数。由于每个工作线程都已分配,因此即使线程没有正在使用(因为并发连接比分配的工作线程少),可由其它 *** 作(如高速缓冲存储器)更好地利用的内存资源也可能是未使用的。一般情况下,应将该配置值设置为并发连接数,但不能超过 1,024。有关更多信息,请参见max worker threads 选项。
说明当 SQL Server 运行在 Microsoft Windowsreg; 95 或 Microsoft Windows 98 上时,最大工作线程服务器配置选项不起作用。
index create memory 服务器配置选项控制创建索引时排序 *** 作所使用的内存量。在生产系统上创建索引通常是不常执行的任务,通常调度为在非峰值时间执行的作业。因此,不常创建索引且在非峰值时间时,增加该值可提高索引创建的性能。不过,最好将 min memory per query 配置选项保持在一个较低的值,这样即使所有请求的内存都不可用,索引创建作业仍能开始。有关更多信息,请参见 index create memory 选项。
min memory per query 服务器配置选项可用于指定分配给查询执行的最小内存量。当系统内有许多查询并发执行时,增大 min memory per query 的值有助于提高消耗大量内存的查询(如大型排序和哈希 *** 作)的性能。不过,不要将 min memory per query 服务器配置选项设置得太高,尤其是在很忙的系统上,因为查询将不得不等到能确保占有请求的最小内存、或等到超过 query wait 服务器配置选项内所指定的值。如果可用内存比执行查询所需的指定最小内存多,则只要查询能对多出的内存加以有效的利用,就可以使用多出的内存。
附实例一篇:
最近,为了能在数据库服务器中运行其他应用程序,在保持数据库 *** 作系统版本不变的前提下对数据库服务器进行了软、硬件上的升级。在软件上,将 *** 作系统从Windows 2000升级到Windows Server 2003;在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB)。
在升级后的开始几个星期之内,服务器在使用中表现良好。但是不久后就发现,在服务器上同时运行的其他应用程序却出现了异常,不时地报出内存分配不足的警告。经过几次跟踪后发现,原来是SQL Server吞去了大部分内存所致。被SQL Server占用的内存由升级前的不到400MB一下子增加到现在的900MB,并且有不断增长的趋势。
通过查找原因才知道这是SQL Server 缓冲池的预期行为。默认情况下,在启动 SQL Server之后,SQL Server会根据 *** 作系统报告的物理内存数来动态增大或缩小高速缓冲存储器的容量。只要可用物理内存大小保持在4MB到10MB之间,SQL Server 缓冲池就会继续增大(保留可用物理内存在4MB到10MB之间是为了避免 *** 作系统因为缺少内存而频繁地换页)。如果物理可用内存变得较少的时候,则SQL Server会将一些内存释放给 *** 作系统。
为了使运行在服务器上的应用程序都能达到比较满意的效果,同时也为了能给其他应用程序分配足够的内存,需要采取措施限制SQL Server 的内存使用量。我们可以通过设置SQL Server 数据库引擎使用的内存的上下限来达到此目的。其具体步骤是:
1打开企业管理器,展开服务器组。
2单击该服务器,点击鼠标右键,单击属性菜单。
3在d出的对话框中单击内存选项卡。
内存设置方法有两种:
1设置min server memory和max server memory 在一个范围段内。
比如,我们将它设置成最小0MB,最大255MB。这种方法在为一台服务器中运行多个应用程序分配内存时非常有用。
2设置 min server memory 和 max server memory 为同一数值。
比如,可以将它最大和最小值都设置成255MB。这样的设置方法与窗口中的另一个选项“使用固定的内存大小” 相一致。
虽然内存最小值和最大值设置是高级选项,但在设置完毕之后,最好还是先将SQL Server服务停止后再重新运行,以便SQL Server能更好地对内存进行合理安排。

您好,地下城服务器管理可以查看我的信息,包括我的硬件配置,网络连接,程序运行状态,数据库状态,系统负载状态,系统日志,系统安全状态,系统资源使用情况,服务器性能状态,服务器安全状态,服务器稳定性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务器可靠性,服务器可用性,服务

并行查询其优势就是可以通过多个线程来处理查询作业 从而提高查询的效率 SQL Server数据库为具有多个CPU的数据库服务器提供并行查询的功能 以优化查询作业的性能 也就是说 只要数据库服务器有多个CPU 则数据库系统就可以使用多个 *** 作系统进程并行执行查询 *** 作 来加速完成查询作业

一 并行查询三步走

并行查询作业在数据库中 主要经过三个步骤

首先 数据库会判断是否需要进行并行查询 在数据库中有一个查询优化器 会对SQL语句进行优化 然后数据库才会去执行查询语句 而这个查询器在对SQL语句进行查询优化时 其中一个动作就是判断是否需要对SQL语句进行查询优化 也就是说 并不是所有的SQL查询语句都可以从并行查询中获取收益 如果查询优化器认为查询语句可以从并行查询中获取收益的话 则就会将交换运算符插入到查询执行计划中 为并行查询做准备 故哪些语句需要采用并行查询 哪些不需要 这不用数据库管理员关心 数据库查询优化器会帮管理员作出这个决定 数据库管理员需要清楚的是 在哪些情况下 数据库SQL优化器会认为不宜采用并行查询 通常情况下 只要满足以下条件的任何一个 则就不会执行并行查询 一是对于特定的查询 查询优化器认为串行查询执行计划要快于任何可能的并行执行计划;二是查询的串行执行成本并不高 不需要进行并行查询;三是查询中包含无法并行运行的标量运算符或者关系运算符 若从数据库管理员的角度讲 第三个条件对我们具有最大的影响 当数据库预计未来可能利用并行查询来提高数据库性能时 则在数据库设计时 就需要注意避免使用那些无法在并行查询功能中使用的运算符 因为某些关系运算符或者逻辑运算符可能会要求查询计划一定要在串行模式中进行 或者部分需要在串行模式下进行 如此的话 查询优化器就不会利用并行查询功能来提高查询语句的性能 这是数据库管理员在数据库设计时必须要考虑到的一个细节问题

其次 确定并行的进程数 当查询优化器在查询语句中插入交叉运算符之后 数据库就会执行并行查询 并行查询在执行计划时可以使用多个线程 此时 就又遇到了一个问题 数据库会把这个查询作业分成几个进程 *** 作呢此时 数据库管理员就需要知道上什么叫做并行度 其实 在处理并行查询的时候 数据需要知道最大可使用的进程与实际使用的进程 而最大可使用的进程就叫做并行度 这个并行度的值是在服务器级别中进行设置 也可以通过系统存储过程来进行修改 但是 最大可使用进程数不一定等于实际是用进程数 实际是用进程数是数据库在查询计划执行时初始化的时候确定的 也就是说 这不用数据库管理员去额外的设定 数据库系统会自动根据计划的复杂程度来确定合理的进程数目 当然其实际采用的进程数不能够超过并行度 即最大可以使用的进程数

最后执行查询 当以上内容确定好之后 数据库就会执行具体的查询语句 在这一步中 需要注意一个问题 数据库管理员还可以在查询语句中指定MAXDOP查询提示来修改这个进度值 也就是说 如果某个查询作业数据库管理员认为可能会耗时比较久 就可以为这个查询作业设置比较大的进度值 当利用MAXDOP查询提示设置这个并行进度值之后 它会覆盖预先设置的默认值 从而实现针对单个查询语句设置额外的进度值 以提高某些特殊查询作业的性能

二 并行查询中需要注意的内容

注意点一 需要注意硬件方面的限制

并行查询是数据库提高查询性能的一个有力举措 不过其往往受到比较大的约束 如上面提高的一些基于成本考虑之外 还有一些硬性的限制 如通常情况下 只有在数据库服务器有多个微处理器(CPU )的情况下数据库才会考虑执行并行查询 也就是受 只有具有多个CPU的计算机才能够使用并行查询 这是一个硬性的限制条件 另外在查询计划执行过程中 数据库还会判断当时是否有足够多的线程可以使用 每个查询 *** 作都要求一定的线程数才能够执行;而且执行并行计划比执行串行计划需要更多的线程 所需要的线程数也会随着并行度的提高而提高 如果在并行计划执行的时候 当时数据库服务器没有足够的线程让并行计划使用的话 数据库引擎就会自动减少并行度 甚至会放弃并行查询而改为串行计划 所以说 数据库是否能够执行并行查询 要受到其硬件的限制 为此 如果企业真的需要通过并行查询来提高数据库性能的话 则管理员就需要根据情况来调整硬件配置

注意点二 不建议对所有查询都使用并行查询

通常情况下 笔者认为最好只对大型表的连接查询 大量数据的聚合 *** 作 大型结果集的重复排序等等 *** 作才应用并行查询的功能 如果在这些 *** 作上执行并行查询的话 那么其改善数据库性能的效果是非常明显的 相反 如果对于简单查询执行并行查询的话 可能执行并行查询所需要的额外协调工作会大于其潜在的性能提升 所以 数据库管理员在确定是否需要执行并行查询功能的话 需要慎重 笔者的建议是 在数据库服务器级别上 最好不要设置并行查询 即把并行度设置为 或者一个比较小的值 然后对于一些特殊的查询 *** 作 利用MAXDOP查询提示来设置最大的可使用进程数 如此的话 可能会更加的合理 如果有时候数据库管理员不知道是否需要采用并行查询功能的话 则可以通过数据库自带的统计功能进行判断 为了区别并行查询计划到底有没有从并行查询中受益 数据库引擎可以将执行查询的估计开销与并行查询的开销阀值进行比较 并行计划只有对需时较长的查询通常更加有益;因为其性能优势将抵消初始化 同步和终止并行计划所需的额外时间开销

注意点三 数据库会根据查询所涉及到的行数来判断是否要并行查询

上面谈到 最好对大型表的连接查询 大量数据的聚合 *** 作 大型结果集的重复排序等等 *** 作才应用并行查询的功能 因为只有如此 并行查询带来的收益才会超过其付出的代价 但是 并不是说连接查询 聚合 *** 作 排序等作业都适合采用并行查询 当数据库在考虑并行查询计划的时候 查询优化器还会去确定所涉及到的行数 如果所涉及到的行数台少 则将不会考虑执行并行查询计划 而会采用串行方式执行查询语句 如此的话 可以避免因为启动 分发 协调的开销大大超过并行执行作业所带来的收益 这本来是一个不错的设计 但是也会给数据库管理员带来一定的麻烦 如现在数据库管理员想要测试并行查询到底可以在多大程度上影响查询 *** 作 就有点麻烦 因为其有数据量的限制 如果数据库管理员需要进行这个测试 还不得不先在数据库系统中导入足够多的数据才行 这就限制了数据库管理员的测试 *** 作 不过话说回来 这个机制仍然是不错的 因为数据库管理员不用去考虑 当数据库规模到多大的时候采用并行查询

注意点四 同一个 *** 作在不同时候会采用不同的进程数

lishixinzhi/Article/program/SQLServer/201311/22469

(一)ArcGIS

ESRI(SystemsResearchInstitute,Inc,美国环境系统研究所公司)是地理信息系统技术提供商。全球有超过30万个分布于政府部门、测绘部门、国防部门、公安部门、石油部门、交通部门,以及电力、航空航天、商业等各个领域的用户单位使用ESRI提供的GIS技术。

ArcGIS是一个完善的地理信息系统。主要包括3个部分。

1桌面GIS产品——ArcGISDesktop

ArcGIS桌面系统是为GIS专业人士提供的信息制作和使用的工具。它可以作为3个独立的软件产品购买,每个产品提供不同层次的功能水平:

ArcReader是一个免费地图浏览器,可以查看或打印用其他ArcGIS桌面产品生成的所有地图和数据格式。还具有简单的浏览和查询功能。

ArcView提供了复杂的制图、数据使用、分析,以及简单的数据编辑和空间处理工具。

ArcEditor除了包括了ArcView中的所有功能之外,还包括了对Shapefile和geodatabase的高级编辑功能。

ArcInfo是一个全功能的旗舰式GIS桌面产品。它扩展了ArcView和ArcEditor的高级空间处理功能,还包括传统的ArcInfoWorkstation应用程序(Arc,ArcPlot,ArcEdit,AML等)。

2服务器产品——服务器GIS

服务器GIS用于多种类型的集中式的GIS计算。基于服务器的GIS技术目前正快速发展、日趋成熟。GIS软件可以被集中地管理在应用服务器和网络服务器上。企业GIS用户可以使用传统的、高级的GIS桌面软件、网络浏览器、定制的应用、移动计算设备及数字设备等连接到中央GIS服务器,获得GIS服务。

ArcGIS提供了3种服务器软件:ArcSDE,ArcIMS和ArcGISServer。

1)ArcSDE是一个先进的空间数据服务器软件。它为任意的客户端应用,例如ArcIMS或ArcGISDesktop,提供了一个在DBMS中存储、管理和使用空间数据的通道。

2)ArcIMS是一个可伸缩的网络地图服务器软件。它被广泛应用于向大量的网络用户发布网络GIS地图、数据和元数据。例如,ArcIMS提供对GIS目录门户的基于浏览器的访问,使用户能够容易地发布和共享地理知识。

3)ArcGISServer是提供给企业和网络应用开发者的一个具有丰富GIS功能的服务器GIS产品。它用来构建分布式的、多层的企业信息系统配置。

3嵌入式GIS产品

在许多情况下,用户不仅需要通过高端的专业GIS桌面或连接到互联网服务器的浏览器访问GIS,还需要通过介于两者之间的一种中间方式访问GIS,如辅助式应用,面向GIS的应用和移动设备等。

这些软件要求简单、有针对性的用户界面。它们通过高级的GIS逻辑执行一些具体的任务。例如,很多组织只需要简单的数据编辑器而不是一个完整功能的桌面GIS。客户化的GIS应用也要具有高度灵活的可定制性。用户界面是为了给不熟悉GIS的用户使用GIS功能。

因此,软件开发者需要有一个可编程的GIS工具包,在构建应用时提供常规的GIS功能。ArcGISEngine提供的工具可以满足这些需求。它提供了嵌入式的GIS组件,能用来在一个组织内建立应用,为用户提供有针对性的GIS功能。ArcGISEngine是为每个用户的特定需求提供有针对性的GIS功能实现的基础。

(二)MapInfo

美国MapInfo公司作为世界标准桌面地图信息系统领导者,实现了地图与数据的完美结合,以数据可视化的方式,提供一种崭新的决策支持方法。

MapInfo是一套强大的基于Windows平台的地图化解决方案。利用MapInfo,商业分析专家和GIS专家可以方便地将数据和地理信息的关系直观展现。围绕桌面地图信息技术,推出系列MapInfo产品线,包括MapInfo基于独立PC和Client/Server体系结构的MapInfo;基于Internet/Intranet体系结构的地图信息系统应用服务器;基于数据库Serve体系结构的实现在服务器端进行空间分析和数据存储的空间数据服务器Spatialware;第一个基于ActiveX技术的地图控件MapX,为用户提供一整套完整的解决方案。

MapInfo不仅实现了电子地图的显示、管理、建立和修改功能,更重要的是实现了在电子地图上的地图对象与关系数据库中的记录的自动连接。通过MapInfo可实现地图与数据库的双向查询,并能使地图上的对象(如建筑物、道路等)与数据库中的相关数据连接,以数据库中的数据来动态改变地图对象的可视属性,自动生成生动易用的专题地图(线路流量负载图、各分支机构营业收入图、机线设备利用率统计图等),以供管理、分析、决策。对数据库的查询结果,可以直接反映在地图上,也可直接在地图上选择对象,以查询相应数据库信息,可为数据库查询结果自动地建立一张结果地图或为地图上的选择结果自动建立数据表,这就为系统的管理、使用提供了极大的方便,尤其适合管理人员进行宏观查询,综合分析。

历史服务器
Hadoop自带了一个历史服务器,可以通过历史服务器在web端查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,需要自行启动。启动后,在下图中点击history可跳转至历史服务器查看信息。
配置历史服务器
配置文件mapred-sitexml
配置文件在hadoop文件夹下的etc/hadoop中。
在该配置文件中添加如下代码:
其中mapreducejobhistoryaddress是启动历史服务器的端口,mapreducejobhistorywebappaddress是历史服务器web端的端口。
(可以自己设置端口号,建议不要太小)
<configuration>
<property>
<name>mapreducejobhistoryaddress</name>
<value>hadoop101:10020</value>
</property>
<property>
<name>mapreducejobhistorywebappaddress</name>
<value>hadoop101:19888</value>
</property>
</configuration>
登录后复制
分发配置文件
使用xsync命令向其他服务器分发配置文件:
xsync mapred-sitexml
登录后复制
启动历史服务器
首先要先启动hadoop集群:
start-allsh
登录后复制
再启动历史服务器:
mapred --daemon start historyserver
登录后复制
查看历史服务器
使用jps查看是否启动成功:
可以看到在5384端口,历史服务器已经运行。
在浏览器中打开hadoop:19888,即可看到历史服务器,如下图:
测试历史服务器
上传一个测试任务,其中/wcinput中包含有一个txt文件,可以自行创建任意内容,输出到名为/wcoutput1的文件夹中。(注意:输出的文件夹应不存在,否则会出错)
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-313jar wordcount /wcinput /wcoutput1
登录后复制
其中/wcinput文件夹在hadoop的目录下,并在该目录输入上述命令上传任务。(如下图)
等待任务运行完成后:
在web端查看运行情况:
点击右下角的History进入历史服务器查看详情:
至此历史服务器配置完成


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10400823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存