阿里云E-MapReduce默认在每个Master节点上部署一个Hue实例,当Hue访问压力过大时,其加载速度会变慢。本文介绍如何通过Gateway集群增加Hue实例数量,并通过阿里云负载均衡(Server Load Balancer)访问Hue,实现Hue多实例负载均衡。

前提条件

已创建E-MapReduce的Hadoop集群,详情请参见创建集群

步骤一:创建Gateway

  1. 登录阿里云E-MapReduce控制台
  2. 在顶部菜单栏处,根据实际情况选择地域和资源组
  3. 单击上方的集群管理页签。
  4. 单击右上角的创建Gateway
  5. 创建Gateway页面,配置如下参数,其余参数使用默认值。
    1. 设置集群名称
    2. 开启挂载公网开关。
    3. 设置登录密码
    4. 关联集群列表中,选择已创建的集群名称。
    5. 勾选E-MapReduce服务条款
    说明 如果该Gateway只用来Hue负载均衡,则系统盘大小可以设置为120 GB、数据盘大小设置为200 GB,数量设置为2。
  6. 单击创建

步骤二:添加Hue服务至Gateway集群

  1. 集群管理页面,单击已创建的Gateway集群所在行的详情
  2. 可选:集群基础信息软件信息区域,查看您Gateway集群的版本。
    如果您创建的集群是EMR-3.28.0和EMR-4.3.0之前版本,请在添加Hue服务前,登录Gateway集群任意节点,执行如下命令。
    mysql -u root -pEMRroot1234 -hemr-header-1 << EOF
    GRANT ALL PRIVILEGES on *.* to 'hue'@'%' WITH GRANT OPTION;
    GRANT ALL on hue.* to 'hue'@'%' IDENTIFIED BY 'EMRhue1234';
    FLUSH PRIVILEGES;
    CREATE DATABASE IF NOT EXISTS hue;
    EOF
  3. 在左侧导航栏,单击集群管理
  4. 集群与服务管理页面,单击添加服务
  5. 添加服务对话框,勾选Hue
  6. 单击确定

步骤三:配置Hue

  1. 集群管理页面,单击已创建的Gateway集群所在行的详情
  2. 在左侧导航栏,单击集群服务 > Hue
  3. 配置页签,设置more_hue_ports以添加端口,多个端口时用英文逗号(,)分隔。
    port
    说明 每一个端口代表在所有节点上的一个Hue实例,默认端口为8888。例如,Gateway上有m个节点,more_hue_ports设置了n个端口,则Gateway上一共有m*(n+1)个Hue实例。
  4. 单击右上角的保存
  5. 确认修改对话框,配置各项参数。
    1. 输入执行原因
    2. 打开自动更新配置开关。
    3. 单击确定。
  6. 重启Hue。
    1. 单击右上角的操作 > 重启Hue
    2. 执行集群操作对话框,配置各项参数。
    3. 单击确定
    4. 确认对话框,单击确定

步骤四:配置负载均衡

  1. 创建负载均衡实例,详情请参见创建实例
  2. 实例管理页面,单击已创建实例所在行的监听配置向导
  3. 协议&监听页面,完成以下配置。
    1. 选择HTTP协议。
    2. 设置监听端口为80。
    3. 高级配置区域,单击修改
    4. 打开开启会话保持开关,设置会话保持超时时间为36000。
    5. 设置连接空闲超时时间为60。
    6. 单击下一步
  4. 后端服务器页面,完成以下配置。
    1. 选择服务器组列表中,选择新建虚拟服务器组
    2. 设置虚拟服务器组名称。例如HUE_SLB。
    3. 单击添加
    4. 搜索并勾选Gateway节点的ECS ID,单击下一步
    5. 单击继续添加,添加步骤三:配置Hue步骤中参数more_hue_ports配置的所有端口以及默认的8888端口。
    6. 单击添加
    7. 单击下一步
  5. 健康检查页签,单击下一步
  6. 配置审核页签,单击提交
  7. 单击知道了
    返回实例管理页面,单击refresh图标。

    当后端ECS的健康检查状态为正常时,表示后端ECS可以正常处理负载均衡转发的请求。

步骤五:访问Hue

在浏览器中输入<负载均衡服务地址>:<监听端口>,使用默认账号admin和初始密码登录Hue。
  • 服务地址:在负载均衡的实例管理页面查看。
  • 监听端口:您在步骤四:配置负载均衡中配置的监听端口。例如80。
您可以参照以下步骤,查看初始密码:
  1. 在E-MapReduce的集群管理页面,单击相应集群所在行的详情
  2. 在左侧导航栏中,单击集群服务 > Hue
  3. 配置页签的服务配置区域,查看admin_pwd参数,该参数对应的值就是随机密码。