執行: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
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
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>
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>
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>
並拷貝重新編譯的的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 &
部署機器及位置: 10.10.77.35: /opt/hue
其他同上
增加新用戶:
- hadoop集羣增加用戶腳本添加相應用戶
- apps/metastore/src/metastore/user_tables 配置該用戶可訪問的表
- apps/metastore/src/metastore/table_column 配置該用戶訪問表所能訪問的列
- hue管理員的用戶管理界面新增該用戶,密碼隨意(登錄時會統一使用sohu密碼),指定用戶組,普通用戶組只有固定頁面權限。