一、hue介绍
HUE是一个开源的Apache Hadoop UI系统,早期由Cloudera开发,后来贡献给开源社区。它是基于Python Web框架Django实现的。通过使用Hue我们可以通过浏览器方式操纵Hadoop集群。例如put、get、执行MapReduce Job等等
官方网站:https://gethue.com/
功能用途:
默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle 基于文件浏览器(File Browser)访问HDFS 基于Hive编辑器来开发和运行Hive查询 支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard) 支持基于Impala的应用进行交互式查询 支持Spark编辑器和仪表板(Dashboard) 支持Pig编辑器,并能够提交脚本任务 支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle 支持HBase浏览器,能够可视化数据、查询数据、修改HBase表 支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog 支持Job浏览器,能够访问MapReduce Job(MR1/MR2-YARN) 支持Job设计器,能够创建MapReduce/Streaming/Java Job 支持Sqoop 2编辑器和仪表板(Dashboard) 支持ZooKeeper浏览器和编辑器 支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器
二、安装
1、下载与安装
- 安装依赖软件包
具体可以看官网:https://docs.gethue.com/administrator/installation/dependencies/
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
- 创建用户
#useradd hue
# passwd hue
- 安装方式
下载方式:
1)、通过git克隆GitHub项目(克隆下来的属于开放版本)
git clone https://github.com/cloudera/hue.git cd hue make apps build/env/bin/hue runserver # 官方是通过这种方式启动的,还可以通过./build/env/bin/supervisor 启动
2)、下载tar包(属于开发版本)
下载地址:wget https://github.com/cloudera/hue/archive/release-4.7.1.tar.gz
依然是解压,然后make apps
3)、下载稳定版本
下载地址:http://archive.cloudera.com/cdh5/cdh/5/
4)其他的还有docker以及k8s安装。
二、配置
2.1、开发版本
如果是开发版本,默认启动的端口是8000,有两种启动方式: 方式1:./build/env/bin/hue runserver 0.0.0.0:8000 # 这中启动方式是用于开发测试的,默认监听在本地的127.0.0.1:8000,所以需要指定ip和端口 方式2:./build/env/bin/supervisor 这个命令启动的时候读取./desktop/conf/pseudo-distributed.ini文件
修改该配置文件如的几个参数:
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o # 通过官网查看该值http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html # Execute this script to produce the Django secret key. This will be used when # 'secret_key' is not set. ## secret_key_script= # Webserver listens on this address and port http_host=0.0.0.0 #监听地址 http_port=8000 #端口 # A comma-separated list of available Hue load balancers ## hue_load_balancer= # Time zone name # time_zone=America/Los_Angeles # 这是默认的时区 time_zone=Asia/Shanghai # 这是修改以后的时区
...略
2.2 、cdh稳定版
1、启动方式./build/env/bin/supervisor
修改配置文件
[hue@yjt hue-3.9.0-cdh5.14.0]$ cd /data1/hue/hue-3.9.0-cdh5.14.0 [hue@yjt hue-3.9.0-cdh5.14.0]$ vi ./desktop/conf/hue.ini 修改的信息与上述开发版是一样的
2、启动./build/env/bin/supervisor
3、登录
第一次登录需要创建账号和密码,这个随意,比如admin/admin
3、修改hue存储
1)默认的存储是sqllite3,这里换成mysql
依然是修改hue.ini配置
在 [[database]] 这个section下添加如下的配置
engine=mysql #存储引擎改为mysql host=192.168.0.230 # 主机 port=3306 #端口 user=root password=123456 name=hue #这是数据库的名字,用于存放hue相关表
2)创建mysql数据库
create databse hue;
3) 初始化数据库
该步骤是创建表和插入部分数据。hue的初始化数据表命令由hue/bin/hue syncdb完成,创建期间,需要输入用户名和密码
#同步数据库
# ./build/env/bin/hue syncdb
创建的过程中需要输入登录hue控制台的用户名和密码,这里的邮件地址默认不用写,按enter键跳过,由于上述在进去hue的时候,创建了admin/admin用户,这里也使用了这个用户
#导入数据,主要包括oozie、pig、desktop所需要的表
# ./build/env/bin/hue migrate
4)在执行的过程中报错,如下
[hue@yjt hue-3.9.0-cdh5.14.0]$ ./build/env/bin/hue syncdb Traceback (most recent call last): File "./build/env/bin/hue", line 9, in <module> load_entry_point('desktop==3.9.0', 'console_scripts', 'hue')() File "/data1/hue/hue-3.9.0-cdh5.14.0/desktop/core/src/desktop/manage_entry.py", line 149, in entry raise e django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory [hue@yjt hue-3.9.0-cdh5.14.0]$ vim desktop/conf/hue.ini [hue@yjt hue-3.9.0-cdh5.14.0]$ yum install -y libmysqlclient 已加载插件:fastestmirror 您需要 root 权限执行此命令。 [hue@yjt hue-3.9.0-cdh5.14.0]$ ./build/env/bin/hue syncdb Traceback (most recent call last): File "./build/env/bin/hue", line 9, in <module> load_entry_point('desktop==3.9.0', 'console_scripts', 'hue')() File "/data1/hue/hue-3.9.0-cdh5.14.0/desktop/core/src/desktop/manage_entry.py", line 149, in entry raise e django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory
解决办法:
[root@yjt hadoop]# find / -name libmysqlclient.so.20 /var/lib/docker/overlay2/935005830c11c74796acf1f64f2d2c4e23a0e0ab8beec4cf1d04aa1fbf3481ce/diff/usr/lib64/mysql/libmysqlclient.so.20 /var/lib/docker/overlay2/a774cd386bdc5b6587c89e86e99392040028e4406a612c02f6e6b59505766d50/merged/usr/lib64/mysql/libmysqlclient.so.20 /data1/hadoop/mysql/lib/libmysqlclient.so.20 修改/etc/ld.so.conf [root@yjt hadoop]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/local/protobuf/lib /data1/hadoop/mysql/lib/ #添加的 然后执行 # ldconfig
然后重启hue
三、界面图
1、cdh稳定版本
2、开发版本
可以发现稳定版比开发版功能更多
3、切换到中文版本
修改 vi desktop/core/src/desktop/settings.py文件
LANGUAGE_CODE = 'zh_CN'
查看中文界面:
借鉴:
官网
docker化安装hue
https://www.cnblogs.com/mediocreWorld/p/11144684.html
https://www.cnblogs.com/zlslch/p/6804741.html