Ambari集成接入Hue 4.2

目录

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行开始,新增了三行执行命令,修改后如下:

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

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

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

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

# vim configs.sh

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

 

    1. 重启Ambari Server

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

    1. 通过Ambari界面来安装Hue

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

    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 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;

    1. 选择Hue,安装

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

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

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

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

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

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

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

desktop

mysq

hdfs(启用了HA)

yarn(启用了HA配置)

beeswax(hive)

spark

filebrower(可选配)

sorl

zookeeper

oozie

librdbms(可选)

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

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

./hue syncdb

./hue migrate

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

    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')

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

修改如下配置参数:

 

 

 

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值