天天看点

Hue框架

Hue是一个图形化的用户界面,去操作或者开发一些hadoop应用,集成一些框架。

一 Hue架构图

Hue框架

支持的框架:

JobOOZIE PIG HDFS:查文件 文件的管理:增删改查 HiveMetaStore 管理器 ImaplaShell

二 Hue安装部署

2.1下载解压

下载地址:https://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh.5.3.6.tar.gz

解压:tar-zxf hue-3.7.0-cdh5.3.6.tar.gz

2.2编译和安装

在进行编译之前需要一些前提条件,也就是需要安装一些依赖包

yuminstall ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gccgcc-c++ krb5-devel libffi-devel libtidy libxml2-devel libxslt-devel

makemvn mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-develgmp-devel –y

如果已经装过了,就不用安装了。

我本地机器:

yuminstall ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plainkrb5-devel libffi-devel libtidy libxml2-devel libxslt-devel mysql-developenldap-devel python-devel sqlite-devel openssl-devel gmp-devel –y

安装的依赖中包含openjdk,编译完后卸载openjdk

yumremove java

source/etc/profile

然后进入到hue主目录:

cd/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6

makeapps

三 修改webserver配置文件和启动

cd/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6/desktop/conf

vimhue.ini

所有hue框架配置项都是以中括号标记

3.1修改httphost和 port

http_host=CDH-Hadoop-Cluster-01

http_port=8888

3.2指定SecretKey

#This is used for secure hashing in the session store.

secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o

3.3修改时区

#Time zone name

time_zone=Asia/Shanghai

启动:

/build/env/bin/supervisor

启动之后登录web ui

http://cdh-hadoop-cluster-01:8888/

首先会创建的你的管理员账号

建议创建用户和hadoop用户相同,因为访问HDFS集群。HDFS有权限检查,如果用hadoop相同的用户就避免了权限检查

hadoophadoop

然后它会检查一些配置文件:

Hue框架

四 Hue与HDFS 和 YARN的集成

4.1Hue 和 HDFS集成

4.1.1配置WebHdfs

你应该启用WebHdfs或者运行一个HttpFSserver. 要打开WebHDFS,4.1.1.1添加以下配置到hdfs-site.xml

<property>

      <name>dfs.webhdfs.enabled</name>

      <value>true</value>

</property>

4.1.1.2添加以下配置到core-site.xml

<!--toaccess hdfs, we need set proxy-->

<property>

    <name>hadoop.proxyuser.hue.hosts</name>

   <value>*</value>

</property>

<property>

   <name>hadoop.proxyuser.hue.groups</name>

   <value>*</value>

</property>

4.1.1.3分发刚才配置到集群其他机器

scphdfs-site.xml core-site.xml [email protected]:/opt

/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

scphdfs-site.xml core-site.xml [email protected]:/opt

/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

4.1.1.4重启hadoop 集群

4.1.2配置hue.ini

Hue当前只支持一个HDFS集群

在hue.ini找到[hadoop]段,然后找[[hdfs_clusters]]子段,再找到

[[[default]]]子段

fs_defaultfs=hdfs://CDH-Hadoop-Cluster-01:8020

webhdfs_url=http://CDH-Hadoop-Cluster-01:50070/webhdfs/v1

hadoop_conf_dir=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

hadoop_hdfs_home=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6

hadoop_bin=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin

4.2Hue 和 YARN 集成

4.2.1 配置YARN. 文档提示不需要再配

4.2.2配置hue.ini

Hue当前只支持一个YARN集群,在hue.ini找到[hadoop]段,然后找[[yarn_clusters]]子段,再找到[[[default]]]子段

resourcemanager_host=CDH-Hadoop-Cluster-02

resourcemanager_port=8032

#Whether to submit jobs to this cluster

submit_to=True

hadoop_mapred_home=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6

hadoop_bin=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin

hadoop_conf_dir=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

#URL of the ResourceManager API相当于yarn-site.xml配置yarn.

resourcemanager.webapp.address

resourcemanager_api_url=http://CDH-Hadoop-Cluster-02:8088

#URL of the ProxyServer API,相当于yarn-site.xml配置yarn.web-proxy.address

proxy_api_url=http://CDH-Hadoop-Cluster-02:8088

#URL of the HistoryServer API相当于mapred-site.xml里面的mapreduce.jobhistory.webapp.address

history_server_api_url=http://CDH-Hadoop-Cluster-01:19888

4.3重启hadoop集群和hue

五 Hive远程MetaStore的配置和启动

Hive的三种运行方式

1默认的derby数据库 缺点:容量较小,不能启动多个实例

2使用MySQL缺点: MySQL与Hive在同一台机器

3远程的MetaStore,元数据存储在远程的MySQL当中

Hue框架

我们需要修改hive.metastore.uris:

<property>

   <name>hive.metastore.uris</name>

    <value></value>

</property>

开启远程MetaStore

bin/hive--service metastore &

每一次都必须先启动远程metastore,然后在启动客户端

六 Hue与 Hive集成

6.1hive配置

只需要启动hiveserver2

tcp协议:默认10000

http协议:默认10001

有时候出现连接超时,我们把5000L改成5000

<property>

 <name>hive.server2.long.polling.timeout</name>

  <value>5000L</value>

</property>

改成

<property>

 <name>hive.server2.long.polling.timeout</name>

  <value>5000</value>

</property>

6.2配置hue.ini

hive_server_host=CDH-Hadoop-Cluster-01

hive_server_port=10000

hive_home_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6

hive_conf_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6/conf

6.3重启Hue

七 Hue 和 RDBMS的集成

找到[librmdbs]段 在hue.ini文件中,然后在他下面找到[[databases]]子段

7.1启用SQLite

首先去掉注释## [[[sqlite]]]

[[[sqlite]]]

然后修改:

# Name to show in the UI.

nice_name=SQLite

#定义数据库的位置

name=name=/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6/desktop/desktop.db

# 数据库使用的引擎

engine=sqlite

7.2启用MySQL

启用mysql,去掉数据库

[[[mysql]]]

nice_name="My SQL DB"

engine=mysql

## name=mysqldb 不打开,默认使用所有数据库

host=hadoop-senior02.ibeifeng.com

port=3306

user=root

password=123456

7.3 重启Hue

八 Hue与Oozie的集成和使用

8.1 hue 配置oozie

找到[liboozie]段

oozie_url=http://CDH-Hadoop-Cluster-01:11000/oozie

<!--默认放到当前用户主目录下面,但是在Hue的时候指定的是/user/oozie/share/lib

所以我么这里就把user.name改成oozie-->

<property>

      <name>oozie.service.WorkflowAppService.system.libpath</name>

      <value>/user/${user.name}/share/lib</value>

</property>

改成:

<property>

      <name>oozie.service.WorkflowAppService.system.libpath</name>

      <value>/user/oozie/share/lib</value>

</property>

先停掉oozie:

bin/oozied.shstop

然后重新执行:

bin/oozie-setup.shsharelib create -fs hdfs://CDH-Office-Hadoop-01:8020 -locallib/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/oozie-sharelib-4.0.0-cdh5.3

.6-yarn.tar.gz

再启动oozie

bin/oozied.shstart