前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hue安装与部署,并连接Impala

Hue安装与部署,并连接Impala

作者头像
skyyws
发布于 2022-05-20 00:14:15
发布于 2022-05-20 00:14:15
2.2K00
代码可运行
举报
运行总次数:0
代码可运行

本文主要讲解了如何安装并启动Hue 4.1.0,然后连接impala集群进行sql查询。其中,还包含了在安装部署过程中遇到的一些问题,希望可以帮助到大家。

准备源文件

首先,我们需要下载hue的源代码,进行编译,这里有两种方式可以下载:

1. 通过git命令从github上直接拉取对应版本的分支即可,hue的官方git地址是:https://github.com/cloudera/hue,可以通过如下命令直接拉取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/cloudera/hue.git

但是有一个问题,因为我是在公司的服务器上进行git clone,下载速度会非常慢,慢的令人发指!此时,也可以通过本地使用迅雷直接下载zip包,然后上传至服务器。但是我在服务器上使用unzip进行解压的过程中发现出现了错误:

上网搜索发现,好像是zip命令的一个bug。因此,我又采用了下面的方法来获取源码;

2. 可以直接通过hue的官网下载相应版本的hue:http://gethue.com/,可以从这里面选取各个版本的hue下载,然后进行编译:

使用这种方法可以直接在本地用迅雷下载tar包,然后上传至服务器进行解压。这种方式下载会很快,而且使用tar命令进行解压也不会有问题。但是,该方法下载的源码是没有git相关信息的,因此具体采用哪种方法看大家自己的需求吧。我这里选择的是4.1版本的hue。

编译

我们将刚刚下载的压缩包解压至要安装的目录下,然后进入相应的目录,准备编译(假设我们这里安装目录为/home/hue-4.1.0)。由于我这边选择的4.1.0版本,因此,下面安装所依赖的一些组件,都是以该版本为主,具体可参考:https://github.com/cloudera/hue/tree/branch-4.1。这里我就简要介绍一下各个主要的步骤,注意,我服务器所在的环境是debian 8,因此主要以该系统为主,其他系统也类似。

1. 安装依赖的组件和库;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

2. 安装JDK,这里就不多做介绍,比较简单;

3. 源码编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/hue-4.1.0
make apps

编译完成之后,就可以准备启动hue服务了;另外,如果要重新编译的话,可以使用如下命令进行清理:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Remove desktop build products
make clean
# Remove desktop and thirdparty build products
make distclean

也可以通过直接make命令查看可以选择的参数:

如果在编译过程中,出现了找不到某个包或者软件的问题,请按照错误提示依次下载安装,在这个过程中需要root权限,请提前准备好。

配置

编译完成之后,我们需要对配置文件进行配置,hue的配置文件位于desktop/conf/pseudo-distributed.ini,我们可以通过对该文件进行修改,来进行相应的配置,这里主要介绍几个比较重要的配置。

首先,由于数据库引擎我使用了mysql,所有需要配置mysql的相关选项,其中name表示创建的各个表所属的数据库。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[[database]]
  # Database engine is typically one of:
  # postgresql_psycopg2, mysql, sqlite3 or oracle.
  #
  # Note that for sqlite3, 'name', below is a path to the filename. For other backends, it is the database name.
  # Note for Oracle, options={"threaded":true} must be set in order to avoid crashes.
  # Note for Oracle, you can use the Oracle Service Name by setting "host=" and "port=" and then "name=<host>:<port>/<service_name>".
  # Note for MariaDB use the 'mysql' engine.
  engine=mysql
  host=127.0.0.1
  port=3306
  user=hue
  password=hue
  # Execute this script to produce the database password. This will be used when 'password' is not set.
  ## password_script=/path/script
  name=hue
  ## options={}

其次,由于线上需要配置kerberos认证,因此我们需要配置相应的各个参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[[kerberos]]
 
  # Path to Hue's Kerberos keytab file
  hue_keytab=/home/keytab/hue.keytab
  # Kerberos principal name for Hue
  hue_principal=hue/xxx@xxx
  # Frequency in seconds with which Hue will renew its keytab
  keytab_reinit_frequency=3600
  # Path to keep Kerberos credentials cached
  ccache_path=/tmp/hue/hue_krb5_ccache
  # Path to kinit
  kinit_path=/usr/bin/kinit

注意,如果没有配置ccache_path这个参数,那么在启动hue的时候,可能会报“No such file or directory: '/var/run/hue/hue_krb5_ccache'”这个错误,如下所示:

由于我这边主要是为了连接impala,所以还需要进行impala的相关配置,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[impala]
  # Host of the Impala Server (one of the Impalad)
  server_host=xxx
 
  # Port of the Impala Server
  server_port=21050
 
  # Kerberos principal
  impala_principal=impala/xxx@xxx

其他的一些相关的,例如hadoop,hive之类的配置,网上有很多资料,这里就不再一一列举出来,大家可以自行搜索并参考。

启动

在官方文档中,我们可以看到,编译完成之后,就是通过如下命令启动:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
build/env/bin/hue runserver
# start the production server (but lose the automatic reloading after source modification)
build/env/bin/supervisor

但是,实际上,直接启动会有问题,如下所示:

提示“Table 'hue.south_migrationhistory' doesn't exist”,在网上查阅各种资料后发现,由于我是使用了mysql来存储的元数据,因此在启动服务前还有一些其他的准备工作要做,关于mysql的具体配置,我在前面已经介绍过了,这里就不再赘述。可以通过下面两条命令创建所需要的一些表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./build/env/bin/hue syncdb --noinput
./build/env/bin/hue migrate

更多具体的可以参考:https://www.cloudera.com/documentation/enterprise/5-6-x/topics/cdh_ig_hue_database.html。执行完两条命令之后,我们就可以在mysql的对应库(我们在上面配置的name为hue,这里的库就是指这个)下面看到相应的表了:

上图中我只截图了部分表。此时,我们就可以再次通过命令来启动hue,此时我们发现可以正常启动了,然后通过http://hostname:8000就可以访问hue的页面了:

由于是第一次进入,所以我们需要创建新用户,这个用户就是超级用户(相当于管理员),本以为创建之后就可以愉快的查询了,结果没想到有出现了下面的错误:

AttributeError 'Config' object has no attribute 'get',在网上搜索了一阵子之后,发现跟配置文件里面的如下配置项有关:

然后,我将app_blacklist注释之后,再使用刚刚创建的用户名和密码登录,发现登录成功,然后查询一切正常!

之后我又将app_blacklist配置了一些少量的值,发现也是可以正常使用的,说明是有某一个依赖的如果配置进去了,则会导致上面的错误,具体是哪一个我也没有过多研究,大家有兴趣的话可以自己研究研究。

到这里,Hue的安装和启动终于搞定了,真是一波三折!现在我们就可以愉快的使用hue来查询impala中的数据了,还是非常方便的。

其他相关

关于其他的一些更多操作,我们可以通过直接执行build/env/bin/hue来查看可选项,包括创建超级用户,修改用户密码等等,如下所示:

上图只截图了部分命令,更多相关hue相关的信息可以参见hue官方文档。

问题补充

问题一 Couldn't renew kerberos ticket问题

在本地执行/usr/bin/kinit -R -c /tmp/hue/hue_krb5_ccache失败,明显kerberos有问题,与hue无关。

问题二 error load database,TSocket read 0 bytes

经过排查发现,由于我们使用了代理用户,principal和be_principal不一样,因此导致hue在连接impalad的时候有kerberos认证失败的问题,因此建议使用impala的principal。即principal和be_principal使用同一个principle,然后hue的配置文件中impala_principal也配置为相同的principle。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
对象存储COS × 云顾问:安全管理重磅升级,守护数据安全!
在数字化浪潮下,对象存储 COS 作为海量数据的核心载体,安全防护能力至关重要。存储桶配置不当可能引发数据泄露、流量盗刷等安全问题,因此腾讯云对象存储 COS 基于云顾问的云巡检能力,正式推出全新「安全管理」功能,通过智能巡检、多维评估、实时管控三大核心能力,为企业构建从风险识别到修复闭环的全链路防护体系,让数据安全从“被动防御”迈向“主动治理”。
云存储
2025/03/14
3150
对象存储COS × 云顾问:安全管理重磅升级,守护数据安全!
对象存储COS-防盗刷指引
近年来,越来越多的用户在搭建网站或图床时将图片视频等资源上传到对象存储COS,提升了访问稳定性的同时降低了服务器的存储空间压力,但随之而来的流量盗刷、图片盗链问题也困扰着不少开发者,一旦存储空间被恶意访问,会产生高额的流量费用,产生不必要的纠纷。这类问题实际上可以通过多种手段来防护,本文将主要介绍一些常见的防护手段,帮助开发者合理配置存储桶,建立安全机制,降低因类似问题带来的大额资金损失的风险。
云存储
2023/09/22
1.9K0
对象存储COS-防盗刷指引
运维干货|对象存储COS成本管理秘籍
成本管理是业务运维的一项重要内容,我们在使用云产品时一定要熟悉其计费规则,在保证服务质量、数据安全的前提下尽可能的降低服务运营成本,下文从预防预期外成本增长、现有成本的优化、以及成本的持续运营思路来探讨对象存储COS成本管理方案。
覃春善
2021/02/25
2.9K0
运维干货|对象存储COS成本管理秘籍
【最佳实践】巡检项:对象存储(COS)存储桶防盗链(Referer)配置
检查腾讯云对象存储 COS 的防盗链配置情况。 当COS存储桶权限为公有读时,如果防盗链出现以下两种情况,可能会导致存储桶出现安全风险。
吴硕卫
2022/05/10
3.3K1
腾讯云对象存储COS安全方案介绍
​相信所有企业和个人开发者在选用云存储产品时都把数据安全作为重要考量标准。 本文介绍了用户如何使用腾讯云对象存储COS的事前防护、事中监控、事后追溯三个手段来保证自己的数据安全。
云存储
2020/03/03
7.5K0
【客户案例】巡检项:对象存储(COS)存储桶防盗链(Referer)配置
某客户根据账单发现COS的费用突然增加,然后去分析发现请求费用和流量费用的增加,但是客户业务量没有明显的增。
Smart Advisor
2022/03/15
1.1K0
如何使用对象存储 COS ?七个步骤,帮你搞定!
腾讯云对象存储 COS(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务,用户可通过网络随时存储和查看数据。同时为用户提供了高数据持久性、高可用性、高性能的对象存储服务。
云存储
2022/02/25
9.4K0
如何使用对象存储 COS ?七个步骤,帮你搞定!
【玩转腾讯云】对象存储COS的权限管理分析
随着互联网和公有云的发展,越来越多的企业把数据放到公有云上,COS(Cloud Object Storage)作为腾讯云的对象存储产品,提供了高容量、高可靠、低成本的存储解决方案,也使得客户把越来越多的业务数据放到了COS上。
ictfox
2020/04/27
16.6K5
【玩转腾讯云】对象存储COS的权限管理分析
腾讯云COS设置防盗链
为了避免恶意程序使用资源 URL 盗刷公网流量或使用恶意手法盗用资源,给用户带来不必要的损失。腾讯云对象存储支持防盗链配置,建议您通过控制台的防盗链设置配置黑/白名单,来进行安全防护。
西里国际站
2023/05/11
5.7K0
腾讯云COS设置防盗链
腾讯云cos对象存储的流程!
西里网
2025/05/30
1650
【腾讯云轻量对象存储“用户实践”征文】腾讯云轻量对象存储LighthouseCOS 实践体验:简单高效的数据存储解决方案
摘要:本文将介绍分享关于LighthouseCOS的功能和特点,并分享用户在实践中的体验,因为LighthouseCOS作为一种简单高效的数据存储解决方案,为用户提供了可靠、安全和易用的云端存储服务,值得一用。
三掌柜
2024/02/23
3303
【腾讯云轻量对象存储“用户实践”征文】腾讯云轻量对象存储LighthouseCOS 实践体验:简单高效的数据存储解决方案
腾讯云对象存储 COS 高可用解决方案,都在这里了!
上一篇内容我们说到了 COS 是什么“要对象存储做什么,我有女朋友就够了!”的文章。本文将着重介绍如何尽可能的提高腾讯云对象存储 COS 的可用性。
云存储
2019/12/06
2.8K0
腾讯云对象存储 COS 高可用解决方案,都在这里了!
腾讯云对象存储COS之间的数据如何进行迁移
全托管公网迁移模式中,无需自主部署 Agent,任务创建之后自动化执行。腾讯云 COS 间迁移时 MSP 将通过内网拉取源对象存储桶数据并保存到目标对象存储桶,不会产生额外费用。
云存储
2020/01/03
2.8K0
腾讯云对象存储COS之间的数据如何进行迁移
【最佳实践】巡检项:对象存储(COS)存储桶公有读写
某客户使用COS存储进行一些文件的存储,近期发现桶中出现了一些不是自己上传的文件、一些文件被删除了,还有一些流量的产生,经排查是因为桶开启了公有读写,任何人都可以对桶进行读写操作。
xinjwang王健
2022/04/21
2K0
安排!国内首个对象存储攻防矩阵,护航数据安全
前言 对象存储是云厂商提供的一种用来存储海量文件的分布式存储服务,可用于大规模存储非结构化数据。因为其具有高扩展性、低成本、可靠安全等优点,所以成为许多IT产业向云原生的开发和部署模式转变过程中不可或缺的一部分。 随着云上业务的蓬勃发展,作为云原生的一项重要能力,对象存储服务面临着一系列的安全挑战。纵观近些年来的云安全漏洞,与对象存储服务相关的数据泄露事件比比皆是,以2017美国国防部承包商数据泄露为例: “Booz Allen Hamilton公司(提供情报与防御顾问服务)在使用亚马逊S3服务器存储政
云存储
2021/11/10
2.3K0
轻量对象存储 LighthouseCOS实践
如今互联网时代在高速发展,对网站的访问速度越来越高了,往往在图片加载的时候,会遇到卡顿、超时、缓慢的情况产生,从而需要将大量的文本类资源(如css、html、图片、txt文本)都可以通过云储存为商户实现了快捷稳定的服务。
用户10585271
2024/02/13
6.7K8
轻量对象存储 LighthouseCOS实践
使用腾讯云SCF实现COS费用封顶的最佳实践
腾讯云COS对象存储,在使用的过程中,为了降低开发成本或单纯的出于“便捷”的考虑,往往将存储桶设置为公有读状态。但这也埋下了巨大的安全风险的种子,在各种流量盗刷场景下,会快速吸干账户余额,正可谓“公有一时爽,盗刷就破产”。
wainsun
2023/04/05
11.9K1
使用腾讯云SCF实现COS费用封顶的最佳实践
腾讯云主机安装COSFS工具并使用COS对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
yuanfan2012
2021/01/28
3.9K0
【腾讯云顾问产品白皮书】重磅发布
随着云计算技术的快速发展,企业上云已成为推动业务创新和发展的重要手段。在这个过程中,构建一个高效、稳定、安全的云上架构成为企业面临的关键挑战。腾讯云卓越架构框架(Tencent Cloud Well-Architected Framework)旨在为企业提供一套全面的设计理念,帮助客户解决业务上云后的关键问题。
Smart Advisor
2024/08/20
4411
【腾讯云顾问产品白皮书】重磅发布
WordPress使用腾讯云对象存储COS进行静态资源CDN加速
个人博客目前使用的腾讯云服务器只有1M带宽,如果文章里图片多一些的话加载速度会明显变慢,解决这个问题除了升级带宽最好的办法就是将博客进行动静分离来加速图片加载。今天将博客使用腾讯云对象存储COS进行静态资源CDN加速布置方法写出来,做一个简单的教程,给需要的朋友参考。
聚优云惠
2019/12/25
6.2K0
推荐阅读
相关推荐
对象存储COS × 云顾问:安全管理重磅升级,守护数据安全!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档