Ambari 系统管理 (Ambari Administration) 之一


1. Ambari 系统管理概述 (Ambari Administration Overview)
-----------------------------------------------------------------------------------------------------------------------------------------
Apache Ambari 可使你能够提供,管理,和监控 Hadoop 集群。如果负责安装和维护 Ambari, 以及通过 Ambari 来管理 Hadoop 集群,应使用本指南。

安装 Ambari 创建默认的用户/密码 admin/admin. 这是 Ambari 级系统管理员用户(Ambari-level Administrator user), 拥有 Ambari 所有方面完全控制的
能力,包括由 Ambari 实例管理的所有集群,以及管理用户、用户组和集群的能力。

作为 Ambari Admin 登录到 Ambari 时,可以执行如下任务

    ● 管理 Ambari
    ● 管理版本
    ● 关联用户和用户组



1.1 术语 (Terminology)
-----------------------------------------------------------------------------------------------------------------------------------------
熟悉如下基本术语有助于理解与 Ambari 系统管理有关的关键概念。

    ● Ambari 系统管理员(Ambari Admin)    : 授予用户特殊的权限使他可以管理 Ambari. 拥有 Ambari 管理员特权的用户可以将此特权授予其他用户,
                                        或者吊销其他用户管理员特权。

    ● 帐号 (account)                    : 用户的名称,密码,以及权限。

    ● 集群 (cluster)                    : 一个 Hadoop 集群(Hadoop cluster)安装,基于一个特定的安装栈(stack), 由 Ambari 管理。
    
    ● 用户组 (group)                    : Ambari 中唯一性的用户的组。
    
    ● 组类型 (group type)                : Local 和 LDAP. 本地组(Local groups) 由 Ambari 数据库维护。如果配置 LDAP,LDAP 组由外部 LDAP
                                        导入(以及同步)
    
    ● 许可权限 (permissions)            : 某个视图的许可权限授予负责的用户或组。
    
    ● 负责人 (principal)                : 可以被 Ambari 认证的用户或组。
    
    ● 特权 (privilege)                    : 映射为负责人的权限或者角色及一个资源。例如,用户 joe.operator 被授予 DevCluster 集群的集群操作
                                        员(Cluster Operator)角色。
    
    ● 资源 (resource)                    : Ambari 在可用和管理的资源。Ambari 支持两种类型的资源:集群和视图。Ambari 管理员为给用户和组分配
                                        资源的许可权限
    
    ● 角色 (role)                        : 角色是一个集群上分配的复制人(用户或组)。
    
    ● 用户 (user)                        : Ambari 中唯一性的用户。
    
    ● 用户类型 (user type)                : Local 和 LDAP. 本地用户由 Ambari 数据库维护并且由 Ambari 数据库执行认证。如果配置 LDAP, LDAP
                                        用户由外部 LDAP 导入(以及同步).
                                        
    ● 版本 (version)                    : 安装栈版本 (Stack version), 包括一系列的仓库用以在集群上安装该版本。
    
    ● 视图 (view)                        : Ambari 可用的用户接口组件(user interface component).


    
1.2 查看 Ambari 管理员页面 (Viewing the Ambari Admin Page)
-----------------------------------------------------------------------------------------------------------------------------------------
登录到 Ambari 时,管理员页面显示可以执行的操作链接。这些操作在左侧的导航面板上也可用。如果还没有创建一个集群,可以启动 Apache Ambari 安装
向导创建一个。


    ● Clusters
    -------------------------------------------------------------------------------------------------------------------------------------
    显示当前集群的名称(如果创建了),一个链接用于重命名集群,一个链接用于管理远程集群。
    
    

    ● Views
    -------------------------------------------------------------------------------------------------------------------------------------
    使能够创建和编辑部署的视图实例,并管理这些实例的访问权限



    ● User + Group Management
    -------------------------------------------------------------------------------------------------------------------------------------
    能够创建和编辑用户和组。


    
    ● Versions
    -------------------------------------------------------------------------------------------------------------------------------------
    能够管理集群可用的安装栈版本。



    ● Roles
    -------------------------------------------------------------------------------------------------------------------------------------
    能够将用户和组添加到集群上拥有不同权限的角色中。



    ● Go To Dashboard
    -------------------------------------------------------------------------------------------------------------------------------------
    能够管理和监控 Hadoop 集群。




2. 管理 Ambari (Administering Ambari)
-----------------------------------------------------------------------------------------------------------------------------------------
Ambari 级系统管理员用户(Ambari-level Administrator user), 拥有 Ambari 所有方面完全控制的能力,包括创建和集群的能力。



2.1 登录 Ambari (Log In to Ambari)
-----------------------------------------------------------------------------------------------------------------------------------------
安装 Ambari 之后,可以登录到 Ambari:

步骤:
    ① 访问 Ambari
    
        http://<your.ambari.server>:8080
    
        8080 默认的 HTTP 端口。
    
    ② 输入凭证
    
        username/password = admin/admin
        
    Ambari 管理页面显示。
    
    

2.2 修改默认的 Ambari 密码(Change the Default Admin Password)
-----------------------------------------------------------------------------------------------------------------------------------------
利用 Ambari Admin 页面,可以改变默认 admin 用户的密码

步骤:
    ① 在 User + Group Managment 中,单击 Users
    
    ② 选择 admin 用户
    
    ③ 单击 Change Password
    
    ④ 输入 admin 用户当前密码,然后输入新的密码,两次

    ⑤ 单击 OK
    


2.3 创建集群 (Create a Cluster)
-----------------------------------------------------------------------------------------------------------------------------------------
成功安装 Ambari 之后,就可以使用集群安装向导创建集群了

步骤:
    
    ① 在 Ambari Admin 页面,单击 Install Cluster
    ② 完成向导页面

    详细信息访问:
    
    https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/ch_Deploy_and_Configure_a_HDP_Cluster.html




2.4 管理集群角色 (Manage Cluster Roles)
-----------------------------------------------------------------------------------------------------------------------------------------
Ambari-level 系统管理员可以可以给用户和组分配不同的角色,角色拥有在不同级别上执行操作的权限 :Ambari-, Cluster-, Service-, Host-, 以及
User- (view-only) 级别。这样有效地将管理一个集群的能力分散开来,而不必将管理 Ambari 的整个控制权交出去。



2.4.1 理解集群角色 (Understanding Cluster Roles)
-----------------------------------------------------------------------------------------------------------------------------------------
在 Ambari 2.2 及更早版本,角色只有 Operator and Read-only 可用。为了更细粒度授予 Ambari 用户的权限,下面这些新的、cluster-level 级别的角色
成为可用。


    ● 集群用户 (Cluster User)
    -------------------------------------------------------------------------------------------------------------------------------------
    分配到 Cluster User 角色的用户可以查看有关集群及其服务的信息,包括配置信息,服务状态,以及健康警示(health alerts). Ambari 2.2 及早期
    版本,这种用户被称为 Read-only user. 效果上,集群用户是只查看用户(view-only user).
        
    
    ● 服务操作员 (Service Operator)
    -------------------------------------------------------------------------------------------------------------------------------------
    分配到 Service Operator 角色的用户拥有控制服务生命周期的能力,例如启动和停止服务,执行服务检查,执行服务特定的任务,例如 rebalancing
    HDFS 和刷新 YARN Capacity Scheduler


    ● 服务管理员 (Service Administrator)
    -------------------------------------------------------------------------------------------------------------------------------------
    分配到 Service Administrator 角色的用户拥有和分配到 Service Operator 角色的用户相同的权限,但是增加了配置服务的能力。这包括管理配置组,
    移动服务 masters, 和启用 HA 的能力。


    ● 集群操作员 (Cluster Operator)
    -------------------------------------------------------------------------------------------------------------------------------------
    分配到 Cluster Operator 角色的用户拥有和分配到 Service Administrator 角色的用户相同的权限,但是增加了执行主机级别任务(host-level tasks)
    的能力, 例如添加和移除主机及其组件。



    ● 集群管理员 (Cluster Administrator)
    -------------------------------------------------------------------------------------------------------------------------------------
    分配了 Cluster Administrator 角色的用户拥有整个集群相关的控制能力,如集群主机和各种服务。Ambari 2.2 及更早版本,这类用户称为 Operator



    ● Ambari 系统管理员 (Ambari Administrator)
    -------------------------------------------------------------------------------------------------------------------------------------
    Ambari 系统管理员用户拥有 Ambari 所有方面完全的控制能力。这包括创建集群,修改集群名称,注册新版本集群软件,以及由 Ambari 实例管理的
    所有集群的完全控制能力。
    
    下面表格比较这些集群角色:
        
        +===========================+===========+===========+===============+===========+===============+===============+
        |                             | Cluster    | Service    | Service        | Cluster    | Cluster        | Ambari        |
        |                            | User        | Operator    | Administrator    | Operator    | Administrator    | Administrator    |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Service-Level Authorizations
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View metrics                |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View status                |    √        |    √        |    √            |    √        |    √            |    √            |
        | information                |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View configurations        |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Compare                    |    √        |    √        |    √            |    √        |    √            |    √            |
        | configurations            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View service alerts        |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Start, stop, or            |            |    √        |    √            |    √        |    √            |    √            |
        | restart service            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Decommission or            |            |    √        |    √            |    √        |    √            |    √            |
        | recommission                |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Run service checks        |            |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Turn maintenance            |            |    √        |    √            |    √        |    √            |    √            |
        | mode on or off            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Perform service-            |            |    √        |    √            |    √        |    √            |    √            |
        | specific tasks            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Modify                    |            |            |    √            |    √        |    √            |    √            |
        | configurations            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Manage                    |            |            |    √            |    √        |    √            |    √            |
        | configuration groups        |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Move to another            |            |            |    √            |    √        |    √            |    √            |
        | host                        |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Enable HA                    |            |            |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Enable or disable            |            |            |    √            |    √        |    √            |    √            |
        | service alerts            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Add service to cluster    |            |            |                |            |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Host-Level Authorizations    
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View metrics                |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View status                |    √        |    √        |    √            |    √        |    √            |    √            |
        | information                |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View configuration        |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Turn maintenance            |            |            |                |    √        |    √            |    √            |
        | mode on or off            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Install components        |            |            |                |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Add or delete hosts        |            |            |                |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Cluster-Level Authorizations
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View metrics                |    √        |    √        |    √            |    √        |    √            |    √             |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View status                |    √        |    √        |    √            |    √        |    √            |    √            |
        | information                |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View configuration        |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View stack version        |    √        |    √        |    √            |    √        |    √            |    √            |
        | details                    |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | View alerts                |    √        |    √        |    √            |    √        |    √            |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Enable or disable            |            |            |                |            |    √            |    √            |
        | alerts                    |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Enable or disable            |            |            |                |            |    √            |    √            |
        | Kerberos                    |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Upgrade or                |            |            |                |            |    √            |    √            |
        | Ldowngrade stack            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Ambari-level Authorizations
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Create new clusters        |            |            |                |            |                |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Set service users and        |            |            |                |            |                |    √            |
        | groups                    |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Rename clusters            |            |            |                |            |                |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Manage users                |            |            |                |            |                |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Manage groups                |            |            |                |            |                |    √            |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Manage Ambari                |            |            |                |            |                |    √            |
        | Views                        |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Assign permission            |            |            |                |            |                |    √            |
        | and roles                    |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Manage stack                |            |            |                |            |                |    √            |
        | versions                    |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        | Edit stack                 |            |            |                |            |                |    √            |
        | repository URLs            |            |            |                |            |                |                |
        +---------------------------+-----------+-----------+---------------+-----------+---------------+---------------+
        



2.4.2 修改用户和组集群角色 (Modify User and Group Cluster Roles)
-----------------------------------------------------------------------------------------------------------------------------------------

步骤:
    
    ① 在 Clusters 区,集群名称下面,单击 Roles 显示此集群当前用户和组角色分配
    ② 使用 block view, 为该集群的每个角色编辑用户和组分配,单击空白区,输入已存在的用户或组的名称,然后选择完整用户或组名称。
    ③ 使用 list view, 通过查找用户或组来编辑用户或组分配,使用 Role 下拉列表调整角色。
    ④ 单击打勾标记 √ 保存修改。



2.5 打开集群表盘 (Open the Cluster Dashboard)
-----------------------------------------------------------------------------------------------------------------------------------------
创建了集群之后,可以使用 Go to Dashboard 链接打开集群操作表盘。在这个 Dashboard 上,可以管理和监控集群服务,包括管理服务生命周期,修改配置
信息,检查报警信号,等等。

详细信息参考:

    https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-operations/content/ch_viewing_the_ambari_dashboards.html



2.6 重命名集群 (Rename a Cluster)
-----------------------------------------------------------------------------------------------------------------------------------------
创建了集群之后,可以用 Rename Cluster 功能重命名此集群。

步骤:
    ① 在 Clusters 区,单击集群名称后面 Rename Cluster 图标
    ② 输入字母数字字符重命名集群
    ③ 单击打勾标记 √
    ④ 确认
    ⑤ 重启 Ambari server 和 Ambari agents.
        重命名集群之后,agent 上的 alert checks 必须重新排队(re-queued). 因此,必须重启 Ambari server 和 Ambari agent 使修改生效。
    ⑥ 调整 API 调用以使用新的集群名称。
        修改集群名称改变了集群的 Ambari REST API 资源名称。


        
2.7 管理版本 (Managing Versions)
-----------------------------------------------------------------------------------------------------------------------------------------
本节描述如何管理 Ambari 中注册的集群安装栈软件,包括注册一个新版本,升级版本仓库(version-repository) base URLs, 以及解注册(de-registering)
一个版本。安装一个集群之后,Ambari 自动注册安装栈软件的版本。版本表列出了安装栈,名称,版本,以及运行该版本的集群。


    ■ 注册新版本 (Register New Version)
    -------------------------------------------------------------------------------------------------------------------------------------
    步骤:
        ① 浏览到 Versions.
        
        ② 单击 + Register Version 来进入注册新版本的历程
        
        ③ 选择软件版本和对集群的传输方法
            
            ● Choose HDP Stack :
            -----------------------------------------------------------------------------------------------------------------------------
            可用的 HDP 版本在标签页中显示。选择一个标签页,Ambari 尝试找到这个 HDP Stack 可用的版本。显示为一个下拉列表。对于那个特定的版本,
            可用的服务显示出来,以及它们的版本显示在表格中(TABLE)
                
            
            ● Choose HDP Version :
            -----------------------------------------------------------------------------------------------------------------------------
            如果 Ambari 可以访问 internet, 特定的版本会作为选项在下拉列表中列出。如果有某一没有列出版本对应的 Version Definition 文件,可
            单击 Add Version… 来上传这个 VDF 文件。另外,如果没有 Internet 访问或不确定要安装哪个版本,有个 Default Version Definition 也
            包含在列表中。如果选择 Default Version Definition, 必须在 Name 输入字段输入两个数字的版本号(a "two-digit Version Number")。
            
            
            ● Choose Repository Delivery Method :
            -----------------------------------------------------------------------------------------------------------------------------
            使用 Public Repository 要求 Internet 连通性。使用 Local Repository 要求在本地网络配置了软件仓库。使用 public software 仓库,
            查看每种 OS 可用的 HDP Repositories 列表。或者,如果使用一个本地仓库,输入创建的本地仓库 Base URLs.
            
        ④ 检查 Advanced Options
        
            
            ● Skip Repository Base URL validation (Advanced) :
            -----------------------------------------------------------------------------------------------------------------------------
            Ambari 会尝试连接到仓库的 Base URLs 并验证输入的是一个有效的仓库。如果不是,会显示一个错误,在处理之前必须改正错误。这个选项会
            跳过 Base URL 验证。

            
            ● Use RedHat Satellite/Spacewalk :
            -----------------------------------------------------------------------------------------------------------------------------            
            该选项仅当计划使用 Local Repository 时启用。当为软件仓库选择这个选项时,要自己负责在 Satellite/Spacewalk 中配置仓库信道。参阅
            Red Hat Satellite/Spacewalk 文档获得更多信息。
        
        ⑤ 单击 Save
        
        
    ■ 更新版本库 Base URLs (Update Version Repository Base URLs)
    -------------------------------------------------------------------------------------------------------------------------------------
    步骤:
        ① 浏览到 Versions.
    
        ② 单击要修改的版本
    
        ③ 为仓库修改 base URLs 。使用公共软件仓库,查看每种 OS 可用的 HDP 仓库列表。或者,如果使用本地仓库,输入本地仓库的 Base URLs
    
        ④ 单击 Save
        
        ⑤ 单击 Confirm Change
    
    
    
    ■ 解除注册一个版本 (De-Register a Version)
    -------------------------------------------------------------------------------------------------------------------------------------    
    步骤:
        ① 浏览到 Versions.
        
        ② 单击要 de-register 的版本
    
            只有没有安装到集群上的版本才可以 de-registered.
    
        ③ 单击 Deregister Version 然后确认。
        
        
        
2.8 注册远程集群 (Register Remote Clusters)
-----------------------------------------------------------------------------------------------------------------------------------------        
可能与几个由 Ambari 管理的集群工作,但不是本地 Ambari 服务器管理的。对于本地 Ambari 服务器来说,这些集群被当作远程集群。它们可以被一个远程
Ambari 服务器管理。    

计划运行一个独立的服务器(a standalone server)来承载视图( to host views)。包括访问由一个不同的 Ambari 服务器管理的集群,可以在这个独立的
Ambari 服务器上作为远程集群来注册这些集群。注册万这些远程集群之后,可以使用它们配置视图实例。

步骤:
    ① 浏览到 Remote Clusters 然后单击 Register Remote Cluster
        
    ② 为远程集群输入名称,Ambari 集群 URL, 以及集群用户名和密码

        
    ③ 单击 Save
        
        
    远程集群现在可以配置视图实例了。    
        
        
        
        
3 管理用户和组 (Managing Users and Groups)
-----------------------------------------------------------------------------------------------------------------------------------------    
作为 Ambari 系统管理员,可以创建和管理用户和组在 Ambari 中可用。也可以从外部 LDAP 系统导入用户和组信息到 Ambari 中。    
    
    
3.1 理解用户和组 (Understanding Users and Groups)
-----------------------------------------------------------------------------------------------------------------------------------------

    
3.1.1 本地和 LDAP 类型的用户和组 (Local and LDAP User and Group Types)
-----------------------------------------------------------------------------------------------------------------------------------------
本地用户信息存储在 Ambari 数据库中,并由本地数据库验证身份。 LDAP 用户只有基本的帐户信息存储在 Ambari 数据库中。不像本地用户,LDAP 用户通过
外部 LDAP 系统验证身份。

本地组存储在 Ambari 数据库中。LDAP 组只有基本信息存储在 Ambari 数据库中,包括组成员信息。不像本地组,LDAP 组是从外部 LDAP 系统导入并同步的。

要在 Ambari 中使用 LDAP 用户和组,必须配置 Ambari 使用外部 LDAP 系统进行身份验证。Ambari 默认没有给新创建的用户和组任何许可权限,不管是本地
创建的还是 LDAP 同步的,作为 Ambari 管理员,必须明确授予每个用户许可权限以使它们访问集群或视图。
    
    
3.1.2 Ambari 管理员特权 (Ambari Administrator Privileges)
-----------------------------------------------------------------------------------------------------------------------------------------    
作为 Ambari 管理员,可以创建新用户,删除用户,修改用户密码,编辑用户设置。可以控制本地和 LDAP 用户拥有一定的特权。下表列出 Ambari 管理员
对本地和 LDAP Ambari 用户可用和不可用的特权:

        Ambari Administrator Privileges for Ambari Local and LDAP Users
    
        +-----------------------------------+---------------+-------------------+
        | Ambari Administrator Privilege    | Local User    | LDAP User            |
        +-----------------------------------+---------------+-------------------+
        | Change password                    | Available        | Not Available        |
        +-----------------------------------+---------------+-------------------+
        | Set Ambari Admin flag                | Available        | Available            |
        +-----------------------------------+---------------+-------------------+
        | Change group membership            | Available        | Not Available        |
        +-----------------------------------+---------------+-------------------+
        | Delete user                        | Available        | Not Available        |
        +-----------------------------------+---------------+-------------------+
        | Set active or inactive status        | Available        | Available            |
        +-----------------------------------+---------------+-------------------+
        
    
    
3.2 创建本地用户 (Create a Local User)
-----------------------------------------------------------------------------------------------------------------------------------------    
作为 Ambari 系统管理员,在 Ambari 管理页面:

    步骤:
        ① 浏览到 Users
        
        ② 单击 Create Local User
        
        ③ 输入唯一用户名:所有用户名都转换为小写字符
        
        ④ 输入密码,然后确认密码
        
        ⑤ 单击 Save

        
3.3 设置用户状态 (Set User Status)
-----------------------------------------------------------------------------------------------------------------------------------------    
用户状态指明用户是活动的并允许其登录到 Ambari, 或者是非活动的并拒绝登录。 通过设置状态标志为活动的或者非活动的,可以有效禁止用户帐号访问
Ambari 而保留帐号相关的权限信息。

作为 Ambari 管理员,在 Ambari 管理页面上:

    步骤:
        ① 浏览到 Users
        
        ② 单击要修改的用户名
        
        ③ 单击 Status 控制其在 Active 或 Inactive 间转换
        
        ④ 选择 OK

        此修改立即生效。



3.4 设置 Ambari 管理员标志 (Set the Ambari Admin Flag)
-----------------------------------------------------------------------------------------------------------------------------------------
作为 Ambari 系统管理员,可以设置 Ambari 管理员标志(Ambari Admin flag),授予一个或多个用户 Ambari 系统管理员特权。只有 Ambari 系统管理员
可以设置或移除 Ambari Admin flag 。Ambari 阻止自己偶尔移除自己帐号的 Ambari Admin flag

作为 Ambari 系统管理员,在 Ambari 管理页面:

    步骤:
        ① 浏览到 Users
        
        ② 单击要修改的用户名
        
        ③ 单击 Ambari Admin control
        
        ④ 单击 Yes 设置,或 No 移除 Ambari Admin flag



3.5 修改本地用户密码 (Change the Password for a Local User)
-----------------------------------------------------------------------------------------------------------------------------------------
作为 Ambari 系统管理员,Ambari Admin page:

    步骤:
        ① 浏览到 Users
        
        ② 单击 Change password
        
        ③ 输入管理员密码,以确认你有要求的特权
        
        ④ 输入密码,然后确认密码
        
        ⑤ 单击 Save



3.6 删除本地用户 (Delete a Local User)
-----------------------------------------------------------------------------------------------------------------------------------------
删除本地用户从系统中删除用户帐户,包括与该用户相关联的所有权限。如果只是要禁止用户登录,设置此用户状态为 Inactive

作为 Ambari 系统管理员,在 Ambari Admin page:

    步骤:
        ① 浏览到 Users
        
        ② 单击 Delete User

        ③ 确认



3.7 创建本地组 (Create a Local Group)
-----------------------------------------------------------------------------------------------------------------------------------------
作为 Ambari 系统管理员,在 Ambari Admin 页面:

    步骤:
        ① 浏览到 Groups
        
        ② 单击 Create Local Group
        
        ③ 输入唯一性用户组名称
        
        ④ 单击 Save



3.8 管理组成员关系 (Managing Group Membership)
-----------------------------------------------------------------------------------------------------------------------------------------



3.8.1 将用户添加到组中 (Add a User to a Group)
-----------------------------------------------------------------------------------------------------------------------------------------
作为 Ambari 系统管理员,在 Ambari Admin 页面:

    步骤:
        ① 浏览到 Groups
        
        ② 在 Group Name 列表单击组名称
        
        ③ 单击 Local Members 编辑组成员列表
        
        ④ 在空白区域,输入一个用户名的第一个字符
        
        ⑤ 从可用用户名列表中,单击一个
        
        ⑥ 单击打勾标记 √ 保存显示的成员



3.8.2 修改组成员 (Modify Group Membership)
-----------------------------------------------------------------------------------------------------------------------------------------
作为 Ambari 系统管理员,在 Ambari Admin 页面:

    步骤:
        ① 浏览到 Groups

        ② 单击要修改的组的名称

        ③ 单击 Local Members 控件

        ④ 在 Local Members 文本区域修改成员

        ⑤ 单击用户名后面的 × 删除此用户

        ⑥ 保存修改,单击打勾标记 √

        丢掉修改,单击 ×


3.9 删除本地组 (Delete a Local Group)
-----------------------------------------------------------------------------------------------------------------------------------------
删除一个本地组也移除了与该组关联的组成员信息,包括特权(privileges)。

作为 Ambari 系统管理员,在 Ambari Admin 页面:

    步骤:
        ① 浏览到 Groups

        ② 单击 Delete Group

        ③ 确认



3.10 启用用户的主目录创建 (Enable User Home Directory Creation)
-----------------------------------------------------------------------------------------------------------------------------------------
运行 Hadoop 组件通常要求初始化用户帐号,唯一存在 /user/<username> HDFS home 目录。可以启用为每个创建的帐号自动创建 /user/<username> HDFS
home 目录。为用户创建 Home directory 发生在或者通过在 Ambari 管理页手动创建用户,或者通过 LDAP 同步期间。

为了启用自动创建用户主目录,在 Ambari 服务器主机上执行下列步骤:

    步骤:
        ① 编辑 ambari-properties 文件

            vi /etc/ambari-server/conf/ambari.properties

        ② 添加如下属性:
            
            ambari.post.user.creation.hook.enabled=true

        
        ③ 添加脚本路径到 ambari 属性文件
        
            ambari.post.user.creation.hook=/var/lib/ambari-server/resources/scripts/post-user-creation-hook.sh

        
        ④ 重启 Ambari 服务器

            ambari-server restart

        
        重要提示:
            在 kerberized 环境,必须在默认的用户创建钩子脚本中修改 kinit 文件路径:
            
            /var/lib/ambari-server/resources/scripts/post-user-creation-hook.sh
            
    
启用 post-user 创建脚本之后,当用户创建时 Ambari 执行脚本并且每次调用脚本都会记录日志消息。如果脚本返回非零值,记录一个 ERROR, 否则记录
一条 INFO-level 消息。




4 手动安装 Ambari Agent (Installing Ambari Agents Manually)
-----------------------------------------------------------------------------------------------------------------------------------------
在没有使用 SSH 为 Ambari 自动安装 Agent 情况下,或者想预先安装 Agent, 可以执行手动安装 Agent。



4.1 下载 Ambari Repo (Download the Ambari Repo)
-----------------------------------------------------------------------------------------------------------------------------------------
选择主机上运行的 OS 族: RHEL/CentOS/Oracle Linux 7

在有 Internet 访问的服务器主机上,使用命令行编辑器

步骤:
    
    ① 以 root 身份登录主机
    
    ② 下载 Ambari 仓库文件到安装主机目录中:
    
        wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari.repo -O /etc/yum.repos.d/ambari.repo

    ③ 检查 repo 列表确认仓库以配置
    
        yum repolist
        
    ④ 进入手动安装 Ambari Agent 过程



4.2 手动安装 Ambari Agent (Install the Ambari Agents Manually)
-----------------------------------------------------------------------------------------------------------------------------------------
使用特定于 OS 族的指令运行 Agent 安装: RHEL/CentOS/Oracle Linux

步骤:

    ① 在集群的每部主机上安装 Ambari Agent
    
        yum install ambari-agent
        
    ② 使用一个文本编辑器,编辑 ambari-agent.ini 文件来配置 Ambari Agent , 如下例子所示

        vi /etc/ambari-agent/conf/ambari-agent.ini
        [server]
        hostname=<your.ambari.server.hostname>
        url_port=8440
        secured_url_port=8441

    ③ 在集群的每部主机上启动 agent
    
        ambari-agent start

        agent 在启动时向服务器注册
        
    

5. 自定义 HDP 服务 (Customizing HDP Services)
-----------------------------------------------------------------------------------------------------------------------------------------



5.1 为 HDP 2.x Stack 定义服务用户和组 (Defining Service Users and Groups for a HDP 2.x Stack)
-----------------------------------------------------------------------------------------------------------------------------------------
Hadoop 中各个服务运行在其各自的 Unix 账号之下。这些账号称为服务账号。这些服务用户属于特定的 Unix 用户组。"Smoke Test" 是一个服务用户,专用
于安装期间使用 Ambari Web GUI 的 Services View, 在组件上运行 smoke tests 。也可以在安装之后按需要以 "Smoke Test" 运行服务检查。可以在安装
期间的自定义服务(Customize Services) 步骤,利用 Misc 选项卡自定义这些用户和用户组。

    Note:
    -------------------------------------------------------------------------------------------------------------------------------------
    使用 Skip Group Modifications 选项不会修改集群中 Linux 用户组。选择这个选项通常是环境中使用 LDAP 管理用户组而非本地 Linux 机器所要求的

如果选择自定义用户名, Ambari 检测这些自定义帐号来查看它们是否已经存在。如果不存在,Ambari 创建它们。安装期间,默认帐号总是会创建,不管是否
指定了自定义帐号。如果默认帐号没有使用,可以在安装之后删除。

    Note:
    -------------------------------------------------------------------------------------------------------------------------------------
    所有新创建的服务用户帐号,和已存在的用作服务用户的用户帐号,必须 UID >= 1000.



                                    Service Users
            +===================+=======================+===================================+
            | Service            | Component                | Default User Account                |
            +-------------------+-----------------------+-----------------------------------+
            | Accumulo            | Accumulo Tracer,        | accumulo                            |
            |                    | Accumulo Monitor,     | (HDP 2.2 or later)                |
            |                    | Accumulo GC, Accumulo    |                                    |
            |                    | Master                |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Ambari Metrics    | Metrics Collector,    | ams                                |
            |                    | Metrics Monitor        |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Ambari Infra        | Infra Solr Instance    | infra-solr                        |
            +-------------------+-----------------------+-----------------------------------+
            | Atlas                | Atlas Metadata Server    | atlas (HDP 2.3 or later)            |
            +-------------------+-----------------------+-----------------------------------+
            | Falcon             | Falcon Server            | falcon                            |
            +-------------------+-----------------------+-----------------------------------+
            | Flume                | Flume Agents            | flume                                |
            +-------------------+-----------------------+-----------------------------------+
            | HBase                | MasterServer            | hbase                                |
            |                    | RegionServer            |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | HDFS                | NameNode                 | hdfs                                |
            |                    | SecondaryNameNode     |                                    |
            |                    | DataNode                |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Hive                | Hive Metastore,         | hive                                |
            |                    | HiveServer2            |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | HUE                | HUE                    | hue                                |
            +-------------------+-----------------------+-----------------------------------+
            | Kafka                | Kafka Broker            | kafka                                |
            +-------------------+-----------------------+-----------------------------------+
            | Knox                | Knox Gateway            | knox                                |
            +-------------------+-----------------------+-----------------------------------+
            | Mahout            | Mahout clients        | mahout (HDP 2.2 or later)            |
            +-------------------+-----------------------+-----------------------------------+
            | MapReduce2        | HistoryServer            | mapred                            |
            +-------------------+-----------------------+-----------------------------------+
            | Oozie                | Oozie Server            | oozie                                |
            +-------------------+-----------------------+-----------------------------------+
            | PostgreSQL        | PostgreSQL             | postgres (Created as part of        |
            |                    |(with Ambari Server)    | installing the default PostgreSQL    |            
            |                    |                        | database with Ambari Server. If     |
            |                    |                        | you are not using    the Ambari        |
            |                    |                        | PostgreSQL database, this user is    |
            |                    |                        | not needed.)                        |
            +-------------------+-----------------------+-----------------------------------+
            | Ranger            | Ranger Admin,            |ranger (HDP 2.2 or later)            |
            |                    | Ranger Usersync        |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Ranger KMS        | Ranger KMS Server        | kms (HDP 2.3 or later)            |
            +-------------------+-----------------------+-----------------------------------+
            | Slider            | Slider clients        | slider                            |
            +-------------------+-----------------------+-----------------------------------+
            | SmartSense        | HST Server,            | <same as ambari agent>            |
            |                    | HST Agent,            |                                     |
            |                    | Activity Analyzer,    |                                    |
            |                    | Activity Explorer        |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Spark                | Livey Servers            | livy                                |
            +-------------------+-----------------------+-----------------------------------+
            | Spark                | Spark History Server    | spark (HDP 2.2 or later)            |
            +-------------------+-----------------------+-----------------------------------+
            | Sqoop                | Sqoop                    | sqoop                                |
            +-------------------+-----------------------+-----------------------------------+
            | Storm                | Masters (Nimbus,         | storm                                |
            |                    | DRPC Server,             |                                    |
            |                    | Storm REST API, Server|                                    |
            |                    | , Storm UI Server)     |                                    |
            |                    | Slaves (Supervisors,     |                                    |
            |                    | Logviewers)            |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Tez                | Tez clients            | tez                                |
            +-------------------+-----------------------+-----------------------------------+
            | WebHCat            | WebHCat Server        | hcat                                |
            +-------------------+-----------------------+-----------------------------------+
            | YARN                | NodeManager            | yarn                                |
            |                    | ResourceManager        |                                    |
            +-------------------+-----------------------+-----------------------------------+
            | Zeppelin Notebook    | Zeppelin Notebook        | zeppelin                            |
            +-------------------+-----------------------+-----------------------------------+
            | ZooKeeper            | ZooKeeper                | zookeeper                            |
            +-------------------+-----------------------+-----------------------------------+
    
        对于所有的组件来说,Smoke Test 用户为集群服务执行 smoke tests 作为安装过程的一部分。也可以在  Ambari Web UI 上按需执行。
        smoke test 的默认帐号为 ambari-qa
    
                                
                                Service Groups
            +===============+=======================+===============+
            | Service        | Components            | Default Group    |
            +---------------+-----------------------+---------------+
            | All            | All                    | hadoop        |
            +---------------+-----------------------+---------------+
            | Atlas            | Atlas Metadata Server    | atlas            |
            +---------------+-----------------------+---------------+
            | Knox            | Knox Gateway            | knox            |
            +---------------+-----------------------+---------------+
            | Ranger        | Ranger Admin,            | ranger        |
            |                | Ranger Usersync        |                |
            +---------------+-----------------------+---------------+
            | Ranger KMS    | Ranger KMS Server        | kms            |
            +---------------+-----------------------+---------------+
            | Spark            | Spark History Server    | spark            |
            +---------------+---------------------------------------+
            
            
            

5.2 设置服务的用户或组属性 (Setting Properties That Depend on Service Usernames/Groups)
-----------------------------------------------------------------------------------------------------------------------------------------
必须设置某些属性来匹配特定服务的用户名或服务用户组。如果设定使用非默认(non-default), 自定义的 HDFS 或 HBase 服务的用户名,或者 Hadoop 的
用户组名称,必须编辑如下属性,通过选择 Services > Service.Name > Configs > Advanced:

    HDFS Settings: Advanced
    
    dfs.permissions.superusergroup             The same as the HDFS username. The default is "hdfs"
    dfs.cluster.administrators                 A single space followed by the HDFS username.
    dfs.block.local-path-access.user         The HBase username. The default is "hbase".


    MapReduce Settings: Advanced
    
    mapreduce.cluster.administrators         A single space followed by the Hadoop group name.





6. 使用自定义或私有主机名 (Using Custom and Private Hostnames)
-----------------------------------------------------------------------------------------------------------------------------------------
Ambari Server 依赖于 Ambari Agent 的主机名来与集群成员主机上的 operator 通信。

Ambari Agents 可配置使用自定义主机名(custom hostname) 和共用主机名(public hostnames) 注册到 Ambari Server. Ambari 在 Ambari web UI 中使用
agent 的主机名来命名和指向主机,例如,Hosts 列表。共用主机名,如果配置,在配置信息中引用时作为主机的别名使用,并用于 Quick Links 中的 URLs

决定是使用自定义主机名,还是共用主机名,考虑下列场景:


        +-------------------------------------------------------+-----------------------------------+
        | Scenario                                                | Configuration                        |
        +-------------------------------------------------------+-----------------------------------+
        |If you have a host with the host name                    | Configure a Custom Host Name        |
        |revo1.hortonworks.local, but you want it to show up in    |                                    |
        |Ambari web UI as c1r1.hortonworks.local, you should    |                                    |
        |configure a custom hostname.                            |                                    |
        +-------------------------------------------------------+-----------------------------------+
        |If you have a host with the host name                    | Configure a Public Host Name        |
        |revo1.hortonworks.local and want to use a DNS CNAME    |                                    |
        |of nn1.hortonworks.local to be used for Quick Links    |                                    |
        |and as a configuration alias, you should configure a    |                                    |
        |public hostname.                                        |                                    |
        +-------------------------------------------------------+-----------------------------------+




6.1 配置自定义主机名 (Configure a Custom Host Name)
-----------------------------------------------------------------------------------------------------------------------------------------
建议组件已经部署到主机上之后不要自定义 Ambari Agent 的主机名。为 Ambari Agent 自定义主机名会导致一个新的 agent 以自定义的主机名注册到服务
器,而不是已存在的 agent 的主机名。

如果还没有部署组件到 Ambari Agent, 通过如下步骤配置自定义主机名:

    ① 编辑 /var/lib/ambari-agent/hostname.sh 脚本内容,使它返回想要 Ambari Agent 注册使用的主机名。确认使用 chmod 修改脚本的权限,使它可
    以由运行 Ambari Agent 的用户执行脚本。打多数安装,使用 0755 许可权限。
    
    ② 作为一个例子,下面脚本可以让 Ambari Agent 使用 'c1r1.hortonworks.local' 主机名进行注册
        
        #!/bin/sh
        echo ‘c1r1.hortonworks.local’

    ③ 配置 Ambari Agent 使用这个脚本,通过文本编辑器编辑 /etc/ambari-agent/conf/ambari-agent.ini 文件。
    
    ④ 添加如下内容到 [agent] 节:
        
        hostname_script=/var/lib/ambari-agent/hostname.sh
        
    ⑤ 在这种情况下,Ambari Agent 会使用 /var/lib/ambari-agent/hostname.sh 脚本来确定它向 Ambari Server 注册使用的主机名。
    
    ⑥ 重启 agent 确保它是以自定义的主机名注册:
    
        ambari-agent restart


6.2 配置公用主机名 (Configure a Public Host Name)
-----------------------------------------------------------------------------------------------------------------------------------------
大型集群部署对特定机器使用 DNS 别名(DNS aliases) 是很常见的,这样,当服务从那部主机移到另一部物理主机上时,涉及到这些主机的配置文件就不需
要改变。例如,如果有多个部署的应用程序写入到 HDFS, 使用 DNS 别名而非一个物理主机名指向到 HDFS NameNode, 允许将 NameNode 迁移到另外一部物理
机器而不用修改那些部署的应用程序的 HDFS 客户端配置。

在 Ambari 中,在配置文件或 Quick Links 中,引用单个主机时,各主机可以配置为使用公用主机名。例如,如果有一部物理主机,其 FQDN 名为
revo1.hortonworks.local, 并且有一个 DNS CNAME 名称 nn1.hortonworks.local 也指向这部主机,配置 Ambari 使用 nn1.hortonworks.local 作为
Quick Links 关联的主机时可以的,并且当在配置中使用 nn1.hortonworks.local 时,Ambari 会理解它所关联的 revo1.hortonworks.local 主机。这种方式
如果要将 NameNode 迁移到 revo4.hortonworks.local, 可以配置这部新主机使用 nn1.hortonworks.local 作为共用主机名,而不必为客户端配置做任何修改。


    Note:
    -------------------------------------------------------------------------------------------------------------------------------------
    仍然需要修改引用了 revo1.hortonworks.local 的特定属性,并使用选定的别名更新它们,本例中为 nn1.hortonworks.local, 以使之以这种特性工作

作为开始,在要配置的每部主机上按如下步骤配置共用主机名:

    ① 编辑 /var/lib/ambari-agent/hostname.sh 脚本内容,使它返回想要 Ambari Agent 注册使用的公用主机名。确认使用 chmod 修改脚本的权限,
    使它可以由运行 Ambari Agent 的用户执行脚本。打多数安装,使用 0755 许可权限。
    
    ② 作为一个例子,下面脚本可以让 Ambari Agent 使用 'nn1.hortonworks.local' 主机名进行注册
    
        #!/bin/sh
        echo ‘nn1.hortonworks.local’
    
    ③ 配置 Ambari Agent 使用这个脚本,通过文本编辑器编辑 /etc/ambari-agent/conf/ambari-agent.ini 文件。
    
    ④ 添加如下内容到 [agent] 节:
    
        public_hostname_script=/var/lib/ambari-agent/public_hostname.sh
        
    ⑤ 在这种情况下,Ambari Agent 会使用 /var/lib/ambari-agent/hostname.sh 脚本来确定它向 Ambari Server 注册使用的公用主机名。
    
    ⑥ 重启 agent 确保它是以自定义的主机名注册:
    
        ambari-agent restart


6.2.1 公用主机名的限制 (Public Hostname Limitations)
-----------------------------------------------------------------------------------------------------------------------------------------
目前这种能力只能用于主机级别,而不能用于主机组件级别(not the host-component level), 也就是说,如果有一部主机,NameNode 和 ResourceManager
运行在主机上,则主机的公用主机名可用于同时配置 NameNode 和 ResourceManager. 不能仅配置 NameNode 或仅配置 ResourceManager 使用公用主机名。



6.2.2 检查公用主机名是否配置正确 (Checking if Public Hostnames Are Correctly Configured)
-----------------------------------------------------------------------------------------------------------------------------------------
可以使用 Ambari REST API 进行双路检测(double-check) Ambari 已经与 Agent 配置的公用主机名关联。

    ① 登录到 Ambari 之后,打开一个新选项卡并使用下面 URL 来查看特定主机到配置:
    
        http://ambari.server:8080/api/v1/hosts/your.hosts.fqdn
        
    
    ② 从返回到 JSON 格式信息中查找 'public_host_name' 确保为该主机配置的公用主机名正确。



7. 修改主机名 (Changing Host Names)
-----------------------------------------------------------------------------------------------------------------------------------------
境况可能要求修改集群中已有的主机名称。除了需要对基础结构和环境参数进行修改,还必须要修改 Ambari 用于管理 HDP 集群使用的主机名称。

前提条件:

        ● 备份 Ambari 数据库
        ● 禁用 Kerberos :使用 Ambari Web, 浏览到 Admin > Kerberos, 然后单击 Disable Kerberos


在 Ambari 中修改主机名称

步骤:

    (1) 在 Ambari Web > Background Operations 页面,停止所有未完成的命令和作业
    
    (2) 停止所有服务
    
    (3) 停止 ambari-server 和所有主机上的 ambari-agent
        
        ambari-server stop
        ambari-agent stop

    (4) 使用 host names changes 创建 *.json 文件,例如: host_names_changes.json
        {
            "cluster1" : {
            "c6400.ambari.apache.org" : "c6410.ambari.apache.org",
            "c6401.ambari.apache.org" : "c6411.ambari.apache.org",
            ....
            }
        }
        这里,cluster1 是集群的名称,"c6400.ambari.apache.org" :"c6410.ambari.apache.org" 是
        
            "current_host_name" : "new_host_name"
        
        格式的主机名称对。
        
    (5) 在 ambari-server 主机上执行如下命令:
        
        ambari-server update-host-names host_names_changes.json
        
    (6) 这个动作成功结束之后,更新所有节点的主机名称,根据添加的 *.json 文件内做的改变
    
    (7) 如果修改的主机名的节点上运行着 ambari server, 那么必须为每个 ambari-agent 更新这个主机名称。
        在 /etc/ambari-agent/conf/ambari-agent.ini 文件中,更新 "hostname" 字段指向新的 ambari-server 所在的主机名称
    
    (8) 启动 ambari-server 和所有主机上的 ambari-agent
    
            ambari-server start
            ambari-agent start
    
    (9) 使用 Ambari Web, 启动所有服务
        
        对每个服务,浏览到 Services > service_name > Service Actions > Start
    
    (10) 如果启用了 NameNode HA, 在启动了ZooKeeper 服务之后,必须:
    
        a. 启动所有的 ZooKeeper 组件
        b. 在两个 NameNode 主机上执行如下命令:
        
            hdfs zkfc -formatZK -force
    
    (11) 如果在开始这个过程之前禁用了 Kerberos, 必须启用 Kerberos 安全性,或者通过自动方式的,或者是手动设置使其工作。如果使用手动选项,
    必须确保生产和部署新的 keytab 包含新的主机名。
    
    

8. 迁移 Ambari Server (Moving the Ambari Server)
-----------------------------------------------------------------------------------------------------------------------------------------
要将一个使用默认的,嵌入式的,PostgreSQL 数据库的 Ambari Server 转移到一部新的主机上:

步骤:

    (1) 备份当前数据 —— 从原始的 Ambari Server 数据库

    (2) 更新所有的 Agent —— 指向新的 Ambari Server
    
    (3) 安装新的 Ambari Server —— 在新的主机上,并使用原始服务器上的信息操纵数据库。
    
如果 Ambari Server 运行一种非默认的数据库,例如 MySQL, Oracle, 或现存的 PostgreSQL 实例,必须使用特定于数据库类型的 backup, restore, and
stop/start 过程。



8.1 备份当前数据 (Back up Current Data)
-----------------------------------------------------------------------------------------------------------------------------------------

步骤:
    ① 在 Ambari Server 主机上,停止原先的 Ambari Server
        
        ambari-server stop
        
    ② 创建目录以存放数据库备份
        
        cd /tmp
        mkdir dbdumps/
        cd dbdumps/

    ③ 创建数据库备份
    
        pg_dump -U {ambari.db.username} -f ambari.sql
        Password: {ambari.db.password}
        
        其中变量如下:
        +-----------------------+---------------------------+---------------+
        | Variable                | Description                | Default        |
        +-----------------------+---------------------------+---------------+
        | ambari.db.username    |The database username.        | ambari        |
        +-----------------------+---------------------------+---------------+
        | ambari.db.password    |The database password.        | bigdata        |
        +-----------------------+---------------------------+---------------+
        
    ④ 创建 Ambari Server 元数据信息的备份
    
        ambari-server backup


8.2 更新所有 Agent (Update all Agents)
-----------------------------------------------------------------------------------------------------------------------------------------

步骤:
    ① 在每个 agent 主机上,停止 agent
    
        ambari-agent stop

    ② 移除旧的 agent 证书(如果存在的话)
    
        rm /var/lib/ambari-agent/keys/*
        
    ③ 使用文本编辑器,编辑 /etc/ambari-agent/conf/ambari-agent.ini 指向新的主机

        [server]
        hostname={new.ambari.server.fqdn}
        url_port=8440
        secured_url_port=8441


8.3 安装新新 Ambari Server (Install the New Ambari Server)
-----------------------------------------------------------------------------------------------------------------------------------------

    (1) 在新主机上安装新的 Ambari Server
        
        yum install ambari-server

    (2) 运行 Ambari Server 设置
    
        ambari-server setup
        
    (3) 重新启动 PostgreSQL 实例
    
        service postgresql restart
        
    (4) 打开 PostgreSQL 交互式终端
    
        su - postgres
        psql
    
    (5) 使用交互式终端,删除由新 ambari 设置和安装的 "ambari" 数据库
    
        drop database ambari;
        
    (6) 检查确认数据库已被删除。"ambari" 数据库不会被列出
    
        \l
        
    (7) 创建新新 "ambari" 数据库来持有备份的数据
    
        create database ambari;
        
    (8) 退出 PostgreSQL 交互式终端
    
        \q
        
    (9) 将之前保存的数据备份(/tmp/dbdumps/ambari.sql)复制到这部新到 Ambari Server 主机上

    (10) 讲保存到数据导入到新到数据库
    
        psql -d ambari -f /tmp/dbdumps/ambari.sql
        
    (11) 启动新 Ambari Server
    
        ambari-server start
        
    (12) 在每部 Agent 主机上,启动 Ambari Agent
    
        ambari-agent start
        
    (13) 打开 Ambari Web, 浏览器地址指向:
    
        <new.Ambari.Server>:8080
        

    新 Ambari Server 已准备好可以使用了。


参考:     Ambari 系统管理 (Ambari Administration)  之二



猜你喜欢

转载自blog.csdn.net/devalone/article/details/80769775