Hive 使用mysql存储元数据,开启多窗口会话

现象:

bin/hive这个交互性命令行不能同时开多个,开第二个就报错了

原因

hive中无论是创建的 数据库还是表 ,这些元数据metaStore需要存储
默认情况下存储在Derby数据库里面的,属于嵌入式数据,每次仅仅支持一个会话,

解决

使用支持多个会话的数据,推荐MySQL存储元素(官方推荐

(1)创建配置文件
touch hive-site.xml
注意:如果在linux中直接使用vi/vim直接修改没问题,但是如果使用linux远程连接工具如,notepad++等打开编辑
在这里插入图片描述
这是我们需要的换行,解决,现在linux中使用vi顺便编辑,然后在使用notepad++打开编辑就没事了。
(2)修改配置

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://主机名/metaStore?createDatabaseIfNotExist=true</value>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>root</value>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>123456</value>
	</property>
</configuration>

(3)上传mysql数据库连接驱动到lib目录下

测试

(1)将metastore_db和derby.log删除
(2)启动bin/hive
(3)效果:
a):可以启动多个bin/hive交互性命令行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值