CDH安装Oozie/Hue,以及其基本使用

时间:2024-03-24 16:12:09

安装Oozie:

1.登录数据库后:

  • create database oozie default character set utf8;
  • grant all privileges on oozie.* to ‘oozie’@’localhost’ identified by ‘oozie’;
  • grant all privileges on oozie.* to ‘oozie’@’%’ identified by ‘oozie’;
  • flush privileges;

2.Add the MySQL JDBC Driver JAR to Oozie:

cp /usr/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH/lib/oozie/lib/

CDH安装Oozie/Hue,以及其基本使用

3.Oozie WebUI
http://ip10:11000/oozie/

首次使用报错:

Oozie web console is disabled.

To enable Oozie web console install the Ext JS library.

Refer to Oozie Quick Start documentation for details.

【Oozie Web控制台已禁用。 要启用Oozie Web控制台,请安装Ext JS库。 有关详细信息,请参阅Oozie快速入门文档。】

  • 下载ExtJS库(必须是2.2版本)
  • 拷贝到 /opt/cloudera/parcels/CDH/lib/oozie/libext/
  • unzip解压:unzip ext-2.2.zip
  • chown -R oozie:oozie ext-2.2
  • 成功
    CDH安装Oozie/Hue,以及其基本使用

关于Oozie

Oozie是管理Apache Hadoop作业的工作流调度程序系统。
Oozie是一个运行在Java servlet容器中的Java Web应用程序。这些操作构成一个有向无环图。
工作流操作通过远程系统启动任务。当任务完成后,远程系统会进行回调来通知任务已经结束,然后再开始下一个操作。
Oozie4.1Web API
[4]


设想一下,当你的系统引入了spark或者hadoop以后,基于Spark和Hadoop已经做了一些任务,比如一连串的Map Reduce任务,但是他们之间彼此右前后依赖的顺序,因此你必须要等一个任务执行成功后,再手动执行第二个任务。是不是很烦! 这个时候Oozie就派上用场了,它可以把多个任务组成一个工作流,自动完成任务的调用。
Oozie围绕两个核心:工作流(控制流节点)和协调器(动作节点),前者定义任务的拓扑和执行逻辑,后者负责工作流的依赖和触发。[2]

安装Hue

  • MySQL配置Hue的官方文档
  • 仔细阅读上文的注意事项,我这里只需在/etc/my.cnf下添加bind-address=0.0.0.0
  • 重启数据库
  • 为Hue创建数据库
  • create database hue default character set utf8 default collate utf8_general_ci;
  • grant all on hue.* to ‘hue’@’%’ identified by ‘huepassword’;
  • select * from information_schema.schemata;
  • 添加服务Hue,连接数据库
  • 首次登录需创建超级用户
  • 因为之前没有其他数据,所以我这不需要数据迁移,否则
  • 界面

CDH安装Oozie/Hue,以及其基本使用

CDH安装Oozie/Hue,以及其基本使用

关于Hue

  • Hue是一个用于操作和开发Apache Hadoop应用程序的图形用户界面。Hue应用程序被收集到桌面风格的环境中,并作为Web应用程序交付。
  • 通过使用Hue我们可以在Web控制台上与Hadoop集群进行交互分析/处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。
  • 核心功能
    • SQL编辑器,支持Hive, Impala, MySQL, Oracle, PostgreSQL等数据可视化
    • Spark、Hadoop、Sqoop的友好界面支持
    • 支持调度系统Apache Oozie,可进行workflow的编辑、查看,任务调度[1]

Hue的入门级使用

  • 配置hue.ini【先备份】,由于初次配置,我仅修改了yarn与Hive的配置
    hue.ini中有大量的安全权限类配置
  • 需要用Hue进行操作的,应该都需要在hue.ini中进行配置

1.Hue使用入门——Hue中使用Hive

  • 先在Hive创建个简单的数据库:
    • belline进入Hive0.11之后推荐的交互式命令行【连接上HiveServer2前的命令在最前面都需要加上”!”】
    • !connect jdbc:hive2://ipaddress:10000连接开启HiveServer2服务的机器【之后的操作和之前的Hive CLI就几乎一样了】
    • 准备数据
      sudo -uhdfs hdfs dfs -mkdir /tmp_data_2018511
      sudo -uhdfs hdfs dfs -put /tmp/tmp2018511/emp.txt /tmp_data_2018511

    • 创建外部数据表:
      create EXTERNAL table IF NOT EXISTS tmp2018511.employee(
      empno int,
      ename string,
      job string,
      mgr int,
      hiredate string,
      sal double,
      comm double,
      deptno int
      )
      ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
      location '/tmp_data_2018511';
  • sudo -uhdfs hdfs dfs -chown hive:hive /tmp_data_2018511
    Hue中可以直接查看hdfs部分数据
    CDH安装Oozie/Hue,以及其基本使用
  • “装载”数据:
    load data inpath '/tmp_data_2018511/emp.txt' overwrite into table employee;【因为是hdfs数据,所以没有local字段】
    CDH安装Oozie/Hue,以及其基本使用

Hue中可以执行SQL查询,以及一些基本的查询结果可视化,还可以导出查询结果。
CDH安装Oozie/Hue,以及其基本使用

CDH服务字母

HBASE部分
M —Master
HBTS –HBase Thrift Server
G –Gateway
HBRS –HBase REST Server
RS –RegionServer

HDFS部分
B –HDFS Balancer
FC –Failover Controller
SNN –SecondaryNameNode
NFSC –NFS Gateway
HFS –HttpFS
NFSG –HDFS NFS Gateway
NN –Namenode
G –Gateway
JN –JournalNode
DN –DateNode

Hive部分
HMS –Hive Metastore Server
WHC –WebHCat Server
HS2 –HiveServer2
G –Hive Gateway

Hue部分
HS –Hue Server
KTR kerberos Ticket Renewer

Oozie部分
OS –Oozie Server

YARN部分
G –Gateway
NM –NodeManager

Zookeeper
S –Server

Spark部分,以上总结意义不大,web中查看更方便

参考

[1]Hue官方文档
[2]cnblogs_Oozie快速入门
[3]手动配置Hue的笔记
[4]Oozie-4.1_Doc