重新启动由 Ambari 管理的 MySQL 服务器

Restarting a MySQL server managed by Ambari

我有一个场景,我需要更改由 Ambari 管理的 hadoop 集群的几个参数,以记录特定应用程序的性能。配置中的更改需要重新启动受影响的组件。

我正在使用 Ambari REST API 来实现这一点。我想出了如何为 hadoop 的所有服务组件执行此操作。我不确定 API 是否提供了重新启动 Hive 使用的 MySQL 服务器的方法。

我有以下问题:-

  1. 是否仅在适当的机器上停止和启动 mysqld 就足以确保 Ambari 和应用程序识别所需的配置更改?
  2. 我在通过 Ambari 安装 Hive 时选择了 'New MySQL database' 选项。这是否意味着重启仅在从 Ambari 执行时才会反映在 Ambari 中 UI?

非常感谢您的意见。

谢谢!

找到问题的解决方案。我使用以下命令使用 Ambari REST API 从后端更改配置和重新启动服务。

登录到 ambari 服务器所在的主机 运行 并使用已经提供的 config.sh 脚本,如下所述。

修改配置文件

#!/bin/bash
CLUSTER_NAME=
CONFIG_FILE=
PROPERTY_NAME=
PROPERTY_VALUE=

/var/lib/ambari-server/resources/scripts/configs.sh -port <ambari-server-port> set localhost   "" ""

其中 CONFIG_FILE 可以采用 tez-sitemapred-sitehadoop-sitehive-site 等值。PROPERTY_NAMEPROPERTY_VALUE 应设置为与指定的 CONFIG_FILE.

相关的值

正在重新启动主机组件

curl -uadmin:admin -H 'X-Requested-By: ambari' -X POST -d '
{
   "RequestInfo":{
      "command":"RESTART",
      "context":"Restart MySQL server used by Hive Metastore on node3.cluster.com and HDFS client on node1.cluster.com",
      "operation_level":{
         "level":"HOST",
         "cluster_name":"c1"
      }
   },
   "Requests/resource_filters":[
      {
         "service_name":"HIVE",
         "component_name":"MYSQL_SERVER",
         "hosts":"node3.cluster.com"
      },
      {
         "service_name":"HDFS",
         "component_name":"HDFS_CLIENT",
         "hosts":"node1.cluster.com"
      }
   ]
}' http://localhost:<ambari-server-port>/api/v1/clusters/c1/requests

参考链接:

  1. Restarting components
  2. modifying configurations

希望对您有所帮助!