hive教程:启动hiveserver2,通过jdbc方式访问hive

介绍

为了让 java 程序可以连接 hive,执行sql,需要配置、启动 hiveserver2

修改 hive-site.xml

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

<!-- 指定 hiveserver2 连接的 host -->
<property>
	<name>hive.server2.thrift.bind.host</name>
	<value>localhost</value>
</property>
<!-- 指定 hiveserver2 连接的端口号 -->
<property>
	<name>hive.server2.thrift.port</name>
	<value>10000</value>
</property>

修改 core-site.xml

允许用 root 用户登录hive,否则下面用 beeline 客户端连接不上hive

执行下面命令:

vim $HADOOP_HOME/etc/hadoop/core-site.xml

增加下面内容:

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

重启hadoop

停止:

stop-dfs.sh
stop-yarn.sh

启动:

start-dfs.sh
start-yarn.sh

启动 metastore

依赖 metastore 服务

hive --service metastore

启动 hiveserver2 服务(前台方式)

hive --service hiveserver2

或者

hiveserver2

启动 beeline 客户端连接hive

beeline -u jdbc:hive2://localhost:10000 -n root

解释:

  • root 登录,在上面 core-site.xml 配置

执行结果如下:

执行命令

show tables;

执行结果如下:

启动 hiveserver2 服务(后台方式)

使用前台方式启动服务,窗口不能关闭,可以用后台方式启动

nohup hive --service hiveserver2 2>&1 &

解释:

  • nohup: 放在命令开头,表示不挂起,也就是关闭终端进程也继续保持运行状态

  • /dev/null:是 Linux 文件系统中的一个文件,被称为黑洞,所有写入改文件的内容 都会被自动丢弃

  • 2>&1: 表示将错误输出 重定向 到标准输出上
    第一个2表示错误输出,另外0表示标准输入,1表示标准输出

  • &: 放在命令结尾,表示后台运行

一般会组合使用: nohup [xxx 命令操作]> file 2>&1 &,表示将 xxx 命令运行的结 果输出到 file 中,并保持命令启动的进程在后台运行。

执行结果:

[1] 24742
[root@hadoop1 ~]# nohup: 忽略输入并把输出追加到"nohup.out"

敲回车后,就可以继续输入命令

只能通过 kill 关闭

后台方式运行,只能通过 kill关闭

先执行 jps 查看java进程,如下:

7792 NameNode
8209 SecondaryNameNode
8514 ResourceManager
21122 RunJar
7957 DataNode
30614 Jps
89234 RunJar
8680 NodeManager

metastore 和 hiveserver2都显示RunJar ,此时不能辨别谁是谁

然后通过 kill 命令关闭:

kill -9 21122
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值