手把手教你搭建Hive Web环境

简介:

了解Hive的都知道Hive有三种使用方式——CLI命令行,HWI(hie web interface)浏览器 以及 Thrift客户端连接方式。

为了体验下HWI模式,特意查询了多方的资料,都没有一个完整的部署方案,经过一下午的踩坑,这里特意总结一下,希望为后人节省点时间。

先放个图兴奋一下!

参考资源

文档资源

各个组件

  • hive 2.1.0
  • hadoop 2.7.3
  • jdk 1.8.0
  • ant 1.9.7

第一步,打war包

按照上面的链接,下载对应版本的src文件,首先解压文件:

tar -zxvf hive-2.1.0-src.tar.gz

然后进入目录${HIVE_SRC_HOME}/hwi/web,执行打包命令:

jar -cvf hive-hwi-2.1.0.war *

得到hive-hwi-2.1.0.war文件,复制到hive下的lib目录中。

cp hive-hwi-2.1.0.war ${HIVE_HOME}/lib

修改配置文件

修改hive的配置文件hive-site.xml(这个一般是你自己创建的,有可能是创建空的、也有可能是从hive-default.xml.template来的)

  <property>
    <name>hive.hwi.listen.host</name>
    <value>0.0.0.0</value>
    <description>监听的地址</description>
  </property>
  <property>
    <name>hive.hwi.listen.port</name>
    <value>9999</value>
    <description>监听的端口号</description>
  </property>
  <property>
    <name>hive.hwi.war.file</name>
    <value>lib/hive-hwi-2.1.0.war</value>
    <description>war包所在的地址,注意这里不支持绝对路径,坑!</description>
  </property>

复制tools.jar

不知道为什么,从很久以前的版本就有这个问题。找tools.jar一直找不到,所以需要手动复制一下:

cp ${JAVA_HOME}/lib/tools.jar ${HIVE_HOME}/lib

安装并配置ANT

Hive Web UI内部是需要Ant来进行编译的,所以需要事先安装ant。去上面提供的第二个网址链接中,下载最新版本的ant。

解压缩:

tar -zxvf apache-ant-1.9.7-bin.tar.gz

复制到/usr下

mv apache-ant-1.9.7 /usr

可以改个名字

mv apache-ant-1.9.7 ant-1.9.7

配置/etc/profile配置文件

vim /etc/profile
...
在最后面添加ant的路径
export ANT_HOME=/usr/ant-1.9.7
export PATH=$PATH:$ANT_HOME/bin
...

最后别忘记执行配置文件:

source /etc/profile

输入ant -version验证下ant是否装成功。

启动

上面的步骤都配置完,基本就大功告成了。进入${HIVE_HOME}/bin目录:

hive --service hwi

上面的命令会导致输出的信息直接打到控制台,推荐后台进程启动。

nohup bin/hive --service hwi > /dev/null 2> /dev/null &

访问:

前面配置了端口号为9999,所以这里直接在浏览器中输入:

localhost:9999/hwi

就能访问到web 界面了!

如果看不到结果,就多刷新几次~

使用的方法,就是创建一个session,然后在session里面去执行语句。

本文转自博客园xingoo的博客,原文链接:手把手教你搭建Hive Web环境,如需转载请自行联系原博主。
相关文章
|
Java
搭建Java Web开发环境
搭建Java Web开发环境
153 0
|
5月前
|
JSON 前端开发 JavaScript
|
7月前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
76 0
|
4月前
|
SQL 安全 数据库
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
795 1
|
5月前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
5月前
|
前端开发 JavaScript
【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
|
6月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
5月前
|
网络安全 数据安全/隐私保护 iOS开发
【Mac os】如何在服务器上启动Jupyter notebook并在本地浏览器Web端环境编辑程序
本文介绍了如何在服务器上启动Jupyter Notebook并通过SSH隧道在本地浏览器中访问和编辑程序的详细步骤,包括服务器端Jupyter的启动命令、本地终端的SSH隧道建立方法以及在浏览器中访问Jupyter Notebook的流程。
266 0
|
7月前
|
存储 Apache 文件存储
在Apache环境下为Web网站增设访问控制:实战指南
在Apache服务器上保护网站资源涉及启用访问控制模块(`mod_authz_core`和`mod_auth_basic`),在`.htaccess`或`httpd.conf`中设定权限,如限制对特定目录的访问。创建`.htpasswd`文件存储用户名和密码,并使用`htpasswd`工具管理用户。完成配置后重启Apache服务,访问受限目录时需提供有效的用户名和密码。对于高安全性需求,可考虑更复杂的认证方法。【6月更文挑战第20天】
492 4
|
8月前
|
前端开发 API Docker
web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口
web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口
102 0