目录

1 安装前准备 

1.1 下载Hue安装包 

1.2 在Hue安装节点安装依赖 

2 安装Hue 

2.1 Hue纳入Ambari的管理 

2.2 版本修改 

2.3 重启Ambari Server 

3 常见问题 

 

  1. 安装前准备
    1. 下载Hue安装包

环境:

Ambari:2.5.0.0

HDP:2.6.4.0

HDP-UTILS:1.1.0.21

Centos:7.0

Hue下载地址:

http://gethue.com/downloads/releases/4.2.0/hue-4.2.0.tgz

下载后,将hue-4.2.0.tgz文件拷贝到本地yum源的/var/www/html/repo/HDP/HDP-2.6.4.0/centos7/2.6.4.0-91/hue目录下(此路径可以通过查看配置源获取cat /etc/yum.repos.d/HDP.repo)。

    1. 在Hue安装节点安装依赖

yum install -y ant

yum install -y maven

yum install -y git

yum install -y gcc gcc-c++ make

yum install -y cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-gssapi

yum install -y krb5-devel libxml2-devel libxslt-devel

yum install -y python-setuptools

yum install -y openldap-devel python-devel sqlite-devel openssl-devel gmp-devel libffi-devel saslwrapper-devel

yum install -y mysql mysql-devel 

yum install -y asciidoc

yum install -y python-simplejson(或者pip install simplejson,本人下载python-simplejson的RPM包进行手动安装rpm -ivh python-simplejson-3.5.3-5.el7.x86_64.rpm)

没安装成功的,不需要管。

  1. 安装Hue
    1. Hue纳入Ambari的管理

在主节点上执行如下三个命令

# VERSION=`hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\.[0-9]\).*/\1/'`

# rm -rf /var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/HUE  

# sudo git clone https://github.com/EsharEditor/ambari-hue-service.git /var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/HUE

    1. 版本修改

上一步下载下来的文件中涉及到的Hue版本与所要安装的Hue版本(4.2)是不一致的。所以需要修改相关文件。

涉及到版本的文件如下:

metainfo.xml

README.md

package/scripts/params.py

package/scripts/setup_hue.py

将里面出现所有的3.11.0替换成4.2.0即可

注意:params.py文件源码中hue/hue-4.2.0.tgz,我再前面添加/变成了/hue/hue-4.2.0.tgz

download_url = 'cat /etc/yum.repos.d/HDP.repo | grep "baseurl" | awk -F \'=\' \'{print $2"/hue/hue-4.2.0.tgz"}\''

不然安装Hue会因路径拼接错误找不到下载位置而安装失败

    1. 修改脚本

个人下载的是hue 4.2.0版本,进行如下修改:

cd /var/lib/ambari-server/resources/stacks/HDP/2.6/services/HUE/package/scripts/

vim common.py

大概从第58行开始,新增了三行执行命令,修改后如下:

Ambari集成接入Hue 4.2

因为我们采用了4.2版本,与之前的版本有区别,所以修改vim setup_hue.py,注释掉如下2行代码:

Ambari集成接入Hue 4.2

#vim common.py第90行开始,注释掉如下3行:

Ambari集成接入Hue 4.2

如果ambari平台密码变更,还需修改默认密码

# cd /var/lib/ambari-server/resources/stacks/HDP/2.6/services/HUE/package/files

# vim configs.sh

Ambari集成接入Hue 4.2

修改脚本# vim params.py:186行,将端口14000改为50070

Ambari集成接入Hue 4.2

 

    1. 重启Ambari Server

在主节点执行命令:# service ambari-server restart

    1. 通过Ambari界面来安装Hue

重启Ambari Server后就能发现,可安装的服务中有Hue了。

Ambari集成接入Hue 4.2

    1. 安装hadoop-httpfs

由于我们的hdfs启用了HA模式,所以需要开启hadoop-httpfs服务,因为webhdfs不能自动感知hdfs-site.xml里面配的HA高可用信息。而HDP是阉割了httpfs的,所以这里需要手动安装,安装也很简单

# sudo yum install hadoop-httpfs

启动HttpFs

# sudo service hadoop-httpfs  start(或者/usr/hdp/current/hadoop-httpfs/etc/rc.d/init.d/hadoop-httpfs start)

HDFS组件在自定义core-site配置文件中添加如下参数(类似参数common.py脚本中都有涉及):

hadoop.proxyuser.hue.groups=*

hadoop.proxyuser.hue.hosts=*

hadoop.proxyuser.httpfs.groups=*

hadoop.proxyuser.httpfs.hosts=*  

hadoop.proxyuser.livy.groups=*

hadoop.proxyuser.livy.hosts=*

注: livy为Spark提供了REST接口。

HDFS组件在自定义hdfs-site配置文件中添加如下参数:

dfs.namenode.acls.enabled=true

同时确保webhdfs处于开启状态

    1. 配置数据库

安装前,需要在MySQL上创建Hue数据库。

create database hue;  

CREATE USER [email protected]'%'IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON hue.* TO [email protected]'*' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON hue.* TO [email protected]'%' IDENTIFIED BY 'password';

FLUSH PRIVILEGES;

    1. 选择Hue,安装

1、设置Hue Metasotre使用mysql保存元数据

Ambari集成接入Hue 4.2

如下此处也可以配置到sqlite中

Ambari集成接入Hue 4.2

2、启用User Sync,暂时使用Linux本地系统用户

Ambari集成接入Hue 4.2

Ambari集成接入Hue 4.2

  1. 其他保持默认值,点击“下一步”,一直到完成部署,因涉及到源码编译,安装会等待较长一段时间
  2. 一切正常时,/usr/local/hue/build/env/bin/目录如下就表明安装成功。

Ambari集成接入Hue 4.2

    1. 安装成功,启动失败,手动修改Hue配置文件hue.ini(默认是通过Hue配置界面刷入到pseudo-distributed.ini配置文件中,以下为手动安装操作,仅记录下各组件配置参数)

这个过程中,Hue安装成功,但是启动失败。

配置文件在/usr/local/hue/desktop/conf/目录下。从头到尾配置。需要配置mysql、hive、hdfs、webhdfs、yarn等等。根据自己已有的组件进行修改(hue启动代码是通过界面配置参数刷入到pseudo-distributed.ini文件,此操作仅作参考),具体内容如下所示:

desktop

Ambari集成接入Hue 4.2

mysq

Ambari集成接入Hue 4.2

hdfs(启用了HA)

Ambari集成接入Hue 4.2

yarn(启用了HA配置)

Ambari集成接入Hue 4.2

Ambari集成接入Hue 4.2

beeswax(hive)

Ambari集成接入Hue 4.2

spark

Ambari集成接入Hue 4.2

filebrower(可选配)

Ambari集成接入Hue 4.2

sorl

Ambari集成接入Hue 4.2

zookeeper

Ambari集成接入Hue 4.2

Ambari集成接入Hue 4.2

oozie

Ambari集成接入Hue 4.2

librdbms(可选)

Ambari集成接入Hue 4.2

    1. 生成hue数据库表(手动安装操作)

进入/usr/local/hue/build/env/bin/目录,执行如下两条命令:

./hue syncdb

Ambari集成接入Hue 4.2

./hue migrate

Ambari集成接入Hue 4.2

如果hue数据库中类似如下,那么说明成功:

Ambari集成接入Hue 4.2

    1. 启动和登录Hue

如果要启用HBase,启动hue之前,先要启动 hbase thrift service,ambari HDP 默认没有启动hbase thrift,需要自己手动启动。在HBase Master节点上执行:

# /usr/hdp/current/hbase-client/bin/hbase-daemon.sh start thrift

在Ambari界面启动Hue,快速链接上打开Hue界面:http://131.bd:8888/,默认登录用户名:admin,密码:admin

注意:admin用户访问hdfs权限问题,个人在HDFS配置参数dfs.permissions.superusergroup中追加了admin用户。

  1. 常见问题
    1. Hue安装目录位置

Hue在部署节点上安装位置:

/var/lib/ambari-agent/cache/stacks/HDP/$VERSION/services/HUE/

    1. 启动Hue失败,报编码问题UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 3462: ordinal not in range(128)

解决办法:在Hue安装节点上修改sudo.py

vim /usr/lib/python2.6/site-packages/resource_management/core/sudo.py

添加

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

Ambari集成接入Hue 4.2

    1. Hue查看HDFS报错Cannot access: /. Note: you are a Hue admin but not a HDFS superuser, "hdfs" or part of HDFS supergroup

修改如下配置参数:

Ambari集成接入Hue 4.2

 

Ambari集成接入Hue 4.2

 

 

相关文章: