Hue的功能
由于大数据框架很多,为了解决某个问题,一般来说会用到几个框架,但是每个框架又都有自己的web UI监控界面,对应着不同的端口号。比如HDFS(50070)、YARN(8088)、MapReduce(19888)等。这个时候有一个统一的web UI界面去管理各个大数据常用框架是非常方便的。这就使得对大数据的开发、监控和运维更加的方便。
Hue的架构
从上图可以看出,Hue几乎可以支持所有大数据框架,包含有HDFS文件系统对的页面(调用HDFS API,进行增删改查的操作),有HIVE UI界面(使用HiveServer2,JDBC方式连接,可以在页面上编写HQL语句,进行数据分析查询),YARN监控及Oozie工作流任务调度页面等等。
Hue的编译安装
- 下载解压
tar zxvf hue-3.7.0-cdh5.3.6.tar.gz -C /opt/modules/cdh/
- 用yum安装相应的依赖(对于不同的操作系统,需要的依赖不完全相同)
ant
asciidoc
cyrus-sasl-devel
cyrus-sasl-gssapi
gcc
gcc-c++
krb5-devel
libtidy
libxml2-devel
libxslt-devel
mvn
mysql
mysql-devel
openldap-devel
python-devel
sqlite-devel
openssl-devel
-
编译Hue
正常编译完成后的结果
- 配置desktop/conf/hue.ini
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
# Webserver listens on this address and port
http_host=bigdata-00
http_port=8888
# Time zone name
time_zone=Asia/Shanghai
# Enable or disable Django debug mode.
django_debug_mode=false
# Enable or disable backtrace for server error
http_500_debug_mode=false
-
启动Hue,并在web ui界面访问8888端口
第一次登陆Hue时,需要设置一个超级用户。
Hue与HDFS的集成
- HDFS中的配置(因为会在hue的web界面实现增删改查,所以调用HDFS的api),配置完成后需要重启HDFS集群。
hdfs-site.xml增加一个值开启hdfs的web交互
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
core-site.xml,设置允许hue中的那些用户和组作为代理
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
- 修改desktop/conf/hue.ini
中括号标记着框架的配置
[hadoop]
# Configuration for HDFS NameNode
# ------------------------------------------------------------------------
[[hdfs_clusters]]
# HA support by using HttpFs
[[[default]]]
# 定义交互的host:port
fs_defaultfs=hdfs://bigdata-00:8020
# hdfs web host:port
webhdfs_url=http://bigdata-00:50070/webhdfs/v1
# Directory of the Hadoop configuration
hadoop_conf_dir=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop
hadoop_hdfs_home=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6
hadoop_bin=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin
-
重启hue后,在web端检查是否配置成功(登陆web UI界面,点击菜单栏中的File Brower)。可以非常方便的对hdfs进行增删改查的操作。
Hue与框架YARN的集成
- 修改hue.ini文件
[[yarn_clusters]]
[[[default]]]
# Enter the host on which you are running the ResourceManager
resourcemanager_host=bigdata-00
# The port where the ResourceManager IPC listens on
resourcemanager_port=8032
# Whether to submit jobs to this cluster
submit_to=True
# URL of the ResourceManager API
resourcemanager_api_url=http://bigdata-00:8088
# URL of the ProxyServer API
proxy_api_url=http://bigdata-00:8088
# URL of the HistoryServer API
history_server_api_url=http://bigdata-00:19888
-
重启hue server后,登陆界面,点击Job Brower按钮查看
点击任务可以查看详细的信息
Hue与框架Hive的集成
-
开启Hive Remote MetaStore
Hive的元数据可以存储在本地的MySQL中,但是大多数情况会是一个mysql集群,而且不在本地。所以在hive中需要开启远程metastore。由于我是本地的mysql,我就不配置下列属性了,但是如果是远程的metastore,配置下面的属性。
<property>
<name>hive.metastore.uris</name>
<value></value>
<description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
<property>
<name>hive.server2.transport.mode</name>
<value>http</value>
<description>Server transport mode. "binary" or "http".</description>
</property>
bin/hive --service metastore &
- Hue底层通过HiveServer2中JDBC/ODBC方式连接HIve,进行数据分析查询,需要先启动Hive中的HiveServer2服务,再在desktop/conf/hue.ini文件修改配置。对于端口号的设置需要注意,如果采用默认的TCP协议,端口号10000;如果设置为http,端口号为10001。
[beeswax]
hive_server_host=hadoop-senior02.ibeifeng.com
# Port where HiveServer2 Thrift server runs on.
hive_server_port=10000
# Hive configuration directory, where hive-site.xml is located
hive_conf_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6/conf
hive_home_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6
-
开启Hiveserver2后运行Hue,查看web界面
可以发现hue的web界是通过Hiveserver2交互的
Hue集成RDBMS
-
启用标记对,去掉图中的注释,配置hue的数据库
-
配置mysql数据库
-
查看web UI界面