安装
前提软件
设置 Ambari SCOM 需要以下前提软件:
- Ambari SCOM 1.0
- Apache Hadoop 1.x 集群(HDFS 和 MapReduce)1
- Ambari SCOM 2.0
- Apache Hadoop 2.x 集群(HDFS 和 YARN/MapReduce)2
- JDK 1.7
- Microsoft SQL Server 2012
- Microsoft JDBC Driver 4.0 for SQL Server 3
- Microsoft System Center Operations Manager(SCOM)2012 SP1 或更高版本
- 安装在 Watcher Node 上的 System Center Monitoring Agent 4
1 Ambari SCOM 1.0 已在基于 Hortonworks Data Platform 1.3 for Windows 的 Hadoop 集群上测试(“HDP 1.3 for Windows”)。
2 Ambari SCOM 2.0 已在基于 Hortonworks Data Platform 2.1 for Windows 的 Hadoop 集群上测试(“HDP 2.1 for Windows”)。
3 从 Microsoft JDBC Driver 4.0 for SQL Server 获取 JAR 文件(sqljdbc4.jar)。
4 请参阅 Microsoft TechNet 的管理发现和代理主题。代理最低要求为 .NET 4 和 PowerShell 2.0 + 3.0。
软件包内容
├─ ambari-scom- _**version**_.zip
├── README.md
├── server.zip
├── metrics-sink.zip
├── mp.zip
└── ambari-scom.msi
| 文件 | 名称 | 描述 |
|---|---|---|
| server.zip | Server Package | 包含配置 Ambari SCOM Server 软件所需的软件。 |
| metrics-sink.zip | Metrics Sink Package | 包含手动配置 SQL Server 和 Hadoop Metrics Sink 所需的软件。 |
| ambari-scom.msi | MSI Installer | 用于配置 Ambari SCOM Server 和 Hadoop Metrics Sink 的 Ambari SCOM MSI 安装程序。 |
| mp.zip | Management Pack Package | 包含 Ambari SCOM Management Pack 软件。 |
Ambari SCOM Server 安装
安装 Ambari SCOM Server 有以下方法:
- 手动安装 - 需要配置 SQL Server 数据库、设置 Ambari SCOM Server 并配置 Hadoop Metrics Sink。该方法可根据环境提供最灵活的安装选项。
- MSI 安装 - 使用 MSI 安装程序在集群所有主机上自动安装 Ambari SCOM Server 并配置 Hadoop Metrics Sink。启动 MSI 后,提供 SQL Server 数据库和集群信息,由安装程序完成配置。
手动安装
配置 SQL Server
- 将现有 SQL Server 实例配置为“混合模式”身份验证。
- 确认 SQL Server 已安装并启用 TCP/IP。(默认端口:1433)
- 创建用户和密码。请记住该用户和密码,它们将作为 Hadoop metrics interface 捕获指标时使用的帐户。(默认用户:sa)
- 解压
metrics-sink.zip软件包以获取 DDL 脚本。 - 运行
Hadoop-Metrics-SQLServer-CREATE.ddl脚本创建 Ambari SCOM 数据库架构。
配置 Hadoop Metrics Sink
准备 Metrics Sink
- 解压
metrics-sink.zip软件包以获取metrics-sink-<strong><em>version</em></strong>.jar文件。 - 获取 Microsoft JDBC Driver 4.0 for SQL Server 的
sqljdbc4.jar文件。 - 将
sqljdbc4.jar和metrics-sink-version.jar复制到集群中的每台主机。例如,在每台主机上复制到C:\Ambari\metrics-sink-version.jar和C:\Ambari\sqljdbc4.jar。
设置 Hadoop Metrics2 接口
- 在集群每台主机上设置 Hadoop metrics2 接口,使其使用
SQLServerSink。
编辑 hadoop-metrics2.properties 文件(位于集群每台主机的 <strong><em>{C:\hadoop\install\dir}</em></strong>\bin 文件夹中):
*.sink.sql.class=org.apache.hadoop.metrics2.sink.SqlServerSink
namenode.sink.sql.databaseUrl=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
datanode.sink.sql.databaseUrl=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
jobtracker.sink.sql.databaseUrl=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
tasktracker.sink.sql.databaseUrl=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
maptask.sink.sql.databaseUrl=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
reducetask.sink.sql.databaseUrl=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
- server = SQL Server 主机名
- port = SQL Server 端口(例如 1433)
- user = SQL Server 用户(例如 sa)
- password = SQL Server 密码(例如 BigData1) :::
- 更新每个 Hadoop 服务的 Java 类路径,使其包含
metrics-sink-<strong><em>version</em></strong>.jar和sqljdbc4.jar文件。- HDP for Windows 集群的 Java 类路径更新示例
service.xml文件位于集群每台主机的C:\hadoop\install\dir\bin文件夹中。每个服务的 Java 类路径在<arguments>元素的service.xml文件中指定。例如,要更新NameNode组件的 Java 类路径,请编辑C:\hadoop\bin\namenode.xml文件。...... -classpath ...;C:\Ambari\metrics-sink-1.5.1.2.0.0.0-673.jar;C:\Ambari\sqljdbc4.jar ......
- HDP for Windows 集群的 Java 类路径更新示例
- 重启 Hadoop 使这些更改生效。
验证指标收集
- 查询
MetricRecord表,确认指标已捕获到 SQL Server 数据库中:
select * from HadoopMetrics.dbo.MetricRecord
HadoopMetrics 是数据库名称。:::安装和配置 Ambari SCOM Server
运行 Server
- 指定集群中的一台机器运行 Ambari SCOM Server。
- 解压
server.zip软件包以获取 Ambari SCOM Server 软件包。
├── ambari-scom-server- **_version_**-conf.zip
├── ambari-scom-server- **_version_**-lib.zip
└── ambari-scom-server- **_version_**.jar
- 解压
ambari-scom-server-version-lib.zip软件包以获取 Ambari SCOM 依赖项。 - 解压
ambari-scom-server-version-conf.zip软件包以获取 Ambari SCOM 配置文件。 - 在配置文件中编辑
ambari.properties文件:
scom.sink.db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
scom.sink.db.url=jdbc:sqlserver://[server]:[port];databaseName=HadoopMetrics;user=[user];password=[password]
- server = SQL Server 主机名
- port = SQL Server 端口(例如 1433)
- user = SQL Server 用户(例如 sa)
- password = SQL Server 密码(例如 BigData1) :::
- 在 Java 命令行中运行
org.apache.ambari.scom.AmbariServer类,启动 Ambari SCOM Server。
ambari-scom-server-version.jar文件- 包含 Ambari SCOM 配置文件的 configuration 文件夹
- 包含 Ambari SCOM 依赖项的 lib 文件夹
- Hadoop 安装中包含
clusterproperties.txt文件的文件夹,例如c:\hadoop\install\dir sqljdbc4.jarSQLServer JDBC Driver 文件 ::
例如:
java -server -XX:NewRatio=3 -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -XX:CMSInitiatingOccupancyFraction=60 -Xms512m -Xmx2048m -cp "c:\ambari-scom\server\conf;c:\ambari-scom\server\lib\*;c:\jdbc\sqljdbc4.jar;c:\hadoop\install\dir;c:\ambari-scom\server\ambari-scom-server-1.5.1.2.0.0.0-673.jar" org.apache.ambari.scom.AmbariServer
ambari-scom-server-version.jar 中的 Ambari SCOM 版本,并将 c:\hadoop\install\dir 替换为包含 clusterproperties.txt 文件的文件夹。:::验证 Server API
- 在浏览器中访问 API:
http://[ambari-scom-server]:8080/api/v1/clusters
- 验证指标正在报告。
http://[ambari-scom-server]:8080/api/v1/clusters/ambari/services/HDFS/components/NAMENODE
MSI 安装
配置 SQL Server
- 将现有 SQL Server 实例配置为“混合模式”身份验证。
- 确认 SQL Server 已安装并启用 TCP/IP。(默认端口:1433)
- 创建用户和密码。(默认用户:sa)
运行 MSI 安装程序
-
指定集群中的一台机器运行 Ambari SCOM Server。
-
解压
server.zip软件包以获取 Ambari SCOM Server 软件包。 -
运行
ambari-scom.msi安装程序。此时会显示 “Ambari SCOM Setup” 对话框:
-
提供以下信息:
| 字段 | 描述 |
|---|---|
| Ambari SCOM package directory | 安装程序放置 Ambari SCOM Server 软件包的目录,例如:C:\Ambari |
| SQL Server hostname | Ambari SCOM Server 用于存储 Hadoop 指标的 SQL Server 实例主机名。 |
| SQL Server port | SQL Server 实例的端口。 |
| SQL Server login | 登录用户名。 |
| SQL Server password | 登录密码。 |
| Path to SQL Server JDBC Driver (sqljdbc4.jar) | JDBC Driver JAR 文件路径。 |
| Path to the cluster layout file (clusterproperties.txt) | 集群布局属性文件路径。 |
- 可以选择 Start Services。
- 单击 Install。
- 完成后,桌面会创建 “Start Ambari SCOM Server”、“Browse Ambari API” 和 “Browse Ambari API Metrics” 链接。启动 Ambari SCOM Server 后,浏览 API 和 Metrics,确认服务器正常工作。
C:\AmbariInstallFiles\AmbariSetupTools\ambari.winpkg.install.log。:::安装 Ambari SCOM Management Pack
导入 Management Pack
执行以下步骤,将 Ambari SCOM Management Pack 导入 System Center Operations Manager。
- 解压
mp.zip软件包以获取 Ambari SCOM management pack(.mpb)文件。 - 确保 Windows Server 2012 正在运行带 SQL Server(全文搜索)的 SCOM。
- 打开 System Center Operations Manager。
- 转到 Administration -> Management Packs。
- 在 Tasks 面板中选择 Import Management Packs...
- 在 Import Management Packs 对话框中选择 Add -> Add from disk...
- 系统会提示搜索 Online Catalog。单击 “No”。
- 浏览 Ambari SCOM management pack 文件。
- 选择以下文件:
Ambari.SCOM.Monitoring.mpb
Ambari.SCOM.Management.mpb
Ambari.SCOM.Presentation.mpb
- 单击 “Open”。
- 查看 Import 列表并单击 “Install”。
- Ambari SCOM Management Pack 安装将开始。
AmbariSCOMManagementPack.msi,它是 mp.zip 的另一种打包形式。此版本中该 MSI 以 beta 形式提供。:::创建 Run As 帐户
执行以下步骤,配置 Ambari SCOM Management Pack 与 Ambari SCOM Server 通信时使用的帐户。
- Management Pack 导入完成后,转到 Administration -> Run As Configuration -> Accounts。
- 在 Tasks 面板中选择 “Create Run as Account...”。
- 此时会显示 Create Run As Account Wizard。
- 完成向导,在 Run As account type 中选择 “Basic Authentication”。
- 输入帐户显示名称并单击 “Next”。
- 输入 Ambari SCOM Server 的帐户名和密码。此帐户用于连接 Ambari SCOM Server 并访问 Ambari REST API。默认帐户名和密码为预设值。
- 单击 “Next”。
- 选择 “Less secure” 分发安全选项。
- 单击 “Next” 并完成向导。
配置 Management Pack
执行以下步骤,配置 Ambari SCOM Management Pack 与 Ambari SCOM Server 通信。
- 转到 Authoring -> Management Pack Templates -> Ambari SCOM。
- 在 Tasks 面板中选择 “Add Monitoring Wizard”。
- 选择监控类型 “Ambari SCOM”。
- 提供名称并选择目标 management pack。
- 按以下格式提供 Ambari URI,即 Ambari SCOM Server 的地址:
http://[ambari-scom-server]:8080/api/
ambari-scom-server 是 Ambari SCOM Server。:::- 选择在“创建 Run As 帐户”中创建的 Run As Account。
- 选择 “Watcher Node”。如果节点未列出,单击 “Add” 并浏览选择节点,然后单击 “Next”。
- 完成 Add Monitoring Wizard,然后继续阅读 Monitoring Scenarios,了解 management pack 的使用方法。
最佳实践:为自定义设置创建 Management Pack
默认情况下,Operations Manager 会将 overrides 等所有自定义设置保存到 Default Management Pack。最佳实践是为要自定义的每个 sealed management pack 创建单独的 management pack。
创建用于存储 sealed management pack 自定义设置的 management pack 时,建议根据被自定义的 management pack 名称命名,例如 Ambari SCOM Customizations。
为每个 sealed management pack 创建用于存储自定义设置的新 management pack,可以更轻松地将自定义设置从测试环境导出到生产环境,也更便于删除 management pack,因为删除 management pack 前必须删除所有依赖项。如果所有 management pack 的自定义设置都保存到 Default Management Pack,而需要删除单个 management pack,则必须先删除 Default Management Pack,这也会删除其他 management pack 的自定义设置。