安装
ROOT用户下操作、ROOT用户下操作、ROOT__用户下操作。
安装准备
# 安装最新的 node v10.x
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
# 更新npm的包镜像源,方便快速下载
npm config set registry https://registry.npm.taobao.org
npm info underscore
# 卸载npm
# apt-get 卸载
sudo apt-get remove --purge npm
sudo apt-get remove --purge nodejs
sudo apt-get remove --purge nodejs-legacy
sudo apt-get autoremove
#手动删除 npm 相关目录
rm -r /usr/local/bin/npm
rm -r /usr/local/lib/node-moudels
find / -name npm
rm -r /tmp/npm*
安装依赖
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
获取源码
cd /home/lonton/modules/
git clone git://github.com/cloudera/hue.git
编译
cd /home/lonton/modules/hue
make apps
nohup make apps &
编译成功将产生app.reg文件和build文件夹,app.reg中可查看到所有已安装app。
基本配置
修改配置文件hue.ini。
cd /home/lonton/modules/hue/desktop/conf
vi hue.ini
配置如下:
# 秘钥
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
# host port
http_host=LTSR008
http_port=8888
# 时区
time_zone=Asia/Shanghai
修改desktop.db 文件权限。
cd /home/lonton/modules/hue
chmod o+w desktop/desktop.db
配置HUE元数据。
# 启动mysql
mysql -uroot -plonton
SQL脚本如下:
create database huedb;
grant all on huedb.* to root@'%' identified by 'lonton';
grant all on huedb.* to root@localhost identified by 'lonton';
grant all on huedb.* to root@LTSR006 identified by 'lonton';
ALTER DATABASE huedb CHARACTER SET latin1;
flush privileges;
quit;
配置hue.ini,修改hue配置文件、$HUE_HOME/desktop/conf/pseudo-distributed.ini或hue.ini(此处修改hue.ini)。
[[database]] ##注意此处为database不是databases
engine=mysql
host=LTSR006
port=3306
user=root
password=lonton
name=huedb
创建基础表:
cd /home/lonton/modules/hue/build/env
bin/hue syncdb
bin/hue migrate
启动服务
cd /home/lonton/modules/hue/build/env
## 第一次进入Hue界面,创建hue/hue账户
bin/hue runserver ## 开发者模式,只能在本机使用
## 默认只能本机访问,如需外网
bin/hue runserver 0.0.0.0:8888
bin/supervisor
bin/supervisor -d ## 后台运行
sudo -u lonton nohup bin/supervisor & ## lonton用户&后台运行
pkill -U lonton ## 停止
查看Hue web界面:http://LTSR008:8888
HUE与HDFS集成
修改core-site.xml,并分发到各节点。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--Hadoop nameService逻辑名称,与hdfs-size.xml保持一致-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://LTSR008:9000</value>
</property>
<!--WEB UI访问数据使用的用户名 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>lonton</value>
</property>
<!-- Hadoop的临时目录,服务端参数,修改需重启。NameNode的Image/Edit目录依赖此配置 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lonton/modules/hadoop-2.5.0/tmp</value>
</property>
<!-- 指定zookeeper地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>LTSR005:2181,LTSR006:2181,LTSR007:2181</value>
</property>
<!-- 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.httpfs.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.httpfs.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.lonton.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.lonton.groups</name>
<value>*</value>
</property>
</configuration>
分发core-site.xml到各节点。
xsync /home/lonton/modules/hadoop-2.5.0/etc/hadoop/core-site.xml
Hue 可以通过两种方式访问 Hdfs 中的数据:
- WebHDFS:提供高速的数据传输,客户端直接和 DataNode 交互。
- HttpFS:一个代理服务,方便与集群外部的系统集成。
两者都支持 HTTP REST API,但是 Hue 只能配置其中一种方式;对于 HDFS HA部署方式,只能使用 HttpFS。httpfs-site.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
</configuration>
分发httpfs -site.xml到各节点。
xsync /home/lonton/modules/hadoop-2.5.0/etc/hadoop/httpfs-site.xml
配置hue.ini如下:
[[hdfs_clusters]]
[[[default]]]
## fs_defaultfs=hdfs://ns ## HA模式
fs_defaultfs=hdfs://LTSR008:9000 ## 非HA模式
webhdfs_url=http://LTSR008:50070/webhdfs/v1 ## 非HA模式
## webhdfs_url=http://bigdata-pro02-node1:14000/webhdfs/v1 ## HA模式
hadoop_hdfs_home=/home/lonton/modules/hadoop-2.5.0
hadoop_bin=/home/lonton/modules/hadoop-2.5.0/bin
hadoop_conf_dir=/home/lonton/modules/hadoop-2.5.0/etc/hadoop
重新启动Hue,并启动httpfs。
cd /home/lonton/modules/hadoop-2.5.0/
bin/hdfs dfs -chmod -R o+x /tmp
sbin/httpfs.sh start
HUE与YARN集成
配置hue.ini如下:
## 对照yarn-site.xml
[[yarn_clusters]]
[[[default]]]
resourcemanager_host=rs
resourcemanager_port=8032
submit_to=true
resourcemanager_api_url=http://LTSR008:8088
proxy_api_url=http://LTSR008:8088
history_server_api_url=http://LTSR008:19888
HUE与SQLITE集成
HUE默认数据库SQLITE,建议配置为MySQL以防止数据库死锁,配置hue.ini如下:
[[databases]]
[[[sqlite]]] ## 特别注意此处的注释符号要去掉
nice_name=SQLite
name=/home/lonton/hue/desktop/desktop.db
engine=sqlite
重新启动Hue。
HUE与MySQL集成
配置hue.ini如下:
[[[mysql]]] ## 特别注意此处的注释符号要去掉
nice_name="hive-metastore"
name=metastore
engine=mysql
host=LTSR006
port=3306
user=root
password=lonton
HUE与Hive集成
配置hue.ini如下:
[beeswax]
hive_server_host=LTSR008
hive_server_port=10000
hive_conf_dir=/home/lonton/modules/apache-hive-0.13.1-bin/conf
配置hive-site.xml如下:
<property>
<name>hive.metastore.uris</name>
<value>thrift://LTSR008:9083</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>LTSR008</value>
</property>
重新启动Hue,并后台启动Hive。
## 启动metastore(注意启动顺序,先metastore再hiveserver2)
export HIVE_HOME=/home/lonton/modules/apache-hive-0.13.1-bin
cd ~/modules/apache-hive-0.13.1-bin
$HIVE_HOME/bin/hive --service metastore
nohup $HIVE_HOME/bin/hiveserver2 &
HUE与Zookeeper集成
配置hue.ini如下:
[zookeeper]
[[clusters]]
[[[default]]]
host_ports=LTSR005:2181,LTSR006:2181,LTSR007:2181
HUE配置禁用组件
配置hue.ini如下:
[desktop]
app_blacklist=pig,impala,oozie,spark,hbase