专栏首页小小挖掘机数据分析EPHS(3)-来试试Hive的可视化吧~

数据分析EPHS(3)-来试试Hive的可视化吧~

1、配置hive-site.xml

说到可视化,其实就是通过一个客户端实现远程登录,并进行相关的操作。

这里需要使用hive中的HiveServer2服务,使用该服务相当于在hive的机器上启动一个server,而客户端可以通过ip + port的方式对其进行访问,然后,就可以通过客户端来实现我们可视化的需求。

所以,咱们先来配置一下ip和port,当然还有用户名和密码。打开hive-site.xml文件,修改下面几项:

设置访问ip,这里你可以自己设置相应的ip:

<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>192.168.0.107</value>
    <description>Bind host on which to run the HiveServer2 Thrift service.</description>
  </property>

设置访问端口,一般设置为10000:

<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
  </property>

设置访问用户名和密码:

<property>
    <name>hive.server2.thrift.client.user</name>
    <value>sxw</value>
    <description>Username to use against thrift client</description>
  </property>
  <property>
    <name>hive.server2.thrift.client.password</name>
    <value>0845</value>
    <description>Password to use against thrift client</description>
  </property>

这样,通过客户端链接hive的地址就确定了:

jdbc:hive2://192.168.0.107:10000/

2、启动hiveserver2服务并验证

配置好之后,咱们首先启动hiveserver2服务,打开两个终端,并切换到hive安装路径下的bin路径下面,第一个终端下执行:

hive --service metastore &

然后,在第二个终端下执行(有没有nohup都行):

nohup hive --service hiveserver2 &

来验证一下我们的服务有没有启动,分三步走:

1)使用jps命令查看进程:

2)检查10000端口:

在Mac上使用如下命令:

 lsof -i tcp:10000

看到如下:

这个地方一定要注意检查,因为我就是在这个地方卡了好久,总是连接不上,原因就是这里我有另一个进程也是10000端口,一定要把这个多于的进程干掉:

3)使用自带的beeline验证连接是否成功

启动一个新的终端并切换到hive安装路径下的bin路径下面,输入beeline:

这里也许你会看到一堆乱七八糟的输出:

这是因为slf4j的包冲突了,并不影响,如果不想看到的话,把hive安装路径下lib目录中的jar包删掉就行了:

好了,回到正题,在beeline中输入:

 !connect jdbc:hive2://192.168.0.107:10000/

接下来输入用户名和密码,正常情况下,你会看到报错:

这里你就需要去修改hadoop里面的配置文件core-site.xml,添加:

<property>
    <name>hadoop.proxyuser.meituan_sxw.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.meituan_sxw.groups</name>
    <value>*</value>
</property>

其中,这里hadoop.proxyuser.meituan_sxw.hosts中的meituan_sxw是你需要修改的的,因为你看报错中也是说的User: meituan_sxw is not allowed to impersonate。

修改之后,需要重启hadoop服务,以及hiveserver2。此时再来验证一下:

连接成功!

3、使用DBVisualizer客户端链接Hive

接下来,我们就要使用客户端来链接hive了,这里我们使用DBVisualizer。

先下载两个东西:

第一个是客户端安装包:https://www.dbvis.com 第二个是驱动jar包:https://github.com/timveil/hive-jdbc-uber-jar/releases/tag/v1.0-2.4.0

安装DBVisualizer客户端。安装成功后,按照如下的步骤链接hive:

1)打开DbVisualizer 偏好设置 (“DbVisualizer” > “Preferences”),添加如下语句后,重启DbVisualizer。

-Dsun.security.krb5.debug=true
-Djavax.security.auth.useSubjectCredsOnly=false

如图所示:

2)在管理器对话框点击“Tools”> “Driver Manager…”,点击HIVE。在“Driver File Paths”中将之前下载的“hive jdbc jar”包导入。

3)创建新连接,点击“Database”> “Create Database Connection”

配置好之后,点击connect进行链接,连接成功:

4、编写Sql进行测试

但现在我们的hive表里面什么东西都是没有的,先通过spark导入数据进去,相关的代码查看咱们第二篇的文章:数据分析EPHS(2)-SparkSQL中的DataFrame创建

当我们创建iris表并导入数据后,可以看到客户端这里也同步了:

可以查看数据:

编写sql语句,首先点击上方的绿色三角,接下来编写一条hive sql语句并执行:

成功执行!

本文分享自微信公众号 - 小小挖掘机(wAIsjwj)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 要强大的“黑匣子”,还是“可解释”的机器学习?| 清华AI Time激辩

    要不要用准确性换可解释性?这可能是许多资源有限的创业公司,在技术研发中面临的重要问题,同时也是机器学习可解释性研究中的重要议题。

    数据派THU
  • spring boot 整合mybatis 提示Invalid bound statement 解决记录

    在spring boot 整合 mybatis 的时候提示。org.apache.ibatis.binding.BindingException: Invali...

    凯哥Java
  • 如何使KVM虚拟机的CPU和物理CPU一模一样?

    关于CPU型号的定义: libvirt 对CPU的定义提炼出标准的几种类型在 /usr/share/libvirt/cpu_map.xml 可以查到     ...

    力哥聊运维与云计算
  • KVM虚拟化网络优化技术总结

    KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。

    力哥聊运维与云计算
  • hp服务器ilo批量配置脚本

    hp的ilo是一个非常方便的带外管理工具,在平时使用的时候,经常有大量的hp服务器需要配置ilo,下面是我下的一个脚本,可以批量的完成hp服务器ilo配置。

    力哥聊运维与云计算
  • HPILO管理经验二则

    hp ILO可以远程管理服务器,非常方便,但是hp ILO在web管理界面,没有重启的选项,如果需要重启ilo,可以使用以下方法: 一 服务器物理断电再加电,需...

    力哥聊运维与云计算
  • 微信小程序-HTML富文本解析

    在最近微信小程序开发过程中,遇到一些文章内容是HTML富文本的,但是偏偏微信小程序本身是支持HTML标签的,所以我们在解析内容的时候就需要将内容中的HTML标签...

    凯哥Java
  • 原生——ajax

    什么是Ajax?(前后端数据交互) Asynchronous JavaScript and XML(异步JavaScript和XML)

    FinGet
  • 网卡passthrough在kvm虚拟机的配置方法

    04:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controll...

    力哥聊运维与云计算
  • KVM虚拟机cpu pinning实战

    使用virsh capabilities可以查看物理机CPU的详细信息,包括物理CPU个数,每个CPU的核数,是否开了超线程。

    力哥聊运维与云计算

扫码关注云+社区

领取腾讯云代金券