Ambari(七)----Ambari集成Hue4.2文档(亲测有效)

参考资料:

ambari-hue-service:Ambari集成Hue github代码
Hue官方文档 database部分介绍

文档目录

一. 安装前准备

二. 将Hue其集成到Ambari

三. Ambari中安装配置hue

四. Ambari集成Hue过程中遇到的问题及解决方案

一. 安装前准备

1.1 环境配置

我的环境配置如下:

环境对应版本
Amabri2.6.0.0
HDP2.6.3.0
HDP-UTILSHDP-UTILS-1.1.0.21
CentOs7.4

1.2 下载Hue安装包

Hue4.2官网下载链接

注:如果官网下载碰到问题可使用如下链接

百度网盘Hue4.2压缩包

提取码: qflu

下载后,将hue-4.2.0.tgz文件拷贝到本地yum源的hue目录下.此路径可以通过查看hdp源配置文件获取,例:

# 注: 有的ambari对应HDP.repo文件
 cat /etc/yum.repos.d/hdp.repo | grep baseurl
# 显示结果如下
baseurl=http://{hostname}/ambari/HDP/centos7/2.6.3.0-235
baseurl=http://{hostname}/ambari/HDP-UTILS
#那么上述配置对应hue目录为
/var/www/html/ambari/HDP/centos7/2.6.3.0-235/hue

1.3 在Hue安装节点安装必要依赖

在安装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  # 注: 若该命令运行异常,请跳转问题一查看解决方案

二. 将Hue集成到Ambari

2.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

2.2 根据实际情况修改代码

2.2.1 版本修改

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

涉及到版本的文件如下

metainfo.xml
README.md
package/scripts/params.py
package/scripts/setup_hue.py

将上述文件中出现的所有3.11.0替换成4.2.0即可

2.2.2 脚本修改

为了保证Hue能够正常下载安装,我们还需要对部分脚本做必要的修改
脚本目录如下

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

修改common.py文件

首先新增如下几条执行命令,修改之后结果如下:
在这里插入图片描述
接下来注释掉如下几行,注释之后显示如下:
在这里插入图片描述

修改setup_hue.py文件

注释掉如下两行,修改之后显示如下:
在这里插入图片描述
修改params.py文件

首先,修改32行,download_url配置,修改之后结果如下图:
在这里插入图片描述
注意:这里配置应该根据自己实际情况! 最后需要保证download_url参数返回的结果和1.2步骤中配置的值一致
否则hue初始化过程中会出现404问题导致失败

接下来,修改186行,将端口号修改为50070,如下:

在这里插入图片描述

检查configs.sh文件

该文件所在目录:

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

检查该文件中ambari平台密码,端口号设置是否和ambari-server配置一致,不一致需要进行更正

在这里插入图片描述

2.3 重启ambari-server

修改完2.2所述配置之后,执行如下命令重启ambari-server

ambari-server restart

我们已经可以在添加服务列表里看到Hue服务
在这里插入图片描述

三. Ambari中安装配置hue

3.1 hue正式安装前配置

3.1.1 安装hadoop-httpfs

如果hdfs启用了HA模式,那么需要开启hadoop-httpfs服务,因为webhdfs不能自动感知hdfs-site.xml里面配的HA高可用信息。而HDP是阉割了httpfs的,所以这里需要手动安装,操作如下:

 # 安装 hadoop-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)

3.1.2 hdfs添加相关配置

注意: 下述参数在添加过程中碰到参数已经存在的提示无需理会,直接添加下一个即可

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

hadoop.proxyuser.hue.groups=*

hadoop.proxyuser.hue.hosts=*

hadoop.proxyuser.httpfs.groups=*

hadoop.proxyuser.httpfs.hosts=*  

hadoop.proxyuser.livy.groups=*

hadoop.proxyuser.livy.hosts=*

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

dfs.namenode.acls.enabled=true

同时确保webhdfs处于开启状态

3.1.3 mysql数据库配置

需要在MySQL上创建Hue数据库

create database hue;  

CREATE USER hue@'%'IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON hue.* TO hue@'*' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON hue.* TO hue@'%' IDENTIFIED BY 'password';

FLUSH PRIVILEGES;

3.2 hue初始化

上述配置结束后,可以在ambari web界面上依照提示进行hue初始化工作

Hue Databases配置
在这里插入图片描述
此处也可以配置到MySQL Configs部分中
在这里插入图片描述

Hue User Info配置

启用User Sync,使用linux系统本地用户
在这里插入图片描述
Hue Service Module配置

在这里插入图片描述
其它保持默认值,点击下一步,一直到完成安装部署
这里涉及到源码编译,所以会等待比较长的时间
此时,如果遇到报错,根据界面提示的相关错误信息去排查解决

如果/usr/local/hue/build/env/bin/目录如下证明安装成功

在这里插入图片描述

注意! 截止到到上述操作,我们仅仅完成了hue的安装工作,
这个时候启动或者界面跳转会失败,因为我们还没有对安装好的Hue进行进一步配置

3.3 hue初始化后进行的配置

手动修改Hue配置文件Hue.ini

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

修改[desktop]
在这里插入图片描述
修改[[database]]

在这里插入图片描述
修改[hadoop]
注意:我这里的示例集群开启了HA

在这里插入图片描述
修改[[yarn_cluesters]]
注: 我这里的示例yarn也开启了HA配置

在这里插入图片描述
修改[[ha]]

在这里插入图片描述
修改[beeswax]
在这里插入图片描述

修改[spark]

在这里插入图片描述
修改[firebrowser]
在这里插入图片描述
修改[zookeeper]

在这里插入图片描述
修改[libzookeeper]
在这里插入图片描述
注:我这里只列举了自己的组件,如果涉及到其它组件,也要根据实际情况修改配置文件

3.4 生成hue数据库和表

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

./hue syncdb
./hue migrate

hue数据库中表类似下图,证明执行成功:

在这里插入图片描述

3.5 启动和登录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界面

出现如下界面,证明hue安装配置正常
在这里插入图片描述

输入账户名密码登录即可! 我这里登录用户名:hue,密码:hue

四. Ambari集成Hue过程中遇到的问题及解决方案

4.1 yum安装python-simplejson报错:No package python-simplejson available.

问题描述:

# 执行以下命令安装simplejson的时候
yum install python-simplejson -y

报错:

No package python-simplejson available.
Error: Nothing to do

解决方案:

可以尝试以下几种下载方式:

方法一:

wget https://pypi.python.org/packages/source/s/simplejson/simplejson-3.5.2.tar.gz#md5=10ff73aa857b01472a51acb4848fcf8b --no-check-certificate
tar vxzf simplejson-3.5.2.tar.gz
cd simplejson-3.5.2
python setup.py install

方法二:

pip install simplejson

方法三:

easy_install simplejson

我最终用方法一解决了该问题

4.2 hue初始化报错 : ‘ascii’ codec can’t encode character u’\u201c’ in position 3462: ordinal not in range(128)

问题描述:

# hue初始化时报错,如下
File "/usr/lib/python2.6/site-packages/resource_management/core/sudo.py", line 141, in create_file
    fp.write(content)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 3462: ordinal not in range(128)

问题原因:
编码问题
解决方案:
修改报错文件的编码方式,如下:

vim /usr/lib/python2.6/site-packages/resource_management/core/sudo.py
# 添加如下内容:
import sys

reload(sys)

sys.setdefaultencoding('utf-8')

如下图所示:
在这里插入图片描述

4.3 hue初始化报错 :HTTP request sent, awaiting response… 404 Not Found

# 界面上install hue报错, 具体提示如下:
2020-11-11 14:08:52 (298 MB/s) - 'hue.tgz' saved [48520359/48520359]

--2020-11-11 14:08:52--  http://{ip}/ambari/HDP-UTILS/hue/hue-4.2.0.tgz
Reusing existing connection to 172.16.87.191:80.
HTTP request sent, awaiting response... 404 Not Found
2020-11-11 14:08:52 ERROR 404: Not Found.

FINISHED --2020-11-11 14:08:52--
Total wall clock time: 0.2s
Downloaded: 1 files, 46M in 0.2s (298 MB/s)

报错原因:
从报错提示来看,给出的链接下并没有hue-4.2.0.tgz压缩包
怀疑是download_url部分配置解析问题

解决方案:

修改params.py文件

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

vim params.py 

# 修改download_url配置为如下,注:该配置需要根据个人实际情况修改,请勿直接复制粘贴
download_url = 'cat /etc/yum.repos.d/hdp.repo | grep "baseurl"  | grep "ambari/HDP/centos" | awk -F \'=\' \'{print $2"/hue    /hue-4.2.0.tgz"}\''

修改完毕之后,重新初始化,问题得到解决!

4.4 hue界面打开报错: 1044, “Access denied for user ‘hue’@’%’ to database ‘desktop/desktop.db’”

问题描述:
hue初始化结束并成功启动之后,ambari点击quicklinks进入Hue界面时界面报错:

OperationalError at /hue/accounts/login/
(1044, "Access denied for user 'hue'@'%' to database 'desktop/desktop.db'")
Request Method:	GET
Request URL:	http://ambari-191-master:8888/hue/accounts/login/?next=/
Django Version:	1.6.10
Exception Type:	OperationalError
Exception Value:	
(1044, "Access denied for user 'hue'@'%' to database 'desktop/desktop.db'")
Exception Location:	/usr/local/hue/build/env/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/connections.py in __init__, line 193
Python Executable:	/usr/local/hue/build/env/bin/python2.7
Python Version:	2.7.5

问题原因:
hue数据库初始化异常

解决方案:

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

./hue syncdb
./hue migrate

正确之后重启hue,及相关组件,点击链接,界面正常显示!
在这里插入图片描述

4.5 hue界面访问hdfs报错 Cannot access: /. Note: you are a Hue admin but not a HDFS superuser, “hadoop” or part of HDFS supergroup, “supergroup”

报错详情:


Cannot access: /. Note: you are a Hue admin but not a HDFS superuser, "hadoop" or part of HDFS supergroup, "supergroup".
 
SecurityException: Failed to obtain user group information: org.apache.hadoop.security.authorize.AuthorizationException: User: hue is not allowed to impersonate hue (error 403)

报错原因:
权限问题, hue用户不具备相应hdfs目录的访问权限

解决方案:

为hue添加如下配置
该配置与3.1.1过程中所在的主机名一致
在这里插入图片描述
修改如下配置,将Default User的值配置为报错的用户
在这里插入图片描述
修改完上述配置之后,重新启动hue.问题即可得到解决

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值