Hive的metastore和hiveserver2服务

1.Hive的metastore服务

  1. Metadata概念:
    元数据包含用Hive创建的database、table等的元信息。元数据存储在关系型数据库中。如Derby、MySQL等。
  2. Metastore作用:
    客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore 服务即可。

  1. 启动metastore服务
nohup /opt/hive/bin/hive --service metastore &

启用metastore服务,资源占用率会下降,查询速度更快。

2.Hive的hiveserver2服务

使用hiveserver2服务最大的好处就是可以把hive启动为一个后台服务,只有启动为后台服务,才能让jdbc/odbc等程序去连接hive

  1. Hiveserver和beeline
    下面使用的hive-2.3.5版本中,是需要再hadoop集群中做如下修改,否则无法使用
    修改hadoop集群的hdfs-site.xml文件,加入一条配置信息,表示启动webhdfs
     
	dfs.webhdfs.enabled     
	true
  
  1. 修改hadoop集群的core-site.xml配置文件,加入两条配置信息,表示设置hadoop的代理用户,配置如下:表示任何一个hive的客户端节点上,任何用户都可以访问


     
	hadoop.proxyuser.root.hosts     
	*
  
     
	hadoop.proxyuser.root.groups    
    * 

  1. 配置完记得要重启整个hdfs集群和启动hiveserver2服务
 nohup /opt/hive/bin/hive --service hiveserver2 &
 or
 nohup   /opt/hive/bin/hive --service hiveserver2  2>/opt/hive/hiveserver2.err &

启动后,我们可以用beeline客户端连接一下,可以看到之前我们创建的数据库,如下图所示:
Hive的metastore和hiveserver2服务_第1张图片

3 HiveServer2 的 Web UI

除了编程语言本身的报错之外,hive的log日志的信息更加详细,有利于寻找错误的真正的原因,有个web界面形式的hive程序,查看 log 日志将是十分高效的!

没错的,Hive从2.0版本开始,为HiveServer2提供了一个简单的WEB UI界面,界面中可以直观的看到当前链接的会话、历史日志、配置参数以及度量信息。

在hive-site.xml配置文件中添加以下配置信息


        hive.server2.webui.host
        wyl01.com
    
 
    
        hive.server2.webui.port
        10002
    

不过如果不配置上述内容,理论上也是可以看到hive的web UI页面,我就是在没配置的情况下,启动hive服务后就可以在页面中打开
Hive的metastore和hiveserver2服务_第2张图片

你可能感兴趣的:(Hive)