环境:
Centos:7.0
ambari 2.6.2
hdp 2.6.5
HDP-UTILS:1.1.0.22
Hue下载地址:
http://gethue.com/downloads/releases/4.2.0/hue-4.2.0.tgz
有问题联系QQ:1551918572
**
**
下载后,将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)。
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-devel mysql(mysql如果已经有就不用下载)
我已经安装 直接yum install -y mysql-devel 报错
重点关注:libmysqlclient.so.18()(64bit)
yum install -y asciidoc
解决:
缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm这个包
wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
再次安装
yum -y install mysql-devel
成功
yum install -y python-simplejson(yum安装没成功手动安装python-simplejson-3.6.3-4.mga5.x86_64.rpm)
主意:网上说python-simplejson安装失败不用管是错误的,必须安装
在主节点上执行如下三个命令
①.VERSION=hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\.[0-9]\).*/\1/'
②.rm -rf /var/lib/ambari-server/resources/stacks/HDP/ V E R S I O N / s e r v i c e s / H U E ③ . s u d o g i t c l o n e h t t p s : / / g i t h u b . c o m / E s h a r E d i t o r / a m b a r i − h u e − s e r v i c e . g i t / v a r / l i b / a m b a r i − s e r v e r / r e s o u r c e s / s t a c k s / H D P / VERSION/services/HUE ③.sudo git clone https://github.com/EsharEditor/ambari-hue-service.git /var/lib/ambari-server/resources/stacks/HDP/ VERSION/services/HUE③.sudogitclonehttps://github.com/EsharEditor/ambari−hue−service.git/var/lib/ambari−server/resources/stacks/HDP/VERSION/services/HUE
第三部没成功,我输入网址下载的zip解压放入
版本修改
上一步下载下来的文件中涉及到的Hue版本与所要安装的Hue版本(4.2)是不一致的。所以需要修改相关文件。
涉及到版本的文件如下:
metainfo.xml
README.md
package/scripts/params.py
package/scripts/setup_hue.py
将里面出现所有的3.11.0替换成4.2.0即可
注意:ambari的HDP.repo 文件名是大写,同时查看里面的url,要以/结尾,否则会报错
修改脚本
个人下载的是hue 4.2.0版本,进行如下修改:
cd /var/lib/ambari-server/resources/stacks/HDP/2.6/services/HUE/package/scripts/
vim common.py
大概从第58行开始,新增了三行执行命令,修改后如下:
Execute(’{0} | xargs wget -O hue.tgz’.format(params.download_url))
Execute(‘tar -zxvf hue.tgz -C {0} && rm -f hue.tgz’.format(params.hue_install_dir))
Execute(‘mkdir -p {0}’.format(params.hue_dir))
Execute(‘chown -R {0}:{1} {2}’.format(params.hue_user,params.hue_group,params.hue_dir))
Execute(‘ln -s {0} /usr/hdp/current/hue-server’.format(params.hue_dir))
Execute(‘rm -rf {0}/*’.format(params.hue_dir))
Execute(‘cd /usr/local/hue-4.2.0 && make install’)
Logger.info(“Hue Service is installed”)
因为我们采用了4.2版本,与之前的版本有区别,所以修改vim setup_hue.py,注释掉如下2行代码:
vim common.py第90行开始,注释掉如下3行:
如果ambari平台密码变更,还需修改默认密码
修改脚本# vim params.py:186行,将端口14000改为50070
重启Ambari Server
在主节点执行命令:# service ambari-server restart
通过Ambari界面来安装Hue
重启Ambari Server后就能发现,可安装的服务中有Hue了。
安装hadoop-httpfs(因没有HA,此步骤我没有安装)
由于我们的hdfs启用了HA模式,所以需要开启hadoop-httpfs服务,因为webhdfs不能自动感知hdfs-site.xml里面配的HA高可用信息。而HDP是阉割了httpfs的,所以这里需要手动安装,安装也很简单
启动HttpFs
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处于开启状态
配置数据库
安装前,需要在MySQL上创建Hue数据库。
create database hue;
CREATE USER hue@’%‘IDENTIFIED BY ‘Hue-1234’;
GRANT ALL PRIVILEGES ON hue.* TO hue@’%’ ;
FLUSH PRIVILEGES;
选择Hue,安装
设置Hue Metasotre使用mysql保存元数据
启用User Sync,暂时使用Linux本地系统用户
其他保持默认值,点击“下一步”,
安装时报错
第二张图中的Url不对,发现1.1.0.22下面并没有hue/hue-4.2.0.tgz,将hue创建并将hue-4.2.0.tgz放到创建的hue下
一直到完成部署,因涉及到源码编译,安装会等待较长一段时间
安装完成
一切正常时,/usr/local/hue/build/env/bin/目录如下就表明安装成功。
安装成功,启动失败,手动修改Hue配置文件hue.ini(默认是通过Hue配置界面刷入到pseudo-distributed.ini配置文件中,以下为手动安装操作,仅记录下各组件配置参数)
配置文件在/usr/local/hue/desktop/conf/目录下。从头到尾配置。需要配置mysql、hive、hdfs、webhdfs、yarn等等。根据自己已有的组件进行修改(hue启动代码是通过界面配置参数刷入到pseudo-distributed.ini文件,此操作仅作参考),具体内容如下所示:
desktop
mysq
yarn(启用了HA配置)
spark
filebrower(可选配)
zookeeper
librdbms(可选)
生成hue数据库表(手动安装操作)
进入/usr/local/hue/build/env/bin/目录,执行如下两条命令:
./hue
如果hue数据库中类似如下,那么说明成功:
启动和登录Hue
如果要启用HBase,启动hue之前,先要启动 hbase thrift service,ambari HDP 默认没有启动hbase thrift,需要自己手动启动。在HBase Master节点上执行:
在Ambari界面启动Hue,快速链接上打开Hue界面:http://131.bd:8888/,默认登录用户名:admin,密码:admin
注意:admin用户访问hdfs权限问题,个人在HDFS配置参数dfs.permissions.superusergroup中追加了admin用户。
使用ranger添加admin用户的权限,对hive hdfs等
**
请安装python-simplejson 主意版本太低还是会报错,我安装的3.6
此问题是url报错
查看hdp.repo是否是HDP.repo,小写不行,查看安装节点是否有HDP.repo
最好每个节点都有
此问题就是url错误
ambari下载时,就是对HDP.repo内的url进行再拼接
首先保证HDP内部的两个url都是/结尾,很重要我的就是一个带一个不带,报错
如果还报错就看看你下边url地址内的文件后和文件夹是否存在
第二张图中的Url不对,发现1.1.0.22下面并没有hue/hue-4.2.0.tgz,将hue创建并将hue-4.2.0.tgz放到创建的hue下
这个问题是我用ambari集成失败后,首当安装了hue成功了,
然后又想使用ambari安装,报的错误
将手动安装文档全清除,使用ambri重新集成
5.
hue连接hbase报错先看一看
如果是以下两种错误
第一种
Api Error: HTTPConnectionPool(host=‘ambari-3’, port=9090): Max retries exceeded with url: / (Caused by NewConnectionError(’: Failed to establish a new connection: [Errno 111] Connection refused’,))
第二种
Api Error: 500 Server Error: User: root is not allowed to impersonate admin for url: http://ambari-3:9090/
如果是这两种请查看链接
hue连接hbase报错