为什么linux的hive无法启动hiveserver2
需要先启动Hive的thriftserver:hiveserver2,然后在beelin命令行中通过!connect jdbc:hive2://localhost:10000 scott tiger org.apache.hive.jdbc.HiveDriver命令来连接Hive.
hiveserver2启动不起来 hiveserver2启动不了
Hive的启动与关闭
可以通过 ps -ef|grep hive 来看hive 的端口号,然后kill 掉相关的进程。
用来启动metastore
用来启动hiveserver2
可以通过查看日志,来确认是否正常启动。
注意!如果 hiveserver2 不启动,jdbc将无法正常连接
[Hive] - Beeline 偶发 Unable to read HiveServer2 uri from ZooKeeper 问题
用户有大量的并发 beeline hive sql 任务,偶发 Unable to read HiveServer2 uri from ZooKeeper 报错。
hive 版本:hdp 1.2.1
修改 beeline connect url 增加 retries。
beeline url 修改前:
beeline url 修改后 :
通过阅读源码,hiveserver2 连接步骤大致如下:
1)获取连接 url,如果是 serviceDiscoveryMode=zooKeeper ,动态的方式获取真正的连接信息与配置
2)通过 ZK 获取 hiveserver2 所有节点,对应的路径为/hiveserver2/。路径格式为: "/" + zooKeeperNamespace :这个 zooKeeperNamespace 就是连接串里面配置的 hiveserver2。
3)从 list 中随机取一个 Znode,获取 zk 中 Znode 的值
4)解析 url ,获取真正的 hiveserver2 的地址与端口等信息
5)创建连接,支持重试
问题在于:
一个小建议:遇到此类问题,直接看源码是最好的, 不要去网上瞎找。
Hive 3.x 的版本请注意这个 issue: ,也可能会导致随机的失败
【平台运维】Hive ThriftServer报错解决
处理了一个问题,记录一下
通过DBVisualizer连接HiveServer2,报错:
org.apache.thrift.transport.TTransportException: Software caused connection abort: socket write error
查了一下发现是用户用的hive版本和hive driver驱动版本不一致,解决步骤:
简单记录一下DBVisualizer配置HiveServer2的方法:
连接hiveserver2-Hive用户配置
前几天初次接触Hive,需要连接hiveserver2进行一些操作,发现问题似乎并不是很简单,查了好多资料才解决了问题,特做记录。
操作之前做必要假设:
下面正式开始
其中, hadoopuser 为上面提到的运行Hadoop namenode进程的用户名。
使用beeline连接hiveserver2
这里的用户名 hive2 和密码 hive2 自然便是前面在hive的配置文件 hive-site.xml 中配置的用户名和密码啦
先启动beeline
然后在beeline中连接hiveserver2:
接着输入hive用户名和密码即可。
怎么说呢,这篇博客质量非常一般,很不符合我追根问底的性格,不说为何直接给配置,但是为什么还要写出来呢?因为我发现盲目追求质量,对每一个概念都解释说明得比较清楚确实很花时间,所以导致我最近虽然有很多想写的但是却不敢写出来。一方面是怕自己写得不好,误导别人,一方面是确实没有太多时间打磨(也可能是我太懒了,蛤蛤蛤蛤)。
不过细细一想好像违背了自己当初记录工作、学习中的小事的初衷。所以我单方面决定以后的博客就随意一点啦,想写啥写啥(???),不过也会穿插一些经过自己仔细打磨的"私货"。
所以要是有哪里表述得不对的地方还请大家多多包含,也欢迎各位不吝赐教 :smile:
hive metastore database is not initialized.怎么解决
最好先启动metasotre然后再启动hiveserverhive--servicemetastore-----------StartupHiveEmbeddedhive--servicehiveserver-----------StartupHiveStandalone(如果metastore配置成remote方式那就应该把metastore也启动)测试standalone,必须用remotemysql那种设置howtoconfigeration,prefertohive--servicehiveserver2---forhive2HiveServercannothandleconcurrentrequestsfrommorethanoneclient.ThisisactuallyalimitationimposedbytheThriftinterfacethatHiveServerexports,andcan'tberesolvedbymodifyingtheHiveServercode.HiveServer2isarewriteofHiveServerthataddressestheseproblems,startingwithHive0.11.0hadoopjar/opt/mapr/hadoop/hadoop-0.20.2/hadoop-0.20.2-dev-examples.jarwordcount/user/root/wcin/user/root/wcout1