前几天初次接触Hive,需要连接hiveserver2进行一些操作,发现问题似乎并不是很简单,查了好多资料才解决了问题,特做记录。
操作之前做必要假设:
- 保证Hadoop(单机或者伪分布式模式)安装无误,运行Hadoop namenode进程的用户名为
hadoopuser
- Hive安装和配置无误,能够正常使用Hive CLI
下面正式开始
修改配置文件
- 编辑Hadoop的
core-site.xml
文件:
在配置文件末尾加上以下内容
<property>
<name>hadoop.proxyuser.hadoopuser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoopuser.groups</name>
<value>*</value>
</property>
其中,hadoopuser
为上面提到的运行Hadoop namenode进程的用户名。
- 编辑Hive的
hive-site.xml
在配置文件末尾加上以下内容
<property>
<!-- hiveserver2用户名 -->
<name>beeline.hs2.connection.user</name>
<value>hive2</value>
</property>
<property>
<!-- hiveserver2密码 -->
<name>beeline.hs2.connection.password</name>
<value>hive2</value>
</property>
<property>
<!-- hiveserver2端口 -->
<name>beeline.hs2.connection.hosts</name>
<value>localhost:10000</value>
</property>
- 重启Hadoop
测试配置是否成功
启动hiveserver2
$ $HIVE_HOME/bin/hiveserver2
连接方式一
使用beeline连接hiveserver2
$ $HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000;auth=hive2;password=hive2
这里的用户名hive2
和密码hive2
自然便是前面在hive的配置文件hive-site.xml
中配置的用户名和密码啦
连接方式二
先启动beeline
$ $HIVE_HOME/bin/beeline
然后在beeline中连接hiveserver2:
beeline> !connect jdbc:hive2://localhost:10000
接着输入hive用户名和密码即可。
假装总结:
怎么说呢,这篇博客质量非常一般,很不符合我追根问底的性格,不说为何直接给配置,但是为什么还要写出来呢?因为我发现盲目追求质量,对每一个概念都解释说明得比较清楚确实很花时间,所以导致我最近虽然有很多想写的但是却不敢写出来。一方面是怕自己写得不好,误导别人,一方面是确实没有太多时间打磨(也可能是我太懒了,蛤蛤蛤蛤)。
不过细细一想好像违背了自己当初记录工作、学习中的小事的初衷。所以我单方面决定以后的博客就随意一点啦,想写啥写啥(???),不过也会穿插一些经过自己仔细打磨的”私货”。
所以要是有哪里表述得不对的地方还请大家多多包含,也欢迎各位不吝赐教
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。转载请注明: 作者staneyffer,首发于我的博客,原文链接: https://chengfy.com/post/12