在 HDInsight Hadoop 群集上安装并使用 Hue

了解如何在 HDInsight 群集上安装 Hue,并使用隧道将请求路由至 Hue。

注意

HDInsight 4.0 及更高版本中不支持 Hue。

什么是 Hue?

Hue 是一组 Web 应用程序,用来与 Apache Hadoop 群集交互。 可以使用 Hue 浏览与 Hadoop 群集关联的存储(在 HDInsight 群集的案例中为 WASB)、运行 Hive 作业和 Pig 脚本等等。 HDInsight Hadoop 群集上的 Hue 安装提供以下组件。

  • Beeswax Hive 编辑器
  • Apache Pig
  • 元存储管理器
  • Apache Oozie
  • FileBrowser(与 WASB 默认容器进行通信)
  • 作业浏览器

警告

完全支持通过 HDInsight 群集提供的组件,Azure 支持部门帮助找出并解决与这些组件相关的问题。

自定义组件可获得合理范围的支持,有助于进一步解决问题。 这可能会促进解决问题,或要求使用可用的开源技术渠道,在渠道中可找到该技术的深厚的专业知识。 例如,有许多可以使用的社区站点,例如:有关 HDInsight 的 Microsoft Q&A 问题页面 (https://stackoverflow.com)。 此外,Apache 项目在 https://apache.org 上提供了项目站点,例如 Hadoop

使用脚本操作安装 Hue

请参照下表中的信息执行脚本操作。 有关如何使用脚本操作的具体说明,请参阅使用脚本操作自定义 HDInsight 群集

注意

若要在 HDInsight 群集上安装 Hue,建议的头节点大小为至少 A4(8 核、14 GB 内存)。

properties
脚本类型: - Custom
名称 安装 Hue
Bash 脚本 URI https://hdiconfigactions.blob.core.chinacloudapi.cn/linuxhueconfigactionv02/install-hue-uber-v02.sh
节点类型: Head

运行 Hive 查询

  1. 在 Hue 门户中,依次选择“查询编辑器”和“Hive”,以打开 Hive 编辑器。

    HDInsight hue portal use hive editor

  2. 在“帮助”选项卡上的“数据库”下面,应会看到 hivesampletable。 这是 HDInsight 上的所有 Hadoop 群集随附的示例表。 在右窗格中输入示例查询,并在下方窗格的“结果”选项卡中查看输出,如屏幕截图所示。

    HDInsight hue portal hive query

    也可以使用“图表”选项卡查看结果的视觉表示形式。

浏览群集存储

  1. 在 Hue 门户中,选择菜单栏右上角的“文件浏览器”。

  2. 默认情况下,文件浏览器在 /user/myuser 目录中打开。 选择路径中紧接在用户目录前面的正斜杠,以转到与群集关联的 Azure 存储容器的根目录。

    HDInsight hue portal file browser

  3. 右键单击某个文件或文件夹,以查看可用的操作。 使用右侧的“上传”按钮,将文件上传到当前目录。 使用“新建”按钮创建新的文件或目录。

注意

Hue 文件浏览器只能显示与 HDInsight 群集关联的默认容器的内容。 与群集关联的任何其他存储帐户/容器将无法使用文件浏览器访问。 不过,与群集关联的其他容器始终可供 Hive 作业访问。 例如,如果在 Hive 编辑器中输入 dfs -ls wasbs://newcontainer@mystore.blob.core.chinacloudapi.cn 命令,也可以看到其他容器的内容。 在此命令中,newcontainer 不是与群集关联的默认容器。

重要注意事项

  1. 用于安装 Hue 的脚本只会在群集的主头节点上安装它。

  2. 在安装期间,系统会重启多个 Hadoop 服务(HDFS、YARN、MR2、Oozie),以更新配置。 在脚本安装完 Hue 之后,可能需要一些时间让其他 Hadoop 服务启动。 一开始可能会影响 Hue 的性能。 等所有服务都启动之后,Hue 就可以完全正常运行。

  3. Hue 不了解 Apache Tez 作业,这是当前的 Hive 默认值。 如果想使用 MapReduce 作为 Hive 执行引擎,请更新脚本,以在脚本中使用以下命令:

    set hive.execution.engine=mr;

  4. 使用 Linux 群集时,可能会出现这种情况:服务在主头节点上运行,而 Resource Manager 可能在辅助头节点上运行。 使用 Hue 查看群集上正在运行的作业的详细信息时,这种情况可能会导致错误(如下所示)。 不过,可以在作业完成后查看作业详细信息。

    Hue portal error sample message

    这是由已知问题造成的。 解决方法如下:修改 Ambari,使活动 Resource Manager 也在主头节点上运行。

  5. 当 HDInsight 群集使用 Azure 存储(使用 wasbs://)时,Hue 能识别 WebHDFS。 因此,搭配脚本操作使用的自定义脚本会安装 WebWasb,这是用来与 WASB 通信的 WebHDFS 兼容服务。 因此,即使 Hue 门户中显示 HDFS(例如,将鼠标移到“文件浏览器”上时),也应该将它解释为 WASB。

后续步骤

使用脚本操作自定义 HDInsight 群集