执行:make desktop
期间如果报错则需要安装: linux 6.5确实需要做这些操作
/opt/hue-3.6.0-cdh5.1.0/Makefile.vars:42: *** "Error: must have python development packages for 2.6 or 2.7. Could not find Python.h. Please install python2.6-devel or python2.7-devel". Stop.
yum install python26-devel.x86_64 (--nogpgcheck)
yum install mysql-devel
yum install libxml2
yum install libxml2-devel.x86_64
yum install libxslt.x86_64
yum install libxslt-devel.x86_64
yum install sqlite3-dbf.x86_64
yum install sqlite-devel.x86_64
yum install openldap.x86_64
yum install openldap-devel.x86_64
yum install sqlite-devel.x86_64
yum install openldap.x86_64
yum install openldap-devel.x86_64
2. make apps
3. PREFIX=/opt make install
4. cd /opt/hue
tools/app_reg/app_reg.py --list
删除相应apps
tools/app_reg/app_reg.py --remove hbase
tools/app_reg/app_reg.py --remove pig
tools/app_reg/app_reg.py --remove rdbms
tools/app_reg/app_reg.py --remove spark
tools/app_reg/app_reg.py --remove sqoop
tools/app_reg/app_reg.py --remove zookeeper
Hue 本身启动需要以下几个必备组件
![](http://index.tv.sohuno.com/confluence/download/attachments/5970295/17BF9DD8-45CA-467A-91D7-64F4188CB6B7.jpg?version=1&modificationDate=1460340226000&api=v2)
5. vi desktop/conf/hue.ini
secret_key 输入一个随机串
time_zone 修改为Asia/Shanghai
6. 如果要使用filebrowse 功能,需要增加如下配置
Hue 可以通过webhdfs的方式访问Hdfs,并向外提供服务,如果要启动web服务,要在hdfs-site.xml中增加以下配置
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
core-site.xml 中增加:
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>10.10.52.129</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>tvhadoop,hue</value>
</property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>10.10.52.129</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>tvhadoop,hue</value>
</property>
mapred-site.xml 中添加:
<property>
<name>jobtracker.thrift.address</name>
<value>0.0.0.0:9290</value>
</property>
<property>
<name>mapred.jobtracker.plugins</name>
<value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>
<description>Comma-separated list of jobtracker plug-ins to be activated.</description>
</property>
<name>jobtracker.thrift.address</name>
<value>0.0.0.0:9290</value>
</property>
<property>
<name>mapred.jobtracker.plugins</name>
<value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>
<description>Comma-separated list of jobtracker plug-ins to be activated.</description>
</property>
并拷贝重新编译的的desktop/libs/hadoop/java-lib/hue-plugins-3.6.0-cdh5.1.0.jar到hadoop的lib目录下
7. 修改desktop/conf/hue.ini中
(1) [hadoop]模块下fs_defaultfs 和 webhdfs_url 修改ip和端口。
(2) [mapred_clusters] 模块下 jobtracker_host、jobtracker_port 、submit_to
(3) [liboozie] 模块下oozie_url
(4) [beeswax]模块下:hive_server_host、hive_server_port、hive_conf_dir、hive_server_bin
8. 配置错误:Filesystem root '/' should be owned by ‘hdfs'
修改文件:desktop/libs/hadoop/src/hadoop/fs/webhdfs.py将”DEFAULT_HDFS_SUPERUSER = hdfs“修改为hdfs的启动用户tvhadoop
9. 在oozie整合hadoop 1.0.0 的时候,会因为建立目录导致权限问题,问题如下:
WebHdfsException: IllegalArgumentException: Invalid value for webhdfs parameter "permission": Invalid parameter range: permission = 1777 > 777 (error 400)
原因是: hadoop 1.0.0 不支持1777这种权限
解决方法是:
将/data/hue2/hue/desktop/libs/liboozie/src/liboozie/submittion.py 中01777 权限改为 0777权限
10. 配置hue使用mysql数据库
默认采用的sqlite3数据库,文件保存在desktop/desktop.db 里面,切换到mysql数据库,步骤如下:
- 关闭hue server (ps aux | grep python 杀掉 supervisor 和 runcherrypyserver进程)
- dump数据库文件到文本文件中,并以.json作为扩展名:
build/env/bin/hue dumpdata > dumpdata.json - 编辑dumpdata.json 删除所有model中是useradmin.userprofile的json对象。
- 启动hue server (此时hue配置文件不改变)
build/env/bin/supervisor -d - mysql建立数据库:hue3.6
- 新建用户名密码以操作hue3.6库
- 在hue.ini配置文件中的[desktop]下[[database]]中配置:
engine=mysql
host=10.10.52.93
port=3306
user=hue
password=hue
name=hue3.6 - 创建必要的数据库表,并载入数据,用syncdb和migrate命令
build/env/bin/hue syncdb —noinput
build/env/bin/hue migrate - 删除django_content_type表中的数据:
mysql > DELETE FROM `hue3.6`.django_content_type;
- 载入数据:
build/env/bin/hue loaddata dumpdata.json - 重启hue
验证代码:desktop/libs/hadoop/src/hadoop/fs/webhdfs.py
启动: build/env/bin/supervisor -d -l /opt/hadoop/log/hue/
停止: for pid in `ps aux | grep python`;do kill -9 $pid;done
启动hive server: 不一定和hue放到一个机器
nohup hive --service hiveserver2 --hiveconf hive.root.logger=info,DRFA --hiveconf hive.log.file=hiveservers.log --hiveconf hive.aux.jars.path=
file:///opt/hadoop/hive/auxlib/hive-udf-0.0.1.jar > /opt/hadoop/log/hive/hue/hiveserver_nohup.log 2>&1 &
http://10.10.77.35:8888 rc2.0集群
部署机器及位置: 10.10.77.35: /opt/hue
其他同上
增加新用户:
- hadoop集群增加用户脚本添加相应用户
- apps/metastore/src/metastore/user_tables 配置该用户可访问的表
- apps/metastore/src/metastore/table_column 配置该用户访问表所能访问的列
- hue管理员的用户管理界面新增该用户,密码随意(登录时会统一使用sohu密码),指定用户组,普通用户组只有固定页面权限。