HUE简介:
通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。
简单来讲,就是用图形化的界面来操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览Hbase数据库,oozie,flume等等。
网络上单一的教程不足以帮助人安装成功,故写下此篇文章,记录下安装过程。
本篇博客资料来源:
官网网站:http://gethue.com/
官网安装帮助:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html
https://www.jianshu.com/p/93136579d4d4
安装步骤:
安装环境:centos6.5,hadoop2.6
这里安装的前提是Hadoop2.6的环境已经装好
1.安装编译运行HUE需要的依赖。
切换到root用户下,执行以下命令:
yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel openldap-devel python-devel sqlite-devel openssl-devel mysql-devel gmp-devel
2.如无报错,安装成功进入下一步,如果中间有某些包安装不成功,一定要先安装成功才能进入下一步,不然编译会提示缺少响应的工具,这里我没有遇到问题。
3.下载HUE
下载链接:http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.5.4.tar.gz
4.编译HUE
4.1上传linux,解压HUE,建议将hue安装在主节点上。
tar -zxf hue-3.9.0-cdh5.5.4.tar.gz
4.2进入HUE解压目录下,执行命令make apps编译HUE,编译成功后开始配置HUE
5.配置HUE
在HUE安装目录下的/desktop/conf/目录下编辑HUE的配置文件hue.ini,打开后更改如下属性:
其中secret_key直接复制http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html#_install_hue上的3.1.2. Specifying the Secret Key节的key值.
以下hadoop01是安装HUE的节点。
http_host=hadoop01
http_port=8888
# Time zone name
time_zone=Asia/Shanghai
# Enable or disable Django debug mode.
django_debug_mode=false
# Enable or disable database debug mode.
## database_logging=false
# Enable or disable backtrace for server error
http_500_debug_mode=false
6.启动HUE。
切换到hadoop用户(非root用户)。
在HUE安装目录下,执行命令: build/env/bin/supervisor
确认没有报错信息,在浏览器上输入:主机名:8888即可访问HUE的注册界面。
创建自己的用户后登录进去,发现有很多配置问题。下面我们就来逐一解决。
HUE与hadoop的集成
1.hadoop的配置:
1.1配置hdfs-site.xml文件
添加如下内容:
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
1.2.配置core-site文件,添加如下内容:
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.httpfs.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.httpfs.groups</name>
<value>*</value>
</property>
其中每一项配置的第二个hadoop是我的主机的用户名
1.3.httpfs-site.xml添加如下内容:
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
说明:
1、如果没有配置NameNode的HA,HUE可以用WebHDFS来管理HDFS
2、如果配置了NameNodeHA,则HUE只可用HttpFS来管理HDFS
由于第一种方案官方说明中有完整示例,而且基于本例是在完全分布式且HA环境已经部署的情况下搭建的,所以,采用第二种方式。即配置如上,请大家注意。
1.4.scp分发到各个节点上后重启hadoop集群,在namenode所在节点上使用sbin/httpfs.sh start来启动Bootstrap进程,以服务HttpFS管理。
2.hue.ini配置
2.1修改Hue.ini文件,先找到[[hdfs_clusters]]这个标签,然后修改如下:
以下的hadoop01是namenode所在节点主机名
[[hdfs_clusters]]
# HA support by using HttpFs
[[[default]]]
# Enter the filesystem uri
fs_defaultfs=hdfs://mycluster
# NameNode logical name.
logical_name=mycluster
# Use WebHdfs/HttpFs as the communication mechanism.
# Domain should be the NameNode or HttpFs host.
# Default port is 14000 for HttpFs.
webhdfs_url=http://hadoop01:14000/webhdfs/v1
# Change this if your HDFS cluster is Kerberos-secured
## security_enabled=false
# In secure mode (HTTPS), if SSL certificates from YARN Rest APIs
# have to be verified against certificate authority
## ssl_cert_ca_verify=True
# Directory of the Hadoop configuration
hadoop_conf_dir=/home/hadoop/app/hadoop/etc/hadoop
hadoop_hdfs_home=/home/hadoop/app/hadoop
hadoop_bin=/home/hadoop/app/hadoop/bin
2.2修改Hue.ini文件,先找到[[yarn_clusters]]这个标签,然后修改如下:
以下的hadoop01是resourceManager所在节点主机名
[[[default]]]
# Enter the host on which you are running the ResourceManager
resourcemanager_host=hadoop01
# 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)这个逻辑名请到yarn-site中查看
logical_name=yarn-rm-cluster
# Change this if your YARN cluster is Kerberos-secured
## security_enabled=false
# URL of the ResourceManager API
resourcemanager_api_url=http://hadoop01:8088
# URL of the ProxyServer API
proxy_api_url=http://hadoop01:8088
# URL of the HistoryServer API
history_server_api_url=http://hadoop03:19888
说明:
logical_name名字就是你集群中yarn-site.xml中配置的
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
URL of the ResourceManager API 这里配置资源管理的地址和端口,对应yarn-site.xml中的
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>djt11:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>djt12:8088</value>
</property>
URL of the HistoryServer API 这里配置历史记录资源管理的地址和端口,对应mapred-site.xml中的
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>djt13:19888</value>
</property>
3.重启HUE服务并测试
先使用Ctrl+C关闭HUE服务,再使用如下命令重启:build/env/bin/supervisor
发现问题:about页面检查配置,有一个提示:Filesystemroot '/' should be owned by 'hdfs'
原因是在hadoop集群都使用用户hadoop,并没有创建用户hdfs。解决方案是将hue.ini中的default_hdfs_superuser设置:
# This should be the hadoop cluster admin
default_hdfs_superuser=hadoop
重启Hue后警告解除。
测试HDFS点进:File Browser选项
测试Yarn点进:Job Browser选项
HUE与HIVE的集成:
1.首先要配置hive-site.xml,添加以下内容(hadoop01是hive所在节点,注意这里hive与hue最好在同一节点上,不然可能会有奇怪的错误):
<property>
<name>hive.server2.thrift.bind.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>hadoop01</value>
</property>
<property>
<name>hive.server2.long.polling.timeout</name>
<value>5000</value>
</property>
<!-- <property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop01:9083</value>
</property>
-->
<property>
<name>hive.server2.authentication</name>
<value>NOSASL</value>
</property>
2.配置hue.ini:
[beeswax]
# Host where HiveServer2 is running.
# If Kerberos security is enabled, use fully-qualified domain name (FQDN).
hive_server_host=hadoop01
# Port where HiveServer2 Thrift server runs on.
hive_server_port=10000
# Hive configuration directory, where hive-site.xml is located
hive_conf_dir=/home/hadoop/app/apache-hive-2.2.0-bin/conf
3.启动hiveserver2
bin/hiveserver2
4.重启Hue服务,在“查询编辑器”中选择Hive.
报错:Could not start SASL: Error in sasl_client_start(-4) SASL(-4): no mechanism available: No worthy mechsfound
安装以下即可:
yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
报错:页面报错:Could not connect to localhost:10000
未启动hiveserver2或者hive-site.xml未配置端口hive_server_port为10000
5.进行hql的执行测试
原文:https://blog.csdn.net/qq_26010491/article/details/79974214