闲来
无事在mac小本上折腾安装一下cdh5.7, hadoop组件安装完成后, 想着把hue也一并装了吧, 这个软件环境也是醉了.
不曾想hadoop组件的安装很快就搞定的事, 到了hue这, 愣是花费数个钟头, 说多了都是泪啊.
由于cdh本人安装的是5.7版本, 去cloudera官网查了下, 如果安装HUE, 大致可以匹配的版本是hue-3.9.0-cdh5.7.1.tar.gz, 遂下载下来. 安装时, 参考了官方文档, 获悉mac版本的安装命令为make apps, 那就开整吧, 遇到的问题有:
- mysql依赖问题
- python版本问题
mysql依赖问题
mysql为hue与各个hadoop生态圈, spark生态圈的组件集成, 提供软件配置, 文件存储, 状态保持等功能.
如果没装, 在编译源码时会报错.
安装mysql如有问题, 请参考此stackoverflow问答帖, brew install mysql on mac os
python版本支持问题
python版本如果有问题, 将会导致编译 notebook 时报错, 提示 desktop.db找不到, 报错信息大致如下:
make: *** [desktop] Error 2
python在本人机器上有2个版本, 2.7.6和 Anaconda的2.7.11版本(由于偶尔使用pyspark, 这个是默认选项), 由于hue采用django作为web服务器, 开发语言自然就是python. 坑爹的是2.7.11版本由于自由的bug, 不支持安装hue, 经谷歌查询, 需要dowgrading至较小版本(如果2.7.9), 降级命令为 “conda install python=2.7.9” , 降级时, 如果速度比较慢, conda源可以更改为国内源. 下载完, 满心欢喜继续 make apps, 结果报错依旧如上.
想到会不会是因为anaconda套餐包python兼容问题呢, 换个原生版的python试试, 那就玩个更狠的, 临时更改环境变量, 直接使用原始python 2.7.6的环境, 再试试:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
好了, 整个世界瞬间安静下来了.
如果, 最终看到如下编译结果, 恭喜你, 编译已成功, 剩下的就去适配一下hue里关于hadoop, hive, spark等配置信息, 就可以启动它了hue runserver
.
`
Post-processed ‘sqoop/js/sqoop.utils.js’ as ‘sqoop/js/sqoop.utils.5c15d0cea3de.js’
Post-processed ‘sqoop/js/sqoop.wizard.js’ as ‘sqoop/js/sqoop.wizard.2f2a620fca15.js’
Post-processed ‘useradmin/art/icon_useradmin_24.png’ as ‘useradmin/art/icon_useradmin_24.50e5ffb9f1c9.png’
Post-processed ‘useradmin/art/icon_useradmin_48.png’ as ‘useradmin/art/icon_useradmin_48.f78e72adfb01.png’
Post-processed ‘useradmin/art/useradmin-logo.png’ as ‘useradmin/art/useradmin-logo.e691a8a0fe4e.png’
Post-processed ‘useradmin/css/useradmin.css’ as ‘useradmin/css/useradmin.c3d15875e23a.css’
Post-processed ‘useradmin/help/index.html’ as ‘useradmin/help/index.f1823f8a30a0.html’
Post-processed ‘zookeeper/art/icon_zookeeper_24.png’ as ‘zookeeper/art/icon_zookeeper_24.e3168d30a559.png’
Post-processed ‘zookeeper/art/icon_zookeeper_48.png’ as ‘zookeeper/art/icon_zookeeper_48.21fa694512f1.png’
Post-processed ‘zookeeper/art/line_icons.png’ as ‘zookeeper/art/line_icons.f50a9ca444bf.png’
Post-processed ‘zookeeper/css/zookeeper.css’ as ‘zookeeper/css/zookeeper.dab3cbab10bb.css’
Post-processed ‘zookeeper/help/index.html’ as ‘zookeeper/help/index.7570dbb625f3.html’
Post-processed ‘zookeeper/js/base64.js’ as ‘zookeeper/js/base64.ce5e02af31e5.js’
1189 static files copied to ‘/Users/david/cloudera/lib/hue-3.9.0-cdh5.7.1/build/static’, 1189 post-processed.
`
整体编译流程
执行
make apps
编译命令报错
首先做一下init工作, 如初始化python环境, 或删除旧编译目录, 重新解压一份新目录.maven,mysql,gmp依赖问题
如果已安装, 可忽略处理python依赖问题
如有, 请参照上述方法切换之, 本人在2.7.6上实验是通过的高版本的macos, 如EI Captain, 请配置如下环境变量
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
以上数据库依赖, 编译环境, python版本问题都解决后, 就可以编译了
cd hue-3.9.0-cdh5.7.1
make apps