安装

ROOT用户下操作、ROOT用户下操作、ROOT__用户下操作。

安装准备

  1. # 安装最新的 node v10.x
  2. curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
  3. sudo apt-get install -y nodejs
  4. node -v
  5. npm -v
  6. # 更新npm的包镜像源,方便快速下载
  7. npm config set registry https://registry.npm.taobao.org
  8. npm info underscore
  9. # 卸载npm
  10. # apt-get 卸载
  11. sudo apt-get remove --purge npm
  12. sudo apt-get remove --purge nodejs
  13. sudo apt-get remove --purge nodejs-legacy
  14. sudo apt-get autoremove
  15. #手动删除 npm 相关目录
  16. rm -r /usr/local/bin/npm
  17. rm -r /usr/local/lib/node-moudels
  18. find / -name npm
  19. rm -r /tmp/npm*

安装依赖

  1. sudo apt-get install git ant gcc g++ libffi-dev libkrb5-dev libmysqlclient-dev libsasl2-dev libsasl2-modules-gssapi-mit libsqlite3-dev libssl-dev libxml2-dev libxslt-dev make maven libldap2-dev python-dev python-setuptools libgmp3-dev

获取源码

  1. cd /home/lonton/modules/
  2. git clone git://github.com/cloudera/hue.git

编译

  1. cd /home/lonton/modules/hue
  2. make apps
  3. nohup make apps &

编译成功将产生app.reg文件和build文件夹,app.reg中可查看到所有已安装app。

基本配置

修改配置文件hue.ini。

  1. cd /home/lonton/modules/hue/desktop/conf
  2. vi hue.ini

配置如下:

  1. # 秘钥
  2. secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
  3. # host port
  4. http_host=LTSR008
  5. http_port=8888
  6. # 时区
  7. time_zone=Asia/Shanghai

修改desktop.db 文件权限。

  1. cd /home/lonton/modules/hue
  2. chmod o+w desktop/desktop.db

配置HUE元数据。

  1. # 启动mysql
  2. mysql -uroot -plonton

SQL脚本如下:

  1. create database huedb;
  2. grant all on huedb.* to root@'%' identified by 'lonton';
  3. grant all on huedb.* to root@localhost identified by 'lonton';
  4. grant all on huedb.* to root@LTSR006 identified by 'lonton';
  5. ALTER DATABASE huedb CHARACTER SET latin1;
  6. flush privileges;
  7. quit;

配置hue.ini,修改hue配置文件、$HUE_HOME/desktop/conf/pseudo-distributed.ini或hue.ini(此处修改hue.ini)。

  1. [[database]] ##注意此处为database不是databases
  2. engine=mysql
  3. host=LTSR006
  4. port=3306
  5. user=root
  6. password=lonton
  7. name=huedb

创建基础表:

  1. cd /home/lonton/modules/hue/build/env
  2. bin/hue syncdb
  3. bin/hue migrate

启动服务

  1. cd /home/lonton/modules/hue/build/env
  2. ## 第一次进入Hue界面,创建hue/hue账户
  3. bin/hue runserver ## 开发者模式,只能在本机使用
  4. ## 默认只能本机访问,如需外网
  5. bin/hue runserver 0.0.0.0:8888
  6. bin/supervisor
  7. bin/supervisor -d ## 后台运行
  8. sudo -u lonton nohup bin/supervisor & ## lonton用户&后台运行
  9. pkill -U lonton ## 停止

查看Hue web界面:http://LTSR008:8888

HUE与HDFS集成

修改core-site.xml,并分发到各节点。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4. <!--Hadoop nameService逻辑名称,与hdfs-size.xml保持一致-->
  5. <property>
  6. <name>fs.defaultFS</name>
  7. <value>hdfs://LTSR008:9000</value>
  8. </property>
  9. <!--WEB UI访问数据使用的用户名 -->
  10. <property>
  11. <name>hadoop.http.staticuser.user</name>
  12. <value>lonton</value>
  13. </property>
  14. <!-- Hadoop的临时目录,服务端参数,修改需重启。NameNode的Image/Edit目录依赖此配置 -->
  15. <property>
  16. <name>hadoop.tmp.dir</name>
  17. <value>/home/lonton/modules/hadoop-2.5.0/tmp</value>
  18. </property>
  19. <!-- 指定zookeeper地址 -->
  20. <property>
  21. <name>ha.zookeeper.quorum</name>
  22. <value>LTSR005:2181,LTSR006:2181,LTSR007:2181</value>
  23. </property>
  24. <!-- hue集成 -->
  25. <property>
  26. <name>hadoop.proxyuser.hue.hosts</name>
  27. <value>*</value>
  28. </property>
  29. <property>
  30. <name>hadoop.proxyuser.hue.groups</name>
  31. <value>*</value>
  32. </property>
  33. <property>
  34. <name>hadoop.proxyuser.httpfs.hosts</name>
  35. <value>*</value>
  36. </property>
  37. <property>
  38. <name>hadoop.proxyuser.httpfs.groups</name>
  39. <value>*</value>
  40. </property>
  41. <property>
  42. <name>hadoop.proxyuser.lonton.hosts</name>
  43. <value>*</value>
  44. </property>
  45. <property>
  46. <name>hadoop.proxyuser.lonton.groups</name>
  47. <value>*</value>
  48. </property>
  49. </configuration>

分发core-site.xml到各节点。

  1. xsync /home/lonton/modules/hadoop-2.5.0/etc/hadoop/core-site.xml
  1. Hue 可以通过两种方式访问 Hdfs 中的数据:
  1. WebHDFS:提供高速的数据传输,客户端直接和 DataNode 交互。
  2. HttpFS:一个代理服务,方便与集群外部的系统集成。

两者都支持 HTTP REST API,但是 Hue 只能配置其中一种方式;对于 HDFS HA部署方式,只能使用 HttpFS。httpfs-site.xml配置如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <property>
  4. <name>httpfs.proxyuser.hue.hosts</name>
  5. <value>*</value>
  6. </property>
  7. <property>
  8. <name>httpfs.proxyuser.hue.groups</name>
  9. <value>*</value>
  10. </property>
  11. </configuration>

分发httpfs -site.xml到各节点。

  1. xsync /home/lonton/modules/hadoop-2.5.0/etc/hadoop/httpfs-site.xml

配置hue.ini如下:

  1. [[hdfs_clusters]]
  2. [[[default]]]
  3. ## fs_defaultfs=hdfs://ns ## HA模式
  4. fs_defaultfs=hdfs://LTSR008:9000 ## 非HA模式
  5. webhdfs_url=http://LTSR008:50070/webhdfs/v1 ## 非HA模式
  6. ## webhdfs_url=http://bigdata-pro02-node1:14000/webhdfs/v1 ## HA模式
  7. hadoop_hdfs_home=/home/lonton/modules/hadoop-2.5.0
  8. hadoop_bin=/home/lonton/modules/hadoop-2.5.0/bin
  9. hadoop_conf_dir=/home/lonton/modules/hadoop-2.5.0/etc/hadoop

重新启动Hue,并启动httpfs。

  1. cd /home/lonton/modules/hadoop-2.5.0/
  2. bin/hdfs dfs -chmod -R o+x /tmp
  3. sbin/httpfs.sh start

HUE与YARN集成

配置hue.ini如下:

  1. ## 对照yarn-site.xml
  2. [[yarn_clusters]]
  3. [[[default]]]
  4. resourcemanager_host=rs
  5. resourcemanager_port=8032
  6. submit_to=true
  7. resourcemanager_api_url=http://LTSR008:8088
  8. proxy_api_url=http://LTSR008:8088
  9. history_server_api_url=http://LTSR008:19888

重新启动Hue。

HUE与SQLITE集成

HUE默认数据库SQLITE,建议配置为MySQL以防止数据库死锁,配置hue.ini如下:

  1. [[databases]]
  2. [[[sqlite]]] ## 特别注意此处的注释符号要去掉
  3. nice_name=SQLite
  4. name=/home/lonton/hue/desktop/desktop.db
  5. engine=sqlite
  1. 重新启动Hue

HUE与MySQL集成

配置hue.ini如下:

  1. [[[mysql]]] ## 特别注意此处的注释符号要去掉
  2. nice_name="hive-metastore"
  3. name=metastore
  4. engine=mysql
  5. host=LTSR006
  6. port=3306
  7. user=root
  8. password=lonton

重新启动Hue。

HUE与Hive集成

配置hue.ini如下:

  1. [beeswax]
  2. hive_server_host=LTSR008
  3. hive_server_port=10000
  4. hive_conf_dir=/home/lonton/modules/apache-hive-0.13.1-bin/conf

配置hive-site.xml如下:

  1. <property>
  2. <name>hive.metastore.uris</name>
  3. <value>thrift://LTSR008:9083</value>
  4. </property>
  5. <property>
  6. <name>hive.server2.thrift.bind.host</name>
  7. <value>LTSR008</value>
  8. </property>

重新启动Hue,并后台启动Hive。

  1. ## 启动metastore(注意启动顺序,先metastore再hiveserver2)
  2. export HIVE_HOME=/home/lonton/modules/apache-hive-0.13.1-bin
  3. cd ~/modules/apache-hive-0.13.1-bin
  4. $HIVE_HOME/bin/hive --service metastore
  5. nohup $HIVE_HOME/bin/hiveserver2 &

HUE与Zookeeper集成

配置hue.ini如下:

  1. [zookeeper]
  2. [[clusters]]
  3. [[[default]]]
  4. host_ports=LTSR005:2181,LTSR006:2181,LTSR007:2181

HUE配置禁用组件

配置hue.ini如下:

  1. [desktop]
  2. app_blacklist=pig,impala,oozie,spark,hbase