前提:HDFS集群、HIve和MySQL都已经安装完毕
1.在ubantu中安装maven,下载好安装包,解压并配置环境变量
2.安装hue的依赖包,需要以下的依赖包
或者,一行命令安装所有依赖包
sudo apt-get install ant gcc g++ libkrb5-dev libffi-dev libmysqlclient-dev libssl-dev libsasl2-dev libsasl2-modules-gssapi-mit libsqlite3-dev libtidy-0.99-0 libxml2-dev libxslt-dev make libldap2-dev maven python-dev python-setuptools libgmp3-dev
(此行代码中可以去除maven了,因为我们已经安装过了)
3.测试启动
安装完成后,没有任何错误可以进行下一步
解压hue的包,进入到解压目录下,运行 make apps,没有报错的情况下,安装成功
执行./build/env/bin/hue runserver启动hue服务,可以在127.0.0.1:8000端口访问,但是外部Windows系统无法访问,此时可以创建用户
4.关闭服务(Ctrl+C即可),配置安装目录下
desktop/conf/hue.ini文件
将host改成主机名或者IP地址,端口号默认即可,然后time_zone时区改成Asia/Shanghai即可启动服务在外部浏览器访问。
注意,secret_key可以乱写一行字符,如:
c!@#$%^&*yy{}[]<>?un`~:.
如果不填写的话Hue可能会提示错误信息,这个secret_key主要是出于安全考虑用来存储在session store中进行安全验证的。亲测,不填写也没什么问题
配置好了这几行信息之后,正式启动./build/env/bin/supervisor,即可在外部浏览器访问,访问地址为我们刚配好的http://kate:8888,用户名密码即为刚才测试填写的,当然也可以在hue.ini中配置用户名和密码
5.hue.ini环境配置,各参数如下
mysql部分如下修改
6.配置/etc/profile文件,添加HUE_HOME,下次启动可以进入主目录,执行nohup supervisor &
7.配置Hadoop
Hue 可以通过下面两种方式访问 Hdfs 中的数据:
- WebHDFS:提供高速的数据传输,客户端直接和 DataNode 交互
- HttpFS:一个代理服务,方便与集群外部的系统集成
对于
WebHDFS模式,进入~/hadoop/etc/hadoop中修改配置文件,在
hdfs-site.xml添加:
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
在
core-site.html添加:
<!-- For Hue -->
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.cuihaolong.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.cuihaolong.groups</name>
<value>*</value>
</property>
<!-- For Hue -->
进入~/hue/desktop/conf修改pseudo-distributed.ini中字段:
webhdfs_url=http://cdh1:50070/webhdfs/v1/
对于HttpFS模式,在hadoop中配置
httpfs-site.xml:
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
在
core-site.html
添加:
<!-- For Hue -->
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.richard.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.richard.groups</name>
<value>*</value>
</property>
<!-- For Hue -->
注意:此处的hue为首次进入hue时创建的管理用用户名称
进入~/hue/desktop/conf修改pseudo-distributed.ini中字段:
webhdfs_url=http://cdh1:14000/webhdfs/v1/
配置MapReduce
将~/hue/desktop/libs/hadoop/java-lib/下的hue-plugins-3.11.0-SNAPSHOT.jar复制到hadoop的mapreduce lib中,路径为:~/hadoop/share/hadoop/mapreduce/lib