Alex 的 Hadoop 菜鸟教程: 第19课 华丽的控制台 HUE 安装以及使用教程

声明

  • 本文基于Centos 6.x + CDH 5.x

HUE

Hadoop也有web管理控制台,而且还很华丽,它的名字叫HUE。通过HUE可以管理Hadoop常见的组件。下面用一幅图说明HUE能管理哪些组件

除了Oozie,LDAP SAML和Solr以外,前面的课程都说过了,Oozie是一个工作流组件,在下一课讲解,LDAP是一个用户密码的管理中心,负责用户的登陆。Solr是一个全文检索的引擎,不过其实Solr也不算Hadoop系专有的,Solr在很早以前就出现了,要算的话应该算Lucene系。

如果是根据课程来的同学,大家的机器上应该已经装了这些组件

  • YARN
  • Pig
  • Hive
  • Impala
  • HBase
  • Sqoop1(我们装的是Sqoop1这边管理的是Sqoop2)
  • Zookeeper

安装HUE

可以在随便一台机器上安装HUE,官方建议在master机器上安装,我现在就俩虚拟机host1和host2,master是host1,但是我觉得host1的负担太重了,所以我决定吧HUE装host2上

在host2上执行

$ sudo yum install hue

配置HUE

配置Hadoop和HttpFs

HUE使用两种方式 WebHDFS 和 HttpFS 来访问HDFS,由于我们采用的是HA方式,所以只能用HttpFS。没有装过的同学可以看这个教程 Alex 的 Hadoop 菜鸟教程: 第18课 用Http的方式访问HDFS - HttpFs 教程

接下来我们要打开hue用户对hdfs的访问权限

编辑 /etc/hadoop-httpfs/conf/httpfs-site.xml

<!-- Hue HttpFS proxy user setting -->
<property>
  <name>httpfs.proxyuser.hue.hosts</name>
  <value>*</value>
</property>
<property>
  <name>httpfs.proxyuser.hue.groups</name>
  <value>*</value>
</property>

然后我们要在hue里面配置上httpfs的地址,编辑 /etc/hue/conf/hue.ini ,因为上一课我是在host2上安装的HttpFs,所以地址写成host2的地址

[hadoop]

  # Configuration for HDFS NameNode
  # ------------------------------------------------------------------------
  [[hdfs_clusters]]
    # HA support by using HttpFs

    [[[default]]]
      # Enter the filesystem uri
      fs_defaultfs=hdfs://mycluster

      # NameNode logical name.
      ## logical_name=

      # Use WebHdfs/HttpFs as the communication mechanism.
      # Domain should be the NameNode or HttpFs host.
      # Default port is 14000 for HttpFs.
      webhdfs_url=http://host2:14000/webhdfs/v1

fs_defaultfs 的值配置成你在 /etc/hadoop/conf/core-site.xml 里面配置的  fs.defaultFS 属性值

配置YARN

继续编辑hue.ini ,找到 [[yarn_clusters]] 编辑一下

  [[yarn_clusters]]

    [[[default]]]
      # Enter the host on which you are running the ResourceManager
      resourcemanager_host=host1

      # The port where the ResourceManager IPC listens on
      ## resourcemanager_port=8032

      # Whether to submit jobs to this cluster
      submit_to=True

      # Resource Manager logical name (required for HA)
      ## logical_name=

      # Change this if your YARN cluster is Kerberos-secured
      ## security_enabled=false

      # URL of the ResourceManager API
      resourcemanager_api_url=http://host1:8088

      # URL of the ProxyServer API
      proxy_api_url=http://host1:8088

      # URL of the HistoryServer API
      history_server_api_url=http://host1:19888

因为我的 resoucemanager , history-server 都装在host1上,所以我修改了resourcemanager_host, resourcemanager_api_url, proxy_api_url, history_server_api_url 这些属性

配置Zookeeper

找到 [zookeeper] 节点

[zookeeper]

  [[clusters]]

    [[[default]]]
      # Zookeeper ensemble. Comma separated list of Host/Port.
      # e.g. localhost:2181,localhost:2182,localhost:2183
      host_ports=host1:2181,host2:2181

配置上 host_ports

配置Hbase

HUE跟Hbase通讯是通过 hbase-thrift , Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程 中已经安装过hbase-thrift,当时是安装在 host1 上,所以我们先在 host1 上启动 hbase-thrift 服务

service hbase-thrift start

继续编辑 /etc/hue/conf/hue.ini 找到 [hbase] 段落,去掉 hbase_clusters 的注释,并修改 hbase_clusters 的地址

[hbase]
  # Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'.
  # Use full hostname with security.
  hbase_clusters=(Cluster|host1:9090)

  # HBase configuration directory, where hbase-site.xml is located.
  ## hbase_conf_dir=/etc/hbase/conf

  # Hard limit of rows or columns per row fetched before truncating.
  ## truncate_limit = 500

  # 'buffered' is the default of the HBase Thrift Server and supports security.
  # 'framed' can be used to chunk up responses,
  # which is useful when used in conjunction with the nonblocking server in Thrift.
  ## thrift_transport=buffered
  • 这边的 (Cluster|host1:9090) 里面的 Cluster并不是你的HDFS集群名字,只是一个显示在HUE界面上的文字,所以可以随便写,我这边保留 Cluster字样,后面的host1:9090是thrift的访问地址,如果有多个用逗号分隔

配置Hive

编辑 hue.ini ,找到 [beeswax] 段落,为什么叫[beeswax]而不是[hive]这是历史原因

[beeswax]

  # Host where HiveServer2 is running.
  # If Kerberos security is enabled, use fully-qualified domain name (FQDN).
  hive_server_host=host1

  # Port where HiveServer2 Thrift server runs on.
  ## hive_server_port=10000

  # Hive configuration directory, where hive-site.xml is located
  ## hive_conf_dir=/etc/hive/conf
  • 把 hive_server_host的注释去掉,并写上hive-server2 所在服务器名字
  • 如果你改了hive的默认端口,就修改hive_server_port
  • 如果你这台机器有装hive,就配置上hive_conf_dir

配置Impala

编辑 hue.ini 找到 [impala] 段落

[impala]
  # Host of the Impala Server (one of the Impalad)
  server_host=host2

其实这边的 server_host 可以写任意一台impalad所在的服务器,我在所有的datanode上都装了impalad (Alex 的 Hadoop 菜鸟教程: 第15课 Impala 安装使用教程),所以我这里写host2或者host1都无所谓

配置Pig

由于我在 Alex 的 Hadoop 菜鸟教程: 第16课 Pig 安装使用教程 只在 host1 上安装了pig,所以我先在host2上补装上pig

配置Spark

要在HUE中使用Spark还需要安装spark-jobserver,但是这个东西没在CDH中,所以我们必须手动安装spark-jobserver

先要安装SBT。SBT = (not so) Simple Build Tool,是scala的构建工具,与java的maven地位相同

curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo
sudo mv bintray-sbt-rpm.repo /etc/yum.repos.d/
sudo yum install sbt

安装好SBT后,安装spark-jobserver

git clone https://github.com/ooyala/spark-jobserver.git
cd spark-jobserver
sbt
re-start

编辑jobserver 配置文件,将jobserver跟你的spark-master连接上。编辑 job-server/src/main/resources/application.conf

修改master属性

master = "spark://xmseapp03:7077"

找到 [spark] 段落,修改 server_url 为正确的地址

[spark]
  # URL of the REST Spark Job Server.
  server_url=http://host1:8090/

配置secret_key

设置一个secret_key的目的是加密你的cookie让你的hue更安全。找到 secret_key 这个项,然后随便设置一串字符串(官方建议30-60个字符长度)这里举个例子

secret_key=qpbdxoewsqlkhztybvfidtvwekftusgdlofbcfghaswuicmqp

启动HUE

配置完毕后确保你的 HttpFs 服务启动了。然后启动HUE

service hue start

hue的运行日志在 /var/log/hue/runcpserver.log

使用HUE

启动后,访问 http://host2:8888 可以看到

第一个访问这个地址的人就会成为超级用户,输入用户名和密码后会进入快速启动

快速启动

步骤1 检查配置

检查完会给你报错,然后你根据这些错误去修正配置

当然也不是每个项都一定要修改好才可以用,比如Oozie我们就没装,就放着就好了,等以后装了Oozie再回来配置

步骤2 示例

下一步,安装示例,继续点击下一页

步骤3 用户

直接点击下一页

步骤4 执行

点击 "HUE主页" 就会跳到 HUE的控制台了

在HUE中管理HDFS

点击右上角的  File Browser

进入了HDFS管理界面

这个界面下,你可以

  • 上传文件
  • 建立文件夹
  • 删除文件

等操作

在HUE中查询Hbase

我们用HUE最重要的就是可以用它来直接跟各个hadoop组价交互,作为各个组件的UI使用。

选择最上面工具栏的 Data Browser 下拉菜单,选择Hbase

可以看到Hbase中表的列表

点击其中一个表可以看到数据

HUE支持一个Hbase的查询语法,比如像下面这幅图我是查所有以row1打头的rowkey,并往下看50条

在HUE中查询Hive

选择Hive

输入SQL后点击“执行”

是不是很方便?

在HUE中使用Spark

HUE还有其他功能,比如 可以直接建立Metatable ,查询Impala等,就自己探索把,这些功能都很简单明了。

时间: 2024-10-10 23:12:28

Alex 的 Hadoop 菜鸟教程: 第19课 华丽的控制台 HUE 安装以及使用教程的相关文章

Alex 的 Hadoop 菜鸟教程: 第15课 Impala 安装使用教程

声明: 本文基于Centos 6.x + CDH 5.x 硬件要求 Impala的使用是有硬件要求的!我第一次见到有硬件要求的,那就是你的CPU必须支持SSSE3,如果你的CPU较老,不支持SSSE3 (3个S),那么你只能找别的机器来学习Impala,因为虚拟机也没有办法给你虚拟出不同的CPU. 为什么用 Impala 因为Hive 太慢了!Impala 也可以执行SQL,但是比Hive的速度快很多.为什么Impala可以比Hive快呢?因为Hive采用的是把你的sql转化成hadoop 的

Alex 的 Hadoop 菜鸟教程: 第4课 Hadoop 安装教程 - HA方式 (2台服务器)

声明 本文基于Centos 6.x + CDH 5.x 官方英文安装教程 http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-0-0/CDH5-Installation-Guide/cdh5ig_cdh5_install.html 本文并不是简单翻译,而是再整理 如果没有yum源请参考http://blog.csdn.net/nsrainbow/article/details/36629339#t2 准备工作 用vm

Alex 的 Hadoop 菜鸟教程: 第20课 工作流引擎 Oozie

本文基于 Centos6.x + CDH5.x Oozie是什么 简单的说Oozie是一个工作流引擎.只不过它是一个基于Hadoop的工作流引擎,在实际工作中,遇到对数据进行一连串的操作的时候很实用,不需要自己写一些处理代码了,只需要定义好各个action,然后把他们串在一个工作流里面就可以自动执行了.对于大数据的分析工作非常有用 安装Oozie Oozie分为服务端和客户端,我现在选择host1作为服务端,host2作为客户端. 所以在host1上运行 yum install oozie 在h

Alex 的 Hadoop 菜鸟教程: 第7课 Sqoop2 导出教程

承接上节课,现在说说导出教程 检查连接 先看看有没有可用的connection 连接,如果没有就要根据上节课的方法创建一个 sqoop:000> show connector --all 1 connector(s) to show: Connector with id 1: Name: generic-jdbc-connector Class: org.apache.sqoop.connector.jdbc.GenericJdbcConnector Version: 1.99.3-cdh5.0

Alex 的 Hadoop 菜鸟教程: 第10课 Hive 入门教程

Hive 安装 相比起很多教程先介绍概念,我喜欢先动手装上,然后用例子来介绍概念.我们先来安装一下Hive 先确认是否已经安装了对应的yum源,如果没有照这个教程里面写的安装cdh的yum源http://blog.csdn.net/nsrainbow/article/details/36629339 Hive是什么 Hive 提供了一个让大家可以使用sql去查询数据的途径.但是最好不要拿Hive进行实时的查询.因为Hive的实现原理是把sql语句转化为多个Map Reduce任务所以Hive非常

Alex 的 Hadoop 菜鸟教程: 第8课 Sqoop1 安装/导入/导出教程

靠!sqoop2的文档太少了,而且居然不支持Hbase,十分简陋,所以我愤而放弃Sqoop2转为使用Sqoop1,之前跟着我教程看到朋友不要拿砖砸我,我是也是不知情的群众 卸载sqoop2 这步可选,如果你们是照着我之前的教程你们已经装了sqoop2就得先卸载掉,没装的可以跳过这步 $ sudo su - $ service sqoop2-server stop $ yum -y remove sqoop2-server $ yum -y remove sqoop2-client 安装Sqoop

Alex 的 Hadoop 菜鸟教程: 第9课 zookeeper 介绍和使用

声明 本文基于Centos 6.x + CDH 5.x zookeeper有什么用 看了之前的教程,会发现多处出现zookeeper,比如hadoop的 auto failover 得用 zookeeper ,Hbase 的 RegionServer 也得用zookeeper.其实不止hadoop,包括现在小有名气的 Storm 用的也是zookeeper.那么zookeeper 究竟是做什么用的? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务. ZooKeeper的目标就

Alex 的 Hadoop 菜鸟教程: 第11课 Hive的Java调用

声明 本文基于Centos 6.x + CDH 5.x 说到Hive就一定要说到写程序的时候怎么调用Hive.以下我通过一个例子说明如果通过java来调用hive查询数据 数据准备 建立一个文本文件叫 a.txt,内容是 1,terry 2,alex 3,jimmy 4,mike 5,kate 并上传到hive服务器的  /data/ 目录下 JDBC调用方法 加载Driver 加载driver (只说hive2的jdbc) Class.forName("org.apache.hive.jdbc

Alex 的 Hadoop 菜鸟教程: 第8课 Hbase 的 java调用方法

声明 本文基于Centos 6.x + CDH 5.x 本例中 Hbase 是安装成集群模式的 本文基于Maven3.5+ 和 Eclipse 4.3 教程后的参考资料建议大家一定要看下 我们搭建hbase并不是要用shell来查数据的,我们是要写基于hbase的应用的,所以学习如何使用java来调用hbase是必修课. 环境搭建 建立项目 打开Eclipse 建立一个Maven项目,archetype选quickstart,项目的artifactId 和 groupId 随便起 修改一下pom