HUE是一个开源的Apache Hadoop UI系统,早期由Cloudera开发,后来贡献给开源社区。它是基于Python Web框架Django实现的。通过使用Hue我们可以通过浏览器方式操纵Hadoop集群。例如put、get、执行MapReduce Job等等
安装
- 官网提供的只是源码只能编译安装(太耗时)
- 直接使用CDH 的发行版本cm_6_version_download
- Docker 或者 kubernetes 部署 (优选)
Docker 方式部署
- 关于镜像
- 由于官方镜像实在是太大网络不好的根本很难正常下载;
- 这里使用阿里云镜像仓库进行FROM 构建
- 在从阿里云镜像拉取会快很多
# cat Dockerfile
FROM gethue/hue:latest
ENV US jevic
....
docker pull registry.cn-shenzhen.aliyuncs.com/jevic/hue:v1
docker tag registry.cn-shenzhen.aliyuncs.com/jevic/hue:v1 hue
- 为了修改配置文件方便,可将配置文件进行挂载;
- 挂载之前先将镜像的配置文件目录拷贝出来
# docker run -it hue /bin/bash
另外打开一个终端:
# docker cp hue:/usr/share/hue/desktop/conf /opt/hue/
- 启动hue
- 如果使用默认桥接网络你需要显示的指明hostname:
--add-host=db1.jevic.cn:192.168.1.1
- 否则容器内部无法进行域名解析
- 这里使用host 模式所以无需指定
# cat run.hue.sh
docker run -it -d \
--name hue \
--network host \
-v /opt/hue/conf:/usr/share/hue/desktop/conf \
hue
修改hue的元数据库为mysql
- 默认使用sqlite
- 如果不修改为Mysql hue 访问是会出现
Database is locked
错误 - 需要注意: 一定要提前创建好 hue 数据库;之前在安装Ambari 时已经创建了所以此处不再列出;
修改hue.ini 配置
- 需要修改两处配置项,参考图例
name=mysqldb
engine=mysql
host=db1.jevic.cn
port=3306
user=hue
password=Hue@123456
engine=mysql
host=db1.jevic.cn
port=3306
user=hue
password=Hue@123456
name=hue
初始化数据库
root@mdb2:/usr/share/hue/build/env# ./bin/hue syncdb
root@mdb2:/usr/share/hue/build/env# ./bin/hue migrate
重启服务: docker restart hue
其他的配置项根据需要逐一调整即可,具体参数示例可参考官方文档